You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置GStreamer音频Sink以使用已创建的虚拟音频Sink?

问题描述

我通过以下命令创建了PulseAudio虚拟音频Sink:

pactl load-module module-null-sink sink_name=virtsink sink_properties=device.description=Virtual_Sink 

目前可以通过执行GStreamer命令,再手动在「设置>声音>输出」中选择Virtual_Sink作为系统默认输出设备,实现音频流传输:

gst-launch-1.0 ... ! autoaudiosink sync=false

但这种方式必须修改系统默认输出设置,我希望能无需修改系统声音设置,直接将音频流传输至创建的虚拟Sink。

我尝试了以下命令,但执行失败:

gst-launch-1.0 -v udpsrc port=<udp-port> \
caps="..." \
! rtpL24depay \
! audioconvert \
! audioresample \
! alsasink \
device=virtsink

报错信息:

Playback open error on device 'virtsink': No such file or directory

解决方案

问题根源是你使用了alsasink插件——virtsink是PulseAudio创建的虚拟Sink,不属于ALSA设备范畴,因此alsasink无法识别它。你需要改用GStreamer的pulsesink插件来指定PulseAudio的Sink设备。

修改后的命令如下:

gst-launch-1.0 -v udpsrc port=<udp-port> \
caps="..." \
! rtpL24depay \
! audioconvert \
! audioresample \
! pulsesink device=virtsink

如果需要确认virtsink是否存在或名称是否正确,可以执行以下命令列出所有可用的PulseAudio Sink:

pactl list sinks short

输出结果中的sink_name列会显示所有已创建的Sink名称,确保你指定的virtsink在列表内即可。

内容的提问来源于stack exchange,提问作者csg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:24:27