YouTube 直播不支持 FFMPEG

YouTube Live not working with FFMPEG

编辑:它已经工作了。我的新路由器似乎阻止了 rtmp 流量。我编辑了防火墙配置,现在可以使用了!
我正在尝试使用以下命令使用 ffmpeg 流式传输到 YouTube:

ffmpeg -f alsa -ac 2 -i hw:0,0 -f v4l2 -s 1280x720 -r 10 -i /dev/video0 -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -strict experimental -r 25 -g 20 -b:v 2500k -codec:a libmp3lame -ar 44100 -b:a 11025 -bufsize 512k -f flv rtmp://a.rtmp.youtube.com/live2/45ee-qka9-0djm-796z   

我的 ffmpeg 版本 2.8.11 在 Linux Mint 18.2 然后说:

Input #0, alsa, from 'hw:0,0':
  Duration: N/A, start: 1511081240.166016, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s 
[video4linux2,v4l2 @ 0xacba60] The driver changed the time per frame from 1/10 to 2/15
Input #1, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 5907.755626, bitrate: 110592 kb/s
    Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, 110592 kb/s, 7.50 fps, 7.50 tbr, 1000k tbn, 1000k tbc

在那之后大约 3 分钟什么都不做,然后它终于 returns 出现以下错误:

RTMP_Connect0, failed to connect socket. 110 (Connection timed out)
rtmp://a.rtmp.youtube.com/live2: Unknown error occurred

我使用了这些说明:

最后,我找到了一个简单的解决方案。出乎意料的是,我路由器的防火墙默认阻止传出 RTMP 流量。通过为众所周知的 RTMP 端口 (1935-TCP) 添加端口触发规则,我设法解决了这个问题。

我知道这不是最完美的修复方法,但我的 ISP 路由器并没有提供配置选项,因此上述方法是解决此问题的唯一可能方法。