0

FFmpeg で HLS/AppleHTTP ストリームを受信して​​います。ソース ストリームは次のようになります。

Input #0, hls,applehttp, from 'http://example.com/hls/index.m3u8':
   Duration: 00:00:00.09, start: 42870.540944, bitrate: 91 kb/s
   Program 0
   Metadata:
      variant_bitrate : 0
   Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 12.50 fps, 25 tbr, 90k tbn, 50 tbc
   Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 114 kb/s
   Stream #0:2: Unknown: none ([21][0][0][0] / 0x0015)

この種のストリームを FFmpeg でストリーム サーバーに転送する必要があります。私の問題は、エンコードせずにFFmpegを使用してCPU使用率が高い方法です(-ビデオコピー-オーディオコピーだと思います)。次に、ストリームを受信して​​ HLS ストリームとしてユーザーに送信するのに最適な (CPU 使用率が低い) ストリーミング サーバー ソフトウェアはどれですか?

4

2 に答える 2

5

HLSはHTTP ライブ ストリーミングの略です。クライアントに送信するための特別なサーバーは必要ありません。Nginx のような通常の Web サーバー (タグの 1 つ) だけです。

できるよ:

ffmpeg -i http://example.com/hls/index.m3u8 -c copy /path/to/web/dir/index.m3u8

このコマンドはプレイリストを作成/path/to/web/dirし、Web サーバーのドキュメント ルートにあるセグメントをコピーします。クライアントは新しい URL のみを必要とします。

入力プレイリストが複数のバリアント ストリームを含むマスター プレイリストである場合、事態はさらに複雑になります。この場合、個々のストリームをすべて別のディレクトリにキャプチャし、別のストリームを再グループ化するために新しいマスター プレイリストを作成する必要があります。

于 2015-08-13T08:03:24.923 に答える