ffmpeg 脉冲音频输出选项(设备)

Rog*_*nns 4 ffmpeg pulseaudio

我需要使用ffmpeg 的一些记录的pulseaudio选项,例如设备。文档中的示例有效,但仅设置流名称:

ffmpeg -i INPUT -f pulse "stream name"
Run Code Online (Sandbox Code Playgroud)

我有一个名为“播放设备”的接收器,我想使用它。根据文档和谷歌搜索,我尝试了各种选项来指定设备。他们都给出错误(或不起作用):

ffmpeg -i INPUT -f pulse -device playback-device
# At least one output file must be specified

ffmpeg -i INPUT -f pulse -device=playback-device
# Unrecognized option 'device=playback-device'.  Error splitting the argument list: Option not found

ffmpeg -i INPUT -f pulse device=playback-device
# Plays to default device not the specified one

ffmpeg -i INPUT -device playback-device -f pulse
# At least one output file must be specified
Run Code Online (Sandbox Code Playgroud)

该设备在那里:

$ pactl list short sinks | grep playback
3       playback-device module-null-sink.c      s16le 2ch 48000Hz       IDLE
Run Code Online (Sandbox Code Playgroud)

Leo*_*eon 6

ffmpeg -i INPUT -f pulse -device playback-device
# At least one output file must be specified
Run Code Online (Sandbox Code Playgroud)

这告诉您,您缺少工作示例中的参数 ( ffmpeg -i INPUT -f pulse "stream name")。所以正确的命令是:

ffmpeg -i INPUT -f pulse -device playback-device "stream name"
Run Code Online (Sandbox Code Playgroud)

当然,您可以"stream name"用任何看起来不像的选项来替换。

  • 因此,流名称参数是强制性的,如果不存在,错误消息将其称为“输出文件”。也可以使用-stream_name 来指定。如果 ffmpeg 文档能够清楚地说明这一点,那将非常有帮助! (2认同)