Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan operasi FFmpeg dalam PHP

Panduan operasi FFmpeg dalam PHP

王林
王林asal
2023-05-21 08:46:355155semak imbas

FFmpeg ialah alat pemprosesan audio dan video berasaskan baris arahan yang boleh digunakan untuk transkod, penyuntingan, pemangkasan, penggabungan, pecutan, pelarasan volum dan fungsi lain Ia digunakan secara meluas dalam bidang multimedia. Dalam PHP, kami juga boleh melaksanakan fungsi pemprosesan audio dan video dengan memanggil parameter baris arahan FFmpeg. Artikel ini akan memperkenalkan cara menggunakan FFmpeg untuk mengendalikan audio dan video dalam PHP.

1. Pasang sambungan FFmpeg
Untuk menggunakan FFmpeg dalam PHP, anda perlu memasang sambungan FFmpeg terlebih dahulu. Anda boleh memasukkan arahan berikut dalam terminal untuk memasang:

sudo apt-get install ffmpeg
sudo apt-get install php-ffmpeg

Selepas pemasangan selesai, anda perlu mengubah suai fail php.ini dan mengalih keluar simbol ulasan daripada ffmpeg.so di bawah sambungan.

sudo nano /etc/php/7.2/apache2/php.ini

Cari segmen kod berikut:

;extension=bcmath.so
;extension=bz2.so
;extension=ctype.so
;extension=calendar.so
;extension=dba.so
;extension=exif.so
;extension=ftp.so
;extension=gettext.so
;extension=iconv.so
;extension=json.so
;extension=mysqli.so
;extension=pdo_mysql.so
;extension=shmop.so
;extension=sockets.so
;extension=sqlite3.so
;extension=sysvmsg.so
;extension=sysvsem.so
;extension=sysvshm.so
;extension=xmlrpc.so

Alih keluar simbol ulasan ";" dalam extension=ffmpeg.so.

Selepas pemasangan selesai, anda boleh menggunakan kod berikut untuk menguji sama ada pemasangan berjaya:

<?php
  if(extension_loaded('ffmpeg')) {
    echo 'FFmpeg扩展已安装';
  } else {
    echo '请确认是否安装FFmpeg扩展';
  }
?>

2. Gunakan FFmpeg
Fungsi asas FFmpeg adalah untuk menukar audio dan fail video dalam format berbeza ke dalam format berbeza Fail audio dan video, berikut ialah beberapa contoh penggunaan mudah:

  1. Tukar mp4 kepada format avi
    Masukkan arahan berikut pada baris arahan:
ffmpeg -i input.mp4 output.avi

Dalam PHP Parameter baris arahan boleh dilaksanakan melalui fungsi exec():

<?php
  exec('ffmpeg -i input.mp4 output.avi');
?>
  1. Pangkas video
    Arahan berikut boleh memangkas 5 saat pertama video asal :
ffmpeg -ss 00:00:00 -t 00:00:05 -i input.mp4 output.mp4

Dalam PHP:

<?php
  exec('ffmpeg -ss 00:00:00 -t 00:00:05 -i input.mp4 output.mp4');
?>
  1. Splicing Video
    Arahan berikut boleh menggabungkan dua fail video menjadi satu:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "concat=n=2:v=1:a=1" output.mp4

Dalam PHP:

  1. Ubah saiz video
    Arahan berikut boleh mengubah saiz video kepada 1366*768:
ffmpeg -i input.mp4 -vf scale=1366:768 output.mp4

Dalam PHP:

<?php
  exec('ffmpeg -i input.mp4 -vf scale=1366:768 output.mp4');
?>
  1. Laraskan kelantangan
    Arahan berikut boleh mengecilkan kelantangan sebanyak separuh:
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

Dalam PHP:

FFmpeg mempunyai fungsi yang lebih maju, yang boleh dipelajari melalui dokumentasi rasmi: https: //www.ffmpeg.org/documentation.html

3. Elakkan risiko keselamatan
Memandangkan fungsi exec() melaksanakan parameter baris arahan, ia boleh menyebabkan risiko keselamatan, seperti serangan suntikan. Untuk mengelakkan risiko ini, kaedah berikut boleh digunakan:

  1. Tapis dan semak input pengguna dengan ketat untuk memastikan bahawa parameter yang dimasukkan tidak mengandungi kod hasad.
  2. Gunakan fungsi escapeshellarg() untuk melarikan parameter bagi mengelakkan aksara khas daripada disalah anggap sebagai kod baris arahan.
  3. Gunakan safe_mode untuk menghalang fungsi exec daripada melaksanakan arahan luaran.

Ringkasnya, anda perlu mempertimbangkan dengan teliti isu keselamatan apabila menggunakan FFmpeg untuk mengelakkan risiko kepada tapak web dan pelayan anda.

4. Ringkasan
Artikel ini memperkenalkan operasi asas menggunakan FFmpeg dalam PHP, termasuk memasang sambungan FFmpeg, menggunakan FFmpeg untuk melaksanakan penukaran audio dan video, pemangkasan, penyambungan, saiz semula, melaraskan volum dan fungsi lain, dan menyediakan Syor untuk mengelakkan risiko keselamatan. Saya harap artikel ini dapat membantu pembaca yang ingin menggunakan FFmpeg dalam PHP.

Atas ialah kandungan terperinci Panduan operasi FFmpeg dalam 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