【ffmpeg】-f tee でマルチ配信の可能性について

追記 2017年1月28日
片方の配信が止まっても、もう片方が中断しないように onfail=ignore を追加した


調べてみたところ、Drop(処理落ち) が多発したため実用には向かなかった。

まずは普通にニコ生と twitchに多重配信してみたが、音声は出るものの映像が全く映らなかった。

ffmpeg -rtbufsize 50MB -f dshow -i video="SCFH DSF":audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libmp3lame -f tee -map 0:0 -map 0:1 "[f=flv:onfail=ignore]rtmp://ニコ生|[f=flv:onfail=ignore]rtmp://twitch"

公式文章を見ると global_header を明示的に指定しろって書いてあるので指定すると映像が映った。しかし rtbufsize を大きくしても Drop が多発して配信が途切れる結果となった。うまい配信方法があったら教えて下さい。

FFmpeg documentation : : tee
Creating multiple outputs - Tee psuedo-muxer – FFmpeg
EncodingForStreamingSites – FFmpeg

ffmpeg -rtbufsize 50MB -f dshow -i video="SCFH DSF":audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libmp3lame -flags global_header -f tee -map 0:0 -map 0:1 "[f=flv:onfail=ignore]rtmp://ニコ生|[f=flv:onfail=ignore]rtmp://twitch"

その後改めて同じコマンドを試すとうまくいくようになっている。また出力数は2以上指定できるので2サイト同時配信しながらファイルを保存することもできる。ただし .mp4 コンテナから配信するとエラーが出るので .mkv か .flv にあらかじめ入れ替える。普通に配布している ffmpeg を使うと Past duration too large が大量に表示されることがあるので、-vsync passthrough -frame_drop_threshold 4 を追加する。そのほかの注意点として map を必ず指定する。

input.flv からニコ生と twitch に配信し output.flv で保存する例
ffmpeg -re -i input.flv -vsync passthrough -frame_drop_threshold 4 -map 0:0 -map 0:1 -flags +global_header -c copy -f tee "[f=flv:onfail=ignore]rtmp://ニコ生|[f=flv:onfail=ignore]rtmp://twitch|E:\output.flv"

入力ファイルが flv 以外の場合でエラーが出て配信できない場合はあらかじめ動画ファイルを flv 形式に変換しておく。
ffmpeg -i input -c copy output.flv

さらにプレビュー用として UDP 出力もできる。
ffmpeg -re -i input.flv -vsync passthrough -frame_drop_threshold 4 -map 0:0 -map 0:1 -flags +global_header -c copy -f tee "[f=flv:onfail=ignore]rtmp://ニコ生|[f=flv:onfail=ignore]rtmp://twitch|[f=mpegts]udp://localhost:8080|E:\output.flv"

パイプして複数のサイトに配信する従来の方法は Windows の ffmpeg で生放送する方法 : 複数サイト同時配信 を参照。
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数