ビデオ ファイル処理は、クロップ、圧縮、トランスコーディング、透かしの追加、結合などの操作を含む、最新のネットワーク アプリケーションの重要な部分です。一般的なサーバー側プログラミング言語である PHP を使用して、これらの要件を処理できます。今回はPHPを使って動画ファイルを加工する方法を解説します。
FFMPEG は、ビデオ ファイルとオーディオ ファイルの処理に使用できる強力なオープン ソース ライブラリです。 PHP で FFMPEG を使用するには、最初にそれをインストールする必要があります。
次のコマンドのいずれかを使用してインストールします。
PHP を使用してビデオ ファイルを処理する一般的な方法をいくつか示します:
(1) ビデオ ファイルを圧縮する
FFMPEG を使用すると、ビデオパラメータを変更することでビデオファイルサイズを圧縮できます。以下は PHP のサンプル コードです:
$videoFile = "input.mp4"; //输入视频文件 $outputFile = "output.mp4"; //输出视频文件 $size = '320x240'; //视频分辨率 $bitrate = '256k'; //视频比特率 $cmd = "ffmpeg -i $videoFile -s $size -b:v $bitrate $outputFile"; exec($cmd);
上記のコードは、ffmpeg コマンド ライン プログラムを使用して、入力ビデオ ファイル input.mp4 を出力ビデオ ファイル Output.mp4 に圧縮します。ビデオ解像度は 320x240 で、ビデオビットレートは256kです。
(2) ビデオ ファイルのトリミング
FFMPEG を使用すると、ビデオをトリミングして不要な部分をトリミングできます。以下は PHP のサンプル コードです。
$videoFile = "input.mp4"; //输入视频文件 $outputFile = "output.mp4"; //输出视频文件 $start = '00:00:10'; //开始时间 $duration = '00:00:05'; //持续时间 $cmd = "ffmpeg -i $videoFile -ss $start -t $duration -async 1 $outputFile"; exec($cmd);
上記のコードは、ffmpeg コマンド ライン プログラムを使用して、入力ビデオ ファイル input.mp4 を出力ファイル Output.mp4 に切り出します。開始時間は 10 秒で、持続時間は 5 秒です。
(3) ビデオ ファイルの結合
PHP で FFMPEG を使用すると、複数のビデオ ファイルを 1 つのビデオ ファイルに結合できます。以下は、PHP のサンプル コードです。
$videoFile1 = "input1.mp4"; //输入视频文件1 $videoFile2 = "input2.mp4"; //输入视频文件2 $outputFile = "output.mp4"; //输出视频文件 $cmd = "ffmpeg -i concat:"$videoFile1"|"videoFile2" -acodec copy -vcodec copy $outputFile"; exec($cmd);
上記のコードは、ffmpeg を使用して、入力ビデオ ファイル input1.mp4 と input2.mp4 を出力ビデオ ファイル Output.mp4 にマージします。
(4) ウォーターマークの追加
動画ファイルの著作権を保護するために、ビデオ ファイルにウォーターマークを追加できます。 PHP のサンプル コードは次のとおりです。
$videoFile = "input.mp4"; //输入视频文件 $watermarkFile = "watermark.png"; //水印图像 $outputFile = "output.mp4"; //输出视频文件 $cmd = "ffmpeg -i $videoFile -i $watermarkFile -filter_complex 'overlay=W-w-10:H-h-10' $outputFile"; exec($cmd);
上記のコードは、入力ビデオ ファイル input.mp4 の右下隅に透かし画像を追加し、それを出力ファイル Output.mp4 に保存します。
この記事では、PHP を使用してビデオ ファイルを処理する一般的な方法をいくつか紹介しました。ビデオ ファイル サイズの圧縮、ビデオのトリミング、ビデオ ファイルの結合、透かしの追加など、FFMPEG ライブラリは強力で便利なツールです。これらの操作を実装するときは、メモリの問題を回避し、最適なパフォーマンスを維持するために、大きなビデオ ファイルの処理を考慮する必要があります。
以上がPHP を使用してビデオ ファイルを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。