2016-11-17 5 views
3

ffmpegを使用してFacebookライブビデオにウェブページをストリーミングしようとしています。私はOBSを使うことができますが、サーバーからやろうとしているので、OBSに行くことはできません。私がプレビューしているときはうまく動作しますが、「ライブに行く」を押すと、最初はそれが始まっているように見えますが、ライブビューになると、ビデオが終了したというメッセージが表示されます。私はGraph APIを使ってビデオログのエラーをチェックしました。私はそれがFacebook上でライブストリームのプレビューでは正常に動作しますが、私は生きて行くときだけで、すぐに終了しています、言ったようにffmpegを使用してFacebookライブビデオにストリームする:プレビューできますが、ライブはできません

phantomjs phantom.js | ffmpeg -y -c:v mjpeg \ 
-f image2pipe \ 
-r 5 -i \ 
- -c:v libx264 \ 
-x264-params keyint=5 \ 
-b:v 1000k -minrate 1000k -maxrate 1000k -bufsize 500k \ 
-f flv 'rtmp://rtmp-api.facebook.com:80/rtmp/xxxxxxxxxxxxxxxx' 

:私はffmpegのにパイプのスクリーンショットにPhantomJSを使用しています。私は、Facebook(https://developers.facebook.com/docs/videos/live-video/production-broadcasts)が定めた一定のビットレートを維持しようとするビットレートオプションを追加しました。また、5フレームごとにキーフレームがあります(フレームレートは5fpsでかなり低い)ので、要件も満たされています。

音声は送信されません。問題が発生する可能性がありますか?

+0

私は全く同じ問題を抱えています。私もオーディオを送信していません。プレビューは機能しますが、「ライブに行く」を押すとしばらく時間がかかり、ビデオが終了したことが示されます。 ffmpegが停止した直後。 – BugHunterUK

+0

オーディオを追加しようとしましたが、運はありません。私はこれが実際にライブ処理のために少し変化するフレームレートと関係していると思っています.ffmpegは正確なタイミングで画像を引き出すことができます。 –

+0

https:// gith.github.com/JamesTheHacker/56fb9caf36244de582540e7d5c2fd6a5 – BugHunterUK

答えて

1

Facebook Liveには30 FPSのフレームレートが必要です。あなたは5を送っているので、あなたは改宗する必要があります。また、最大2秒のキーフレーム間隔が必要です。出力フレームレートを追加してみてください:

phantomjs phantom.js | ffmpeg -y -c:v mjpeg \ 
-f image2pipe \ 
-framerate 5 \ 
-i - \ 
-r 30 \ 
-c:v libx264 \ 
-x264-params keyint=60 \ 
-b:v 1000k -minrate 1000k -maxrate 1000k -bufsize 500k \ 
-f flv 'rtmp://rtmp-api.facebook.com:80/rtmp/xxxxxxxxxxxxxxxx' 
+0

まだ動作しません、低いフレームレートで出力します。手伝ってくれますか。 –

+1

@bhargavjoshiオーディオを追加しない場合は、 '-f lavfi -i anullsrc'&' -c:a aac'(BSかもしれませんが、オーディオが必要なものもあればあるものもあります)。また、YUV 4:2:0を使う必要があるかもしれないので、 '-pix_fmt yuv420p'を出力オプションとして追加し、入力に' -re'を使ってみてください。 – LordNeckbeard

+0

@bhargavjoshiファイルに出力して、出力が30でなく5 FPSであることを確認できますか?パラメータの順序を表示できますか? '-r 30 'はSTDINの指定の後で、出力URLの前にある必要があります。 – Brad

関連する問題