nginx ストリーミング メディア サーバーの展開に関する記事は数多くありますが、今日はストリームを MP4 ファイルにトランスコードして保存する際にストリームをサーバーにプッシュする方法について説明します。ここでは ffmpeg を使用します。
1. まず注意すべき点は、exec コマンドが使用できないことです。クライアントのプッシュ ストリームが終了すると、呼び出された外部プログラムは自動的に終了します。その結果、ffmpeg は最終的に完全なエンコードを実行できなくなります。このコマンドは、受信したトラフィックを他のアドレスにプッシュする場合にのみ適しています。application hls { live on; hls on; record all; record_path /home/zhanghui/test; #record_interval 10s; #record_append on; hls_path /tmp/app; hls_fragment 5s; # convert recorded file to mp4 format exec_record_done '/usr/local/bin/ffmpeg' -y -i /home/zhanghui/test/livestream.flv -vcodec libx264 -f mp4 /home/zhanghui/test/test_record.mp4 2>>/home/zhanghui/test/test_record.log; }
上記では、nginx サーバー上でマルチメディア ストリームの記録とトランスコーディングを実現する方法を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。