Cara menggunakan PHP dan FFMPEG untuk memproses dan transkod audio dan video

WBOY
Lepaskan: 2023-06-25 16:48:01
asal
1679 orang telah melayarinya

Dengan perkembangan pesat media audio dan video, kami semakin terdedah kepada fail audio dan video dalam pelbagai format dalam kehidupan dan kerja kami. Walau bagaimanapun, peranti yang berbeza, keadaan yang berbeza dan keperluan yang berbeza mungkin memerlukan fail audio dan video dalam format pengekodan yang berbeza Oleh itu, transkod fail audio dan video telah menjadi keperluan yang amat diperlukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan FFMPEG (codec audio dan video sumber terbuka) untuk memproses dan menukar kod audio dan video.

  1. Pasang FFMPEG

Pertama, kita perlu memasang FFMPEG pada pelayan. Proses pemasangan agak membosankan, tetapi langkah utama adalah seperti berikut:

1.1 Pasang kebergantungan

Pertama, kita perlu memasang perpustakaan yang bergantung kepada FFMPEG. Pada sistem Ubuntu, anda boleh menggunakan arahan berikut untuk memasang:

sudo apt-get update
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
Salin selepas log masuk

1.2 Muat turun FFMPEG

Kemudian, kami perlu memuat turun kod sumber FFMPEG Anda boleh memuat turun versi terkini dari laman web rasmi (https://www.ffmpeg .org), atau gunakan arahan berikut Muat turun:

wget https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar xvf ffmpeg-4.4.tar.gz
Salin selepas log masuk

1.3 Susun dan pasang FFMPEG

Seterusnya, kami perlu menyusun dan memasang FFMPEG Anda boleh menggunakan arahan berikut:

cd ffmpeg-4.4
./configure --enable-shared --disable-static --enable-gpl --enable-libfreetype --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree
make -j8
sudo make install
Salin selepas log masuk

Selepas penyusunan dan pemasangan selesai, kami. boleh menggunakan FFMPEG pada pelayan.

  1. Gunakan PHP untuk memanggil FFMPEG untuk pemprosesan audio dan video

Setelah memahami proses pemasangan FFMPEG, kami boleh mempertimbangkan cara menggunakan PHP untuk memanggil FFMPEG untuk transkod dan memproses fail audio dan video.

2.1 Gunakan fungsi exec untuk memanggil FFMPEG

PHP menyediakan fungsi exec, yang boleh digunakan untuk melaksanakan arahan pada baris arahan sistem. Oleh itu, anda boleh menggunakan fungsi exec dalam PHP untuk memanggil FFMPEG untuk pemprosesan audio dan video. Sebagai contoh, kod berikut boleh menukar fail video dalam format mp4 kepada format avi:

$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);
Salin selepas log masuk

2.2 Gunakan sambungan PHP untuk merangkum FFMPEG

Walaupun FFMPEG boleh dipanggil dengan mudah menggunakan fungsi exec, terdapat risiko keselamatan yang jelas dan sebarang arahan boleh dilaksanakan, oleh itu, penggunaannya tidak disyorkan. Untuk tujuan ini, kami boleh menggunakan sambungan PHP untuk merangkum API FFMPEG untuk memanggil FFMPEG dengan lebih mudah. Dalam PHP, terdapat dua sambungan utama yang boleh digunakan untuk merangkum FFMPEG: sambungan FFMPEG (http://ffmpeg-php.sourceforge.net) dan PHP-FFMpeg (https://github.com/PHP-FFMpeg/PHP- FFMpeg ).

2.2.1 Menggunakan sambungan FFMPEG

sambungan FFMPEG boleh dipasang melalui alat PECL dan boleh dipasang menggunakan arahan berikut:

sudo pecl install ffmpeg
Salin selepas log masuk

Selepas pemasangan selesai, sambungan perlu ditambah pada fail php.ini, yang boleh ditambah dalam fail Seperti berikut:

extension=ffmpeg.so
Salin selepas log masuk

Menggunakan sambungan FFMPEG, anda boleh memanggil API FFMPEG dengan mudah untuk pemprosesan audio dan video. Contohnya, kod berikut boleh menukar fail video dalam format mp4 kepada format avi:

$movie = new ffmpeg_movie("input.mp4");
$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);
Salin selepas log masuk

2.2.2 Menggunakan sambungan PHP-FFMpeg

PHP-FFMpeg ialah sambungan PHP berdasarkan FFMPEG yang menyediakan API bersatu untuk pemprosesan audio Pemprosesan video . Anda boleh menggunakan arahan berikut untuk memasang:

composer require php-ffmpeg/php-ffmpeg
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan kod berikut untuk memproses audio dan video:

$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('video.mp4');
$format = new FFMpegFormatVideoWMV();
$format->setAudioCodec("wmav2")
       ->setVideoCodec("wmv2");
$video->save($format, 'video.wmv');
Salin selepas log masuk
  1. Kesimpulan

Artikel ini memperkenalkan cara menggunakan PHP dan FFMPEG untuk memproses dan transkod audio dan video. Dalam pembangunan sebenar, adalah perlu untuk memilih kaedah yang sesuai untuk pemprosesan audio dan video dan transkod mengikut keperluan tertentu.

Atas ialah kandungan terperinci Cara menggunakan PHP dan FFMPEG untuk memproses dan transkod audio dan video. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!