Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar fail video kepada format MP4 menggunakan PHP

Bagaimana untuk menukar fail video kepada format MP4 menggunakan PHP

PHPz
PHPzasal
2023-04-10 09:43:3411100semak imbas

PHP ialah bahasa skrip yang biasa digunakan untuk pembangunan tapak web dan mencipta halaman web dinamik. Walau bagaimanapun, Php juga boleh digunakan untuk penukaran video. Dalam artikel ini, kita akan belajar cara menukar fail video kepada format MP4 menggunakan PHP.

Pertama, kita perlu memahami beberapa konsep. Fail video terdiri daripada berbilang bingkai, setiap bingkai mewakili detik pensampelan video. Bingkai ini dimampatkan ke dalam urutan tertentu dan disimpan dalam fail dalam format khas. Menukar fail video terutamanya melibatkan proses menyahkod bingkai ini, mengeditnya, dan kemudian mengekod semulanya kepada format baharu.

Untuk mencapai penukaran video, kita perlu menggunakan dua perpustakaan PHP: FFmpeg dan FFprobe. FFmpeg ialah perpustakaan sumber terbuka untuk memproses audio dan video. Ia menyediakan banyak fungsi untuk menyahkod, mengedit dan mengekod video. FFprobe ialah alat yang digunakan untuk mengesan fail video dan mengekstrak maklumat.

Untuk menggunakan kedua-dua perpustakaan ini, anda perlu memasangnya pada pelayan. Ini biasanya memerlukan penggunaan antara muka baris perintah sistem Linux Anda boleh memasangnya melalui arahan berikut:

sudo apt-get install ffmpeg
sudo apt-get install ffprobe

Selepas pemasangan selesai, kami boleh menggunakan PHP untuk memanggil kedua-dua perpustakaan ini untuk melakukan penukaran video. operasi. Berikut ialah skrip PHP mudah untuk menukar fail video kepada format MP4:

<?php

$ffmpeg_command = &#39;/usr/bin/ffmpeg&#39;;
$ffprobe_command = &#39;/usr/bin/ffprobe&#39;;

$input_file = &#39;input_video.mp4&#39;;
$output_file = &#39;output_video.mp4&#39;;

// 获取视频信息
$cmd = "$ffprobe_command -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $input_file";
exec($cmd, $output, $retval);
$duration = floor($output[0]);

// 转换视频文件
$cmd = "$ffmpeg_command -i $input_file -vcodec h264 -acodec mp3 -shortest -preset fast -strict experimental -t $duration -f mp4 -y $output_file";
exec($cmd, $output, $retval);

?>

Mari lihat cara skrip ini berfungsi. Pertama, kami menentukan dua pembolehubah $ffmpeg_command dan $ffprobe_command untuk menentukan lokasi FFmpeg dan FFprobe. Seterusnya, kami menentukan nama fail input dan output, serta format fail output (MP4).

Dalam langkah seterusnya, kami menggunakan FFprobe untuk mendapatkan tempoh fail video input. Kami menggunakan perintah sistem untuk menjalankan FFprobe, melaksanakan arahan melalui fungsi -exec() dan menangkap output. Nilai tempoh yang diperoleh daripada FFmpeg disimpan dalam pembolehubah $duration.

Akhir sekali, kami menggunakan FFmpeg untuk penukaran video sebenar. Kami menyatakan nama fail input dan output dan menggunakan pengekod -h264 dan pengekod audio -mp3. Kami menetapkan panjang kepada tempoh video dan menggunakan pratetap -fast untuk mempercepatkan penukaran. Kami juga menentukan pilihan percubaan yang ketat untuk memastikan codec terkini digunakan semasa penukaran.

Dengan menggunakan FFmpeg dan FFprobe seperti ini, kami boleh menukar fail video kepada hampir semua format dan melakukan pelbagai operasi penyuntingan. Ini menjadikan PHP sebagai platform yang sangat berkuasa untuk aplikasi penyuntingan dan pemprosesan audio dan video.

Atas ialah kandungan terperinci Bagaimana untuk menukar fail video kepada format MP4 menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn