PHP ialah bahasa pengaturcaraan sebelah pelayan yang biasa digunakan. Apabila membangunkan tapak web dan aplikasi, kadangkala perlu untuk menukar kod atau menukar video supaya ia boleh dimainkan pada peranti dan platform yang berbeza. Artikel ini akan memperkenalkan beberapa transkod video dan teknologi penukaran dalam PHP untuk rujukan.
1. FFmpeg
FFmpeg ialah alat pemprosesan video dan audio sumber terbuka yang menyokong transkod dan penukaran video dalam berbilang format. Menggunakan FFmpeg dalam PHP boleh dicapai dengan melaksanakan baris arahan. Berikut ialah contoh penggunaan FFmpeg untuk menukar video kepada format MP4:
$command = "/usr/local/bin/ffmpeg -i input.avi -codec:v libx264 -profile:v main -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -s 480x360 -threads 0 -codec:a aac -b:a 128k output.mp4"; exec($command);
Arahan di atas menukar input.avi kepada format MP4 output dan membuat beberapa tetapan parameter, seperti jenis pengekodan video, resolusi video, Jenis pengekodan audio, dsb. Boleh diubah suai mengikut keperluan tertentu.
2. HandBrake
HandBrake ialah satu lagi alat penukaran video popular yang juga boleh dipanggil melalui PHP. HandBrake menyokong pelbagai format input dan output serta boleh melakukan operasi seperti pengekodan video, pemampatan dan penukaran. Berikut ialah contoh penggunaan HandBrake untuk menukar video kepada format MKV:
$command = "/usr/local/bin/HandBrakeCLI -i input.avi -o output.mkv --preset-import-file ./settings.json --preset "My Preset""; exec($command);
Arahan di atas menukar input.avi kepada format MKV output dan menggunakan tetapan penukaran pratetap. settings.json ialah fail JSON yang mengandungi set konfigurasi pratetap yang boleh dieksport dalam HandBrake. Boleh diubah suai mengikut keperluan tertentu.
3. Zencoder
Zencoder ialah perkhidmatan pemprosesan video awan yang boleh melakukan operasi transkod, penukaran dan pemampatan video. Menggunakan Zencoder dalam PHP boleh dipanggil melalui API. Berikut ialah contoh menggunakan Zencoder untuk menukar video kepada format WebM:
$job = Zencoder::jobs()->create([ 'input' => 's3://mybucket/myinputfile.avi', 'outputs' => [ [ 'label' => 'webm', 'url' => 's3://mybucket/myoutputfile.webm', 'format' => 'webm', 'audio_codec' => 'vorbis', 'video_codec' => 'vp8', 'width' => 640, 'height' => 360, 'public' => true ] ] ]);
Kod di atas menggunakan Zencoder untuk mencipta tugas penukaran video untuk menukar fail input (s3://mybucket/myinputfile.avi) kepada fail output ( s3://mybucket/myoutputfile.webm) dan gunakan format WebM pratetap untuk penukaran. Boleh diubah suai mengikut keperluan tertentu.
Ringkasan
Di atas memperkenalkan beberapa teknik untuk transkod dan penukaran video dalam PHP, termasuk menggunakan alatan seperti FFmpeg, HandBrake dan Zencoder. Setiap alat ini mempunyai ciri, kebaikan dan keburukan sendiri, dan boleh dipilih berdasarkan keperluan tertentu. Transkod dan penukaran video ialah fungsi yang sangat penting untuk membangunkan tapak web dan aplikasi, yang boleh meningkatkan pengalaman pengguna dan kesan main balik sambil mengurangkan beban pelayan dan penggunaan trafik.
Atas ialah kandungan terperinci Panduan Teknikal untuk Transkod dan Penukaran Video dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!