GStreamer:将虚拟音频轨道添加到收到的rtp流

时间:2016-06-19 06:35:13

标签: audio gstreamer rtp hls mux

我正在使用以下方法从我的Raspberry相机启动RTP流:

raspivid -n -vf -fl -t 0 -w 640 -h 480 -b 1200000 -fps 20 -pf baseline -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay pt=96 config-interval=10 ! udpsink host=192.168.2.3 port=5000

在客户端站点上,我将其转换为HLS并将其上传到Web服务器上:

gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,payload=96 ! rtph264depay ! mpegtsmux ! hlssink max-files=5 target-duration=5 location=C:/xampp/htdocs/live/segment%%05d.ts playlist-location=C:/xampp/htdocs/live/playlist.m3u8

以上与我合作。另一方面,一些玩家没有播放HLS,因为它没有音轨。我想知道如何添加虚拟音轨。我尝试了很多东西但没有运气,例如

gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,payload=96 ! rtph264depay ! h264parse ! mux. audiotestsrc wave=4 freq=200 ! audioconvert ! queue ! mux. mpegtsmux name=mux ! hlssink max-files=5 target-duration=5 location=C:/xampp/htdocs/live/segment%%05d.ts playlist-location=C:/xampp/htdocs/live/playlist.m3u8

gst-launch-1.0 -e -v udpsrc port=5000 name=src ! application/x-rtp,payload=96 ! rtph264depay ! h264parse ! mpegtsmux name=mux ! audiotestsrc wave=silence src. ! audioconvert ! wavenc ! rtpmp4gdepay ! aacparse ! mux. ! hlssink max-files=5 target-duration=5 location=C:/xampp/htdocs/live/segment%%05d.ts playlist-location=C:/xampp/htdocs/live/playlist.m3u8

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您对这些管道的想法是什么?这些看起来像是在试图复用未压缩的音频数据。我不认为这是你想要的。我期待这样的音频路径:

audiotestsrc wave=silence ! voaacenc ! aacparse ! mux.

请注意,可能会有更多特定要求 - 例如HLS播放器支持的音频通道数或特定采样率。