将葡萄酒音频流式传输到 Twitch

将葡萄酒音频流式传输到 Twitch

我正在尝试使用我在网上找到的这个 shell 脚本将一些 Dota 2 直播(通过 Wine)传输到 Twitch:

#!/bin/bash

STREAM_KEY="(redacted)"
FPS="30"
INRES="1600x900"
OUTRES="1280x720"
QUAL="medium"

avconv \
  -f x11grab -s $INRES -r "$FPS" -i :0.0 \
  -f alsa -ac 2 -i pulse \
  -vcodec libx264 -s $OUTRES -preset $QUAL \
  -acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b 712000 -bufsize 512k \
  -f flv "rtmp://live.justin.tv/app/$STREAM_KEY"

它可以很好地播放视频,但我只能从插入的麦克风获得音频,而没有来自 Dota 2 的声音。如果我只关心获得音效,这不会很糟糕,但有时我会使用内置语音聊天与其他人共同播音,而且由于我没有收到他们的任何音频,听起来我是个疯子。

我可以尝试使用外部程序进行语音聊天,但我真的不想强迫我的随机联合播音员在他们的终端上进行设置。所以我希望能够将 Wine 音频和我的麦克风音频都传输到流中。

答案1

您可以通过创建一个空接收器和两个环回连接器来实​​现这一点:

pactl load-module module-null-sink
pactl load-module module-loopback
pactl load-module module-loopback

要配置这些频道,您需要 pavucontrol 工具 ( sudo apt-get install pavucontrol)。

  • 在播放选项卡上选择“所有流”并将环回流重定向到“空输出”。

  • 然后转到“录制”选项卡并选择“所有流”。您应该会再次看到两个回送。

  • 将一个设置为“模拟立体声内置音频”(麦克风),将另一个设置为“模拟立体声内置音频监视器”(音频输出)。
  • 运行脚本后,您应该会在“录制”选项卡的列表中看到 avconv 进程。将其设置为从“空输出监视器”录制。

来源

相关内容