PHP を使用してビデオのトランスコーディングおよび圧縮機能を実装するにはどうすればよいですか?
インターネットの急速な発展に伴い、ビデオは人々が情報やエンターテイメントを入手する主な方法の 1 つになりました。ただし、ビデオ ファイルのサイズが大きいため、多くの Web サイトでは、ファイル転送速度を上げ、ストレージ容量の使用量を削減するために、ビデオをトランスコードして圧縮する必要があります。この記事では、PHP 言語を使用してビデオのトランスコーディングと圧縮機能を実装する方法を紹介します。
$sourceFile = '原视频文件路径'; $targetFile = '转码后的视频文件路径'; $command = "ffmpeg -i $sourceFile -vcodec libx264 -acodec aac -preset slow -crf 22 $targetFile"; exec($command);
上記のコードでは、$sourceFile
は元のビデオ ファイルのパス、$targetFile
はトランスコードされたビデオ ファイルのパスです。のビデオ ファイル パス。 -vcodec libx264
は、ビデオ エンコードに x264 エンコーダの使用を指定します。-acodec aac
は、オーディオ エンコードに AAC エンコーダの使用を指定します。-preset low
は、ビデオ品質を確保するために、より遅いトランスコーディング速度を使用します。-crf 22
はビデオ品質の圧縮の程度を示し、値が小さいほど品質が高くなります。これらのパラメータを調整することで、必要に応じてトランスコーディングを実行できます。
$sourceFile = '原视频文件路径'; $targetFile = '压缩后的视频文件路径'; $command = "ffmpeg -i $sourceFile -vcodec libx264 -acodec aac -s 640x480 -b:v 500k $targetFile"; exec($command);
上記のコードでは、$sourceFile
は元のビデオ ファイルのパス、$targetFile
は圧縮されたビデオ ファイルのパスです。のビデオ ファイル パス。 -s 640x480
ビデオの解像度を 640x480 ピクセルに指定します。 -b:v 500k
ビデオのビット レートを 500kpbs に指定します。これらのパラメータを調整することで、ビデオ圧縮の程度を制御できます。
$sourceFile = '原视频文件路径'; $targetFile = '转码/压缩后的视频文件路径'; $command = "ffmpeg -i $sourceFile -vcodec libx264 -acodec aac -preset slow -crf 22 $targetFile"; exec($command, $output, $returnVar); if ($returnVar === 0) { echo '视频转码/压缩成功'; } else { echo '视频转码/压缩失败,请检查错误信息:' . implode(" ", $output); }
上記のコードでは、exec()
関数の 3 番目のパラメータ $returnVar
を使用して、コマンドのリターンコード。戻りコードが 0 の場合は実行が成功したことを意味し、それ以外の場合は実行が失敗したことを意味します。 $output
の情報を出力することで、特定のエラー プロンプトを取得できます。
概要:
この記事では、PHP 言語を使用してビデオのトランスコーディングおよび圧縮機能を実装する方法を紹介します。 FFmpeg コマンド ライン ツールを呼び出すことで、ビデオ ファイルをトランスコードおよび圧縮し、必要に応じてビデオの品質とファイル サイズを調整できます。実際の使用では、セキュリティとパフォーマンスの問題にも注意を払い、サーバー リソースの制限を合理的に設定し、ユーザーがアップロードしたファイルを検証する必要もあります。
以上がPHP を使用してビデオのトランスコーディングおよび圧縮機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。