PHP での FFmpeg 操作ガイド

王林
リリース: 2023-05-21 10:06:01
オリジナル
5232 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート