我正在尝试使用FMMpeg将使用PhantomJS捕获的网页流式传输到Youtube。 这是我使用的命令:
xvfb-run phantomjs --web-security=no render.js | ffmpeg -threads 0 -y -v verbose -c:v png -r 30 -f image2pipe -i - -f lavfi -i anullsrc -strict -2 -acodec aac -ac 1 -ar 44100 -b:a 128k -c:v libx264 -s 1280x720 -pix_fmt yuv420p -f flv "rtmp://a.rtmp.youtube.com/live2/key";
render.js代码: http://pastebin.com/raw/X9gv8iGH
它看起来像是流媒体,但YouTube没有收到任何Feed,我看不出问题出在哪里。 Outpout from my console
答案 0 :(得分:1)
试试这个:
instanceId
参数-framerate:
您可以指定两种帧速率:输入和输出。 使用-framerate输入选项设置输入帧速率(在-i之前)。读取输入的默认值为-framerate 25,如果设置为,则设置为 没有指定-framerate。 通过在-i之后设置-r或使用fps过滤器来输出视频流的帧速率。
所以在你的情况下帧率应该是1 / period_from_phantomjs,即1000/30 = 33.33
对于-g 60,这将每2秒添加一个关键帧,这可能是youtube流API的要求(我知道对于facebook来说)。