最近の Web サイトでは、オンラインでビデオを再生することが一般的な機能になっています。この記事では、PHP と FFmpeg を使用して、オンラインで映画やビデオを再生できる基本的なシステムを実装する方法を、環境構築からビデオ プレーヤーの組み込みまでの全プロセスをカバーして紹介します。
まず、ビデオ処理とストリーミング メディア変換用のPHP-FFmpegライブラリをインストールする必要があります。このライブラリは FFmpeg ツールに基づいており、形式変換、ビデオ編集、スクリーンショット、ストリーミング メディア出力などの操作をサポートします。 Composer 経由でインストールできます。
composer require php-ffmpeg/php-ffmpeg
次に、再生する必要があるビデオ ソースを定義します。ビデオ ソースは、サーバーのローカル ファイル パスまたはリモート ビデオの URL です。
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('path/to/video.mp4');
ビデオ ストリームは、再生出力、解像度調整などを制御するために使用されます。次のコードを使用して、ビデオ ストリームを設定し、同期的に出力できます。
$stream = $video->filters()
->resize(new FFMpeg\Coordinate\Dimension(640, 480))
->synchronize();
ストリームを作成した後、ビデオを指定したパスに出力するか、ブラウザに直接プッシュする必要があります。次の例は、 webm形式のファイルを生成する方法を示しています。
$stream->save('path/to/output.mp4', array(
'webm' => true,
'format' => 'webm',
'audioCodec' => 'libvorbis',
'videoCodec' => 'libvpx'
));
最後に、Web ページで HTML5 を使用するタグによりオンライン再生が可能になります。新しく生成されたビデオ ファイルを指すようにsrc属性を設定するだけです。
<video width="640" height="480" controls>
<source src="path/to/output.mp4" type="video/webm">
</video>
上記の手順により、PHP でのオンラインビデオ再生のコア機能が完成しました。ビデオ ソースの作成からプレーヤーの埋め込みに至るまで、プロセス全体が柔軟でスケーラブルです。さらに、トランスコーディング、解像度の選択、ビデオ カバーなどの機能を追加して、再生エクスペリエンスを向上させることができます。