私はオーディオストリームを持っています。ffmpegを使用して、次のコマンドで背景として画像を使用してYouTubeライブにストリーミングします。
ffmpeg -loop 1 -i x.jpg -i http://xxx.xxx.xxx.xxxx:5305/stream -c:a aac -s 1280x720 -ab 128k -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxx
しかし、私はユーチューブで次のメッセージを受け取っています、
YouTube is not receiving enough video to maintain smooth streaming. As such, viewers will experience buffering
これにより、出力ストリームにバッファリングが発生します。
誰もがそれを修正する方法を知っていますか?
助けていただければ幸いです。
だから私は解決策を持っています。
ffmpeg -re -loop 1 -framerate 2 -i test1.jpg -i https://xxxxxxx:8443/live.ogg -c:a aac -s 2560x1440 -ab 128k -maxrate 2048k -bufsize 2048k -framerate 30 -g 60 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxxx
重要な部分は
-re
バッファリングの問題を扱う最初に。
そうして
-フレームレート2
「-loop1」と画像の間。これは機能し、バッファリングしないクリーンで高品質のストリームを取得します。
これがお役に立てば幸いです。
編集1
ffmpeg -re -loop 1 -framerate 2 -i test1.jpg -i https://xxxxxxxxxxx:8443/live.ogg -c:a aac -s 2560x1440 -ab 128k -vcodec libx264 -pix_fmt yuv420p -maxrate 2048k -bufsize 2048k -framerate 30 -g 2 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxxx
わかりました。この更新されたバージョンでは、ストリームに関するほとんどすべての問題が修正されるはずです。
-vcodec libx264 -pix_fmt yuv420p
H.264コーデックスに変更されましたその問題を修正しました
-g 2
これにより、最終的なバッファリングの問題が修正されます。
最後のコードは優れていますが、最新のコマンドを使用したYouTubeLiveの「ビデオ解像度」に関するエラーメッセージが表示されます。私はそれを置き換えることによってそれを修正しました:
yuv420p with yuvj420p
Ffprobeでjpgをプローブすると、上記のyuv420pが返されました