0

我已经创建了一个 Web 服务器并托管了一个用于 HLS 流的 AAC 流,我可以在另一台机器上使用

gst-launch-0.10 souphttpsrc location=http://xx.xx.xx.xx/prog_index.m3u8 ! hlsdemux ! decodebin2 ! alsasink

但是当我这样做时

souphttpsrc location=http://xx.xx.xx.xx/prog_index.m3u8 ! hlsdemux ! aacparse ! faad ! alsasink

我在 hlsdemux 日志中收到此错误,并且没有音频输出,因为 aacparse 没有收到任何数据

0:00:00.066165787  8139 0xb07098f0 INFO                hlsdemux gsthlsdemux.c:734:gst_hls_demux_loop:<hlsdemux0> First fragments cached successfully
0:00:00.066190861  8139 0xb07098f0 DEBUG               hlsdemux gsthlsdemux.c:680:switch_pads: Switching pads (oldpad:(nil))
0:00:00.066450610  8139 0xb07098f0 DEBUG               hlsdemux gsthlsdemux.c:757:gst_hls_demux_loop:<hlsdemux0> Sending new-segment. segment start:0:00:00.000000000
0:00:00.066510536  8139 0xb07098f0 DEBUG               hlsdemux gsthlsdemux.c:796:gst_hls_demux_loop:<hlsdemux0> error, stopping task
Pipeline is PREROLLED ...
0:00:00.066541057  8139 0xb07098f0 DEBUG               hlsdemux gsthlsdemux.c:989:gst_hls_demux_stop_update:<hlsdemux0> Stopping updates thread

我可以使用播放单个片段文件

gst-launch-0.10 filesrc location=fileSequence0.aac ! aacparse ! faad ! alsasink
4

3 回答 3

0

尝试在 hlsdemux 和 aacparse 之间添加 mpegtsdemux ......因为 hlsdemux 获取 uri 直到它获得 .ts 流 nu 将需要 mpegtsdemux 来对其进行解复用。

于 2013-06-20T06:48:34.280 回答
0

尝试添加大写:... ! hlsdemux ! audio/mpeg ! aacparse ! ...

于 2012-10-23T07:00:01.880 回答
0

这是 HLS 音频流的解决方案:

... m3u8 ! hlsdemux ! decodebin ! audioconvert ! autoaudiosink

或者如果您需要再次将其作为 UDP 流式传输:

... m3u8 ! hlsdemux ! decodebin ! audioconvert  ! faac ! audio/mpeg, stream-format=raw ! aacparse ! mpegtsmux ! udpsink host=230.0.0.1 port=5000
于 2016-06-22T13:53:21.843 回答