現在の位置: ホーム> 最新記事一覧> PHPのリアルタイムビデオ転送とライブブロードキャスト機能に関する実用的なチュートリアル

PHPのリアルタイムビデオ転送とライブブロードキャスト機能に関する実用的なチュートリアル

M66 2025-08-08

PHPを使用したリアルタイムビデオ転送とライブブロードキャストの基本原則

ネットワークテクノロジーの継続的な進歩により、ライブビデオは主流のメディアコミュニケーション方法になりました。柔軟なWeb開発言語として、PHPはリアルタイムの転送およびビデオのライブブロードキャスト機能をサポートすることもできます。ビデオのリアルタイム転送は、ビデオソースデータをユーザー側にすばやく渡して、動画の再生をスムーズに確保することです。ライブブロードキャスト関数は、ビデオソースをリアルタイムでサーバーにプッシュし、視聴者に配布することです。

PHPはリアルタイムのビデオ転送を実現します

ビデオのリアルタイム転送にはPHPソケットプログラミングが必要であり、ビデオストリームがソケット接続を介して取得および出力されます。次の例コードは、FSOCOPEN関数を介してビデオソースを接続し、データを転送する方法を示しています。

 <?php
$videoSource = 'http://example.com/video_source'; // ビデオソースアドレス

$fp = fsockopen("example.com", 80, $errno, $errstr, 30);

if (!$fp) {
    echo "$errstr ($errno)";
} else {
    $out = "GET /video_source HTTP/1.1\r\n";
    $out .= "Host: example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
        flush();
    }
    fclose($fp);
}
?>

コードでは、ビデオソースアドレスが最初に定義され、次にサーバーへの接続がFSOCOPENを介して確立され、ビデオストリームを取得するためにHTTPリクエストが送信されます。データをループして出力することにより、ビデオストリームのリアルタイム転送が実現されます。

PHPはFFMPEGと組み合わせてライブビデオブロードキャストを実現しました

通常、ライブストリーミング機能には、FFMPEGなどのプロフェッショナルストリーミングメディア処理ツールの助けが必要です。 PHPを介してFFMPEGコマンドを実行すると、ビデオソースをライブブロードキャストサーバーにプッシュする機能を実現できます。例は次のとおりです。

 <?php
$videoSource = 'rtmp://example.com/live/video'; // ビデオソースアドレス
$videoDestination = 'rtmp://example.com/live/destination'; // ライブサーバーアドレス
$ffmpegPath = '/usr/local/bin/ffmpeg'; // FFmpeg実行可能ファイルパス

$cmd = "$ffmpegPath -i $videoSource -c copy -f flv $videoDestination 2>&1";

exec($cmd, $output);

foreach ($output as $line) {
    echo $line . "<br>";
}
?>

このコードでは、PHPはexec関数を介してFFMPEGを呼び出して、ビデオソースをターゲットライブブロードキャストアドレスにプッシュします。使用する前に、サーバーにFFMPEGが正しくインストールされ、パス設定が正しいことを確認してください。

要約します

上記の2つの方法により、PHPはビデオのリアルタイム転送およびライブブロードキャスト機能を効果的に実現できます。ソケットプログラミングを使用してビデオストリームをすばやく転送し、FFMPEGを組み合わせて効率的なライブストリーミングを実現して、さまざまなシナリオのニーズを満たします。実際のビジネスニーズに応じたコードの柔軟な調整と最適化は、安定したスムーズなライブビデオエクスペリエンスを作成できます。