我很难将脉冲音频监视器通过rtp传输到音频播放器,比如vlc或gst- udpsrc启动。
此命令工作,该文件具有当前正在播放的音频。
gst-launch-1.0 -v pulsesrc device = "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! opusenc ! oggmux ! filesink location=test.ogg 但当我用这个的时候
gst-launch-1.0 -v pulsesrc device="alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! opusenc ! rtpopuspay ! udpsink host=0.0.0.0 port=4000vlc (从android手机)告诉我,它不能使用uri rtp://ip-addr:4000播放流。
从同一台机器启动gst-启动,但结果文件为空。
gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogggstreamer版本是
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.16.0
GStreamer 1.16.0发布于 2019-07-19 06:53:04
刚开始这个帐户,我想添加这个作为一个评论,但不能,因为代表的限制。
我没有使用vlc的经验,但如果我向rtpopusdepay添加GStreamer流参数的上限、定义,至少可以让您的管道正常工作。
因此,与其:
gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogg
您需要使用:
gst-launch-1.0 udpsrc uri=udp://0.0.0.0:4000 ! application/x-rtp,payload=96,encoding-name=OPUS ! rtpopusdepay ! opusdec ! autoaudiosink
为了GStreamer。强制部分是有效负载和编码-名称,其他您可以从gst 1.0 rtpopuspay/rtpopusdepay中找到。您可能需要根据服务器端定义的内容/计算机上的默认值更改数字。
因此,最后,通过将rtp定义移动到rtpopusdepay的上限,我得到了GStreamer管道。正如我说的,我不熟悉vlc,所以我不知道如何定义那些GStreamer上限,如果它甚至取决于这些,但我希望这能给您的工作带来一些洞察力。
https://stackoverflow.com/questions/57028596
复制相似问题