m3u8 ファイルからストリームを記録しようとしています。このパイプラインは機能
gst-launch-0.10 -e souphttpsrc location=(mysrc.m3u8) ! queue ! hlsdemux ! queue ! mpegtsparse ! queue ! mpegtsdemux ! queue ! audio/mpeg ! queue ! filesink location=test.ts
し、(場合によっては) オーディオ ストリームを録音します。
しかし、ビデオを録画することはできません。何をしてもクラッシュします。
私はこのようなことを試しました:
gst-launch-0.10 souphttpsrc location=(mysrc.m3u8) ! queue ! hlsdemux ! queue ! mpegtsparse ! queue ! mpegtsdemux ! queue ! video/x-264 ! queue ! filesink location=test.ts
しかし、それは何もしません。
4695 次
1 に答える
2
廃止され、管理されていない gstreamer 0.10 を使用しています。すべてのユーザーは 1.x シリーズにアップグレードする必要があります。
その警告を考えると、mpegts ストリームを保存するか、その中のストリームを保存するかは明確ではありません。
mpegts ストリームを保存するには、次のようにします。
gst-launch-1.0 http://path/to/your/stream.m3u8 ! hlsdemux ! filesink
HLS プレイリストに複数のビットレートが含まれている場合、hlsdemux はビットレートを切り替える可能性があり、gst-launch-1.0 がこれを処理できないため失敗することに注意してください。(これはデバッグおよびテスト ツールです)。この問題を克服するために、固定の「接続速度」を設定して、常に同じビットレートを使用するようにすることができます。
ビデオ ストリームのみを取得したい場合で、それが H264 であることがわかっている場合は、次を試してください。
gst-launch-1.0 http://path/to/your/stream.m3u8 ! hlsdemux ! tsdemux ! queue ! video/x-h264 ! filesink
後で簡単に使用できるように、次のようなコンテナ形式に保存することをお勧めします。
gst-launch-1.0 http://path/to/your/stream.m3u8 ! hlsdemux ! tsdemux ! queue ! video/x-h264 ! h264parse ! qtmux ! filesink
しかし、私が言ったように、1.x に移行してください。HLS は 0.10 よりも 1.x の方がはるかに優れており、動作するはずです。
于 2014-08-09T12:38:05.133 に答える