gpt4 book ai didi

linux - udpsink 似乎不流任何东西,但 filesink 工作

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:54 25 4
gpt4 key购买 nike

我无法通过 rtp 将脉冲音频监视器流式传输到 vlc 或带有 udpsrc 的 gst-launch 之类的音频播放器

此命令有效且文件包含当前正在播放的音频

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=4000

vlc(来自 android 手机)告诉我它无法使用 uri rtp://ip-addr:4000 播放流

并且 gst-launch 从同一台机器启动,但生成的文件为空。

gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogg

gstreamer 版本是

$ gst-launch-1.0 --version  
gst-launch-1.0 version 1.16.0
GStreamer 1.16.0

最佳答案

刚开始使用这个帐户,我想将其添加为评论,但由于代表限制而不能。

我没有使用 vlc 的经验,但如果我将 rtp 流参数的上限、定义添加到 rtpopusdepay,至少我可以让你的 GStreamer 管道正常工作。

所以代替:

gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay !哎呀! filesink 位置=test.ogg

你需要使用:

gst-launch-1.0 udpsrc uri=udp://0.0.0.0:4000 !应用程序/x-rtp,有效负载=96,编码名称=OPUS! rtpopusdepay !作品!自动音频接收器

对于 GStreamer。强制性部分是有效负载和编码名称,您可以从 gst-inspect-1.0 rtpopuspay/rtpopusdepay 找到其他部分。您可能需要根据您在服务器端定义的内容/您机器上的默认设置来更改数字。

总而言之,我通过将 rtp 定义移动到 rtpopusdepay 的上限来让 GStreamer 管道正常工作。正如我所说,我不熟悉 vlc,所以我不知道如何在那里定义那些 GStreamer 上限,如果它甚至取决于那些,但我希望这能对您的工作有所了解。

关于linux - udpsink 似乎不流任何东西,但 filesink 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com