我尝试使用 OBS 和 ffmpeg 同时向 Facebook 和 Twitch 进行直播。我当前的设置可以正常工作,但问题是资源消耗有点大。
FACEBOOK_KEY="123?ds=1\&s_l=1\&a=ggnore"
TWITCH_KEY="live_123_aBcEdFg"
ARGS="-c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv"
CMD="ffmpeg -re -listen 1 -i rtmp://127.0.0.1:5555"
CMD="$CMD $ARGS rtmp://live.twitch.tv/app/$TWITCH_KEY"
CMD="$CMD -r 30 $ARGS rtmp://rtmp-api.facebook.com:80/rtmp/$FACEBOOK_KEY"
eval $CMD
OBS 设置很简单:
视频:720p、2500k 比特率、x264 编码、60FPS
音频:160k AAC。
我试图通过该设置实现两个目标。
- 对于 Twitch,ffmpeg 应该只是将源流从 OBS 复制到 Twitch 而无需任何转换,因为 Twitch 接受我从 OBS 传递的内容。
- 对于 Facebook,它应该将 FPS 从 60 转换为 30,同样以最少的资源使用量,因为 Facebook 接受来自 OBS 的除 FPS 之外的所有内容。
答案1
ffmpeg -listen 1 -i rtmp://127.0.0.1:5555 -c copy -f flv rtmp://twitch -c:v libx264 -preset medium -maxrate 3500k -bufsize 6000k -r 30 -pix_fmt yuv420p -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp//:facebook