首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了文件链接之外,udpsink似乎没有任何流。

除了文件链接之外,udpsink似乎没有任何流。
EN

Stack Overflow用户
提问于 2019-07-14 15:06:53
回答 1查看 1.1K关注 0票数 1

我很难将脉冲音频监视器通过rtp传输到音频播放器,比如vlc或gst- udpsrc启动。

此命令工作,该文件具有当前正在播放的音频。

代码语言:javascript
复制
gst-launch-1.0 -v pulsesrc device = "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! opusenc ! oggmux ! filesink location=test.ogg 

但当我用这个的时候

代码语言:javascript
复制
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=4000

vlc (从android手机)告诉我,它不能使用uri rtp://ip-addr:4000播放流。

从同一台机器启动gst-启动,但结果文件为空。

代码语言:javascript
复制
gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogg

gstreamer版本是

代码语言:javascript
复制
$ gst-launch-1.0 --version  
gst-launch-1.0 version 1.16.0  
GStreamer 1.16.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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上限,如果它甚至取决于这些,但我希望这能给您的工作带来一些洞察力。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57028596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档