ホームページ  >  記事  >  バックエンド開発  >  PHP での FFmpeg 操作ガイド

PHP での FFmpeg 操作ガイド

王林
王林オリジナル
2023-05-21 08:46:355181ブラウズ

FFmpeg は、トランスコーディング、編集、クロップ、マージ、アクセラレーション、ボリューム調整などの機能に使用できるコマンド ライン ベースのオーディオおよびビデオ処理ツールで、マルチメディア分野で広く使用されています。 PHP では、FFmpeg のコマンド ライン パラメーターを呼び出すことで、オーディオおよびビデオの処理関数を実装することもできます。この記事ではFFmpegを使ってPHPで音声や動画を操作する方法を紹介します。

1. FFmpeg 拡張機能をインストールする
PHP で FFmpeg を使用するには、最初に FFmpeg 拡張機能をインストールする必要があります。ターミナルに次のコマンドを入力してインストールできます。

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

インストールが完了したら、php.ini ファイルを変更し、拡張子の下にある ffmpeg.so からコメント記号を削除する必要があります。

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

次のコード セグメントを見つけます:

;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

extension=ffmpeg.so 内のコメント記号「;」を削除します。

インストールが完了したら、次のコードを使用して、インストールが成功したかどうかをテストできます:

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

2. FFmpeg を使用します
FFmpeg の基本的な機能は、オーディオと音声を変換することです。さまざまな形式のビデオ ファイルをさまざまな形式に変換する オーディオ ファイルとビデオ ファイルの簡単な使用例をいくつか示します:

  1. mp4 を avi 形式に変換する
    コマンド ラインに次のコマンドを入力します:
ffmpeg -i input.mp4 output.avi

PHP の場合 コマンド ライン パラメーターは、exec() 関数を通じて実行できます。

<?php
  exec('ffmpeg -i input.mp4 output.avi');
?>
  1. ビデオのクロップ
    次のコマンドは、元のビデオの最初の 5 秒をクロップできます。 :
ffmpeg -ss 00:00:00 -t 00:00:05 -i input.mp4 output.mp4

PHP の場合:

<?php
  exec('ffmpeg -ss 00:00:00 -t 00:00:05 -i input.mp4 output.mp4');
?>
  1. ビデオの結合
    次のコマンドは 2 つのビデオ ファイルを 1 つにマージできます:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "concat=n=2:v=1:a=1" output.mp4

PHP の場合:

  1. ビデオ サイズの調整
    次のコマンドにより、ビデオ サイズを 1366*768 に調整できます:
ffmpeg -i input.mp4 -vf scale=1366:768 output.mp4

PHP の場合:

<?php
  exec('ffmpeg -i input.mp4 -vf scale=1366:768 output.mp4');
?>
  1. 音量を調整する
    次のコマンドで音量を半分に下げることができます:
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

PHP の場合:

FFmpeg にはさらに高度な機能があり、学習することができます。公式ドキュメント: https://www.ffmpeg.org/documentation.html

3. セキュリティ リスクの回避
exec() 関数はコマンド ライン パラメータを実行するため、次のようなセキュリティ リスクが発生する可能性があります。注射攻撃として。このリスクを回避するには、次の方法を使用できます。

  1. ユーザー入力を厳密にフィルタリングしてチェックし、入力されたパラメータに悪意のあるコードが含まれていないことを確認します。
  2. escapeshellarg() 関数を使用してパラメータをエスケープし、特殊文字がコマンド ライン コードと間違われるのを防ぎます。
  3. safe_mode を使用して、exec 関数による外部コマンドの実行を禁止します。

つまり、FFmpeg を使用する場合は、Web サイトやサーバーへのリスクを回避するためにセキュリティの問題を慎重に考慮する必要があります。

IV. 概要
この記事では、FFmpeg 拡張機能のインストール、FFmpeg を使用してオーディオとビデオの変換、トリミング、スプライシング、サイズ変更、ボリュームの調整、その他の機能を実現するなど、PHP で FFmpeg を使用する基本的な操作を紹介します。セキュリティ リスクを回避するための推奨事項を提供します。この記事が、PHP で FFmpeg を使用したいと考えている読者に役立つことを願っています。

以上がPHP での FFmpeg 操作ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。