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

无需OBS/Streamlabs 如何通过代码实现屏幕音视频采集推流到Twitch RTSP服务器

实现方案(基于FFmpeg)

FFmpeg 可直接实现你需要的屏幕/指定窗口采集、音视频编码、推流全流程,无需安装OBS、Streamlabs这类重型GUI工具,既可以直接用命令行快速落地,也可以基于其API做自定义代码开发。

1. 零代码命令行实现

先在对应系统安装FFmpeg二进制包,配置好环境变量可全局调用后即可使用:

Windows平台

  • 采集全屏+系统音频推流命令:
ffmpeg -f gdigrab -framerate 30 -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -preset veryfast -b:v 6000k -acodec aac -b:a 192k -f flv "rtmp://你的Twitch推流地址/你的推流密钥"
  • 采集指定窗口仅需要把-i desktop替换为-i title="你的窗口标题",窗口标题需要和实际显示完全匹配。

macOS平台

  • 采集全屏+系统音频推流命令:
ffmpeg -f avfoundation -framerate 30 -i "1:0" -vcodec libx264 -preset veryfast -b:v 6000k -acodec aac -b:a 192k -f flv "rtmp://你的Twitch推流地址/你的推流密钥"
  • 其中1:0为「视频设备序号:音频设备序号」,可执行ffmpeg -f avfoundation -list_devices true -i ""查询自己设备对应的序号替换即可。

Linux平台

  • 采集全屏+系统音频推流命令:
ffmpeg -f x11grab -framerate 30 -i :0.0 -f pulse -i default -vcodec libx264 -preset veryfast -b:v 6000k -acodec aac -b:a 192k -f flv "rtmp://你的Twitch推流地址/你的推流密钥"
  • 指定窗口采集可先通过xwininfo获取窗口的坐标、宽高参数,替换为-i :0.0+偏移X,偏移Y即可。

注意:Twitch官方默认推流协议为RTMP,如果你确实需要走RTSP协议,仅需要把命令末尾的-f flv修改为-f rtsp,再替换成你的RTSP服务地址即可。

2. 自定义代码实现

如果需要把推流能力集成到自己的业务程序中,可以直接调用FFmpeg的libav系列API开发,也可以用封装好的第三方库快速实现,以下是Python版本的示例代码:

import ffmpeg

# 配置视频采集源(此处为Windows平台指定窗口采集)
video_input = ffmpeg.input('title="目标窗口标题"', f='gdigrab', framerate=30)
# 配置音频采集源
audio_input = ffmpeg.input('audio="virtual-audio-capturer"', f='dshow')
# 配置编码、推流参数
stream = ffmpeg.output(
    video_input, audio_input,
    'rtmp://你的Twitch推流地址/你的推流密钥',
    vcodec='libx264', preset='veryfast', b='6000k',
    acodec='aac', b_a='192k', f='flv'
)
# 启动推流
ffmpeg.run(stream)

不同系统下仅需要替换音视频采集源的参数即可,逻辑和命令行版本完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:06:04