【librtmp】 ffplay で rtmp を入力ソースにする

公式ページ
LIBRTMP(3): - rtmpdump.mplayerhq.hu

日本語の記事がほとんどない librtmp のオプションから ffmpeg の rtmp の入力ソースにする方法。この方法では ffmpeg の他に ffplay でも同じなので、rtmpdump からパイプしなくても rtmp ソースを入力ソースにできる。

基本は rtmpdump の時と同じように、オプションを調べてそれを librtmp 用にコマンドを書き換える。

関連記事

rtmpdump は -a のように指定をするが librtmp は -y を playpath= で指定する。入力ソースにするには -i "" として "" でオプションをくくる。

ニコ生のユーザー生放送とチャンネル生放送の場合、rtmpdump改(-N オプション)が必要なので、それ用にビルドした ffmpeg か ffplay でないと dump できない。それ以外の放送なら rtmpdump でパイプしなくても単体で入力できる。

ffmpeg, ffplay で rtmp 入力する場合に既定値ではバッファがかなり小さく指定されているので大きく指定(-rtmp_buffer 36000000)すると dump 速度が rtmpdump と同様に早くなる。ただしライブオプション(-v)がある場合を除く。

ffplay 単独でプレビューする方法


  • 追記 2013/04/17
    ffplay で倍速再生しながら保存するコマンド
    詳しくは 【ffmpeg】倍速再生できる動画にエンコードする
    ffmpeg -i "rtmp://nlpoca59.live.nicovideo.jp:1935/fileorigin/ts_01/ playpath=mp4:content/20130417/lv123456789_215933708000_4_3818a1.f4v?1366208625:30:802351606809207d conn=S:id:lv123456789:0:1366208625:01e4b79733ab8bda" -c copy out.flv -f flv pipe: | ffplay - -af "atempo=1.5" -vf "setpts=2/3*PTS"

    追記 2013/03/15 2013/03/19(ユーザー生放送を追加)
    昨日のメンテナンスからかは不明(正確には ffmpeg, libtmp の仕様変更)だが、今までのコマンドでは再生できなくなっていたのでその修正。playpath= が必要になったのが、公式生放送のTSとチャンネル生放送、ユーザー生放送のTSである。

    TS の場合 【ffmpeg】倍速再生できる動画にエンコードする より倍速再生することができる。

  • 公式生放送の場合(変化なし)
    ffplay -i "rtmp://nlakmjpk.live.nicovideo.jp:1935/live/nlari_04@s57325?auth=dbEctcWbrc7dcdxdMbHbUagdKcZcVcTdFaP-brqURh-frG-vga-FwGBEq_zzDymC&aifp=0191210 live=1"

    追記 2013/03/23 zeranoe さんの ffplay で再生できることを確認
    公式生放送のTSではないアニメ配信は普通のffplayでは再生できないので 【ffmpeg】ニコ生のアニメ配信を録画する方法 より、この ffplay(librtmpなし) を使用する。

  • 公式生放送のTSの場合
    ffplay -i "rtmp://nlaoe31.live.nicovideo.jp:1935/fileorigin/01/ playpath=mp4:/content/20130314/lv129668325_150909483000_1_bcf182.f4v conn=S:1234567:lv129668325:0:1363338381:2548965e017e78a7"

  • ユーザー生放送のTSの場合(変化なし) playpath が必要でした 2013年3月19日
    ユーザー生放送のTSは特殊な rtmpdump が必要なのでこのコマンドでは保存できない 2014年1月6日
    ffplay -i "rtmp://nlpoca46.live.nicovideo.jp:1935/fileorigin/ts_00/ playpath=mp4:content/20130314/lv123456789_225752833000_4_c64d95.f4v?1363337866:30:e6b25683d6bc10fa conn=S:1234567:lv123456789:0:1363337866:8eb3147de2250ebb"

  • チャンネル生放送のTSの場合
    ffplay -i "rtmp://nlace02.live.nicovideo.jp:1935/fileorigin/01/ playpath=mp4:/content/20130308/lv125958114_153224397000_3_c9ac60.f4v conn=S:1234567:lv125958114:0:1363337544:4763d65ff0b5cd21"

  • lv128959102 で確認された rtmpe の生放送(TSではない)は この ffplay(librtmpあり) を使う
    ffplay -i "rtmpe://nlakmjpks.live.nicovideo.jp:1935/live/gsf_uguk0089@s37295?auth=dbEcpdMaEcfcWdkajcGbEcDbMbub8cZdVcW-brtzEw-frG-vga-BxGAxq_yFDvjD&aifp=0191210 live=1 swfUrl=http://live.nicovideo.jp/certified.swf swfVfy=1"

  • lv130173110 で確認された API が暗号化された rtmp の生放送(TSではない)の場合
    ffplay "rtmp://smilevideo.fc.llnwd.net:1935/smilevideo conn=S:s_lv130173110_sub1?uid=ユーザーID&h=b64f03171310a394908f9a27d8f2be41 playpath=s_lv130173110_sub1?uid=ユーザーID&h=b64f03171310a394908f9a27d8f2be41 live=1"


今までは以下の様なコマンド


  • 公式生放送の場合
    ffplay -i "rtmp://nlakmjpk.live.nicovideo.jp:1935/live/ikw_CLR_11@s35862?auth=dbEa.dTbLaSd8dVdZcdchb.ckcobdbFaaa2-bp9Ap3-frG-vga-yxDBEo_zxDCmv&aifp=0191210 live=1"

  • ユーザー生放送、チャンネル生放送のTSの場合
    ffplay -i "rtmp://nlpoca26.live.nicovideo.jp:1935/fileorigin/ts_00/mp4:content/20120704/lv1234567_140005349000_1_dd8e3c.f4v?1341450000:30:b9c9bcfaac3b3345 conn=S:1234567:lv1234567:0:1341450000:4d7130992a38a2c0"

  • 公式生放送のTSの場合
    ffplay -i "rtmp://nlaoe23.live.nicovideo.jp:1935/fileorigin/01/mp4:content/20120701/lv98140136_021709912000_1_e72dcb.f4v conn=S:1234567:lv98140136:0:1341394049:e3f8952328d56f51"

    ffmpeg でも同様に ffplay を ffmpeg にすることで入力ソースとして使うことができる。また rtmp ソースでなくても http の動画直リンでも入力ソースとすることができる。ただしニコ動の動画直リンはそのままでは使えない。

    コマンドを実行するには cmd.zip を保存し ffplay と同じフォルダ内に解凍して、cmd を実行し、コマンドをコピペすればコマンドラインから ffplay を実行できる。


初版 2012/07/06
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


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

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

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

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

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

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