PHP は、一般的に使用されるサーバー側プログラミング言語です。 Web サイトやアプリケーションを開発する場合、さまざまなデバイスやプラットフォームで再生できるようにビデオをトランスコードまたは変換する必要がある場合があります。この記事では、参考のために PHP におけるビデオのトランスコーディングおよび変換テクノロジをいくつか紹介します。
1. FFmpeg
FFmpeg は、複数の形式でのビデオのトランスコーディングと変換をサポートするオープンソースのビデオおよびオーディオ処理ツールです。 PHP で FFmpeg を使用するには、コマンド ラインを実行します。以下は、FFmpeg を使用してビデオを MP4 形式に変換する例です。
$command = "/usr/local/bin/ffmpeg -i input.avi -codec:v libx264 -profile:v main -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -s 480x360 -threads 0 -codec:a aac -b:a 128k output.mp4"; exec($command);
上記のコマンドは、input.avi を出力 MP4 形式に変換し、ビデオ エンコード タイプ、ビデオ解像度、音声エンコーディングの種類など特定のニーズに応じて変更できます。
2. HandBrake
HandBrake は、PHP を通じて呼び出すこともできる、もう 1 つの人気のあるビデオ変換ツールです。 HandBrake はさまざまな入出力形式をサポートし、ビデオのエンコード、圧縮、変換などの操作を実行できます。 HandBrake を使用してビデオを MKV 形式に変換する例を次に示します。
$command = "/usr/local/bin/HandBrakeCLI -i input.avi -o output.mkv --preset-import-file ./settings.json --preset "My Preset""; exec($command);
上記のコマンドは、input.avi を出力 MKV 形式に変換し、プリセットの変換設定を使用します。 settings.json は、HandBrake でエクスポートできる一連のプリセット構成を含む JSON ファイルです。特定のニーズに応じて変更できます。
3. Zencoder
Zencoder は、ビデオのトランスコーディング、変換、圧縮操作を実行できるクラウド ビデオ処理サービスです。 PHP で Zencoder を使用すると、API を通じて呼び出すことができます。以下は、Zencoder を使用してビデオを WebM 形式に変換する例です。
$job = Zencoder::jobs()->create([ 'input' => 's3://mybucket/myinputfile.avi', 'outputs' => [ [ 'label' => 'webm', 'url' => 's3://mybucket/myoutputfile.webm', 'format' => 'webm', 'audio_codec' => 'vorbis', 'video_codec' => 'vp8', 'width' => 640, 'height' => 360, 'public' => true ] ] ]);
上記のコードは、Zencoder を使用してビデオ変換タスクを作成し、入力ファイル (s3://mybucket/myinputfile.avi) を次のように変換します。出力ファイル (s3://mybucket/myoutputfile.webm) を保存し、変換にはプリセットの WebM 形式を使用します。特定のニーズに応じて変更できます。
概要
上記では、FFmpeg、HandBrake、Zencoder などのツールの使用を含め、PHP でビデオのトランスコーディングと変換を行うためのいくつかのテクニックを紹介しました。これらのツールにはそれぞれ独自の特徴、長所と短所があり、特定のニーズに基づいて選択できます。ビデオのトランスコーディングと変換は、Web サイトやアプリケーションの開発にとって非常に重要な機能であり、サーバーの負荷とトラフィック消費を削減しながら、ユーザー エクスペリエンスと再生効果を向上させることができます。
以上がPHP でのビデオのトランスコーディングと変換に関するテクニカル ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。