gstreamer录制m3u8流

问题描述 投票:1回答:1

我正在尝试记录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 但是它什么也没做。

gstreamer m3u8 gst-launch
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在1.x上比在0.10中要好得多,它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.