PHP は、Web サイト開発および動的な Web ページの作成によく使用されるスクリプト言語です。ただし、Php はビデオ変換にも使用できます。この記事では、PHP を使用してビデオファイルを MP4 形式に変換する方法を学びます。
まず、いくつかの概念を理解する必要があります。ビデオ ファイルは複数のフレームで構成されており、各フレームはビデオ サンプリングの瞬間を表します。これらのフレームは特定のシーケンスに圧縮され、特別な形式でファイルに保存されます。ビデオ ファイルの変換には、主に、これらのフレームをデコードし、編集し、新しい形式に再エンコードするプロセスが含まれます。
ビデオ変換を実現するには、FFmpeg と FFprobe という 2 つの PHP ライブラリを使用する必要があります。 FFmpeg は、オーディオとビデオを処理するためのオープンソース ライブラリであり、ビデオのデコード、編集、エンコードを行うための多くの機能を提供します。 FFprobe は、ビデオ ファイルを検出し、情報を抽出するためのツールです。
これら 2 つのライブラリを使用するには、サーバーにインストールする必要があります。これには通常、Linux システムのコマンド ライン インターフェイスを使用する必要があります。これらは次のコマンドでインストールできます:
sudo apt-get install ffmpeg sudo apt-get install ffprobe
インストールが完了したら、PHP を使用してこれら 2 つのライブラリを呼び出し、ビデオ変換操作を実行できます。ビデオ ファイルを MP4 形式に変換する簡単な PHP スクリプトを次に示します。
<?php $ffmpeg_command = '/usr/bin/ffmpeg'; $ffprobe_command = '/usr/bin/ffprobe'; $input_file = 'input_video.mp4'; $output_file = 'output_video.mp4'; // 获取视频信息 $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); ?>
このスクリプトがどのように機能するかを見てみましょう。まず、FFmpeg と FFprobe の場所を指定するために、2 つの変数 $ffmpeg_command と $ffprobe_command を定義しました。次に、入力ファイルと出力ファイルの名前、および出力ファイルの形式 (MP4) を指定します。
次のステップでは、FFprobe を使用して入力ビデオ ファイルの長さを取得します。システム コマンドを使用して FFprobe を実行し、-exec() 関数を通じてコマンドを実行して、出力をキャプチャします。 FFmpeg から取得した継続時間の値は、$duration 変数に格納されます。
最後に、実際のビデオ変換には FFmpeg を使用します。入力ファイルと出力ファイルの名前を指定し、-h264 エンコーダーと -mp3 オーディオ エンコーダーを使用しました。長さをビデオの長さに設定し、-fast プリセットを使用して変換を高速化します。また、変換中に最新のコーデックが使用されるようにするために、-strict 実験的オプションも指定しました。
このように FFmpeg と FFprobe を使用すると、動画ファイルをほぼあらゆる形式に変換し、さまざまな編集作業を行うことができます。このため、PHP はオーディオおよびビデオの編集および処理アプリケーションにとって非常に強力なプラットフォームになります。
以上がPHPを使用してビデオファイルをMP4形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。