rtmpdump コマンド一覧と使い方
コマンド一覧は -h からも取得できる。
以下の03-10-2010, 03:48 PM hyc氏のポストを和訳した。
http://stream-recorder.com/forum/do-you-use-rtmp-dump-rtmpdump-tutorials-t3926p2.html
rtmpdump-2.2dに付属のrtmpdump.1.htmlの和訳に変更した。
この和訳はrtmpdump.1.htmlの和訳に独自の使用方法を加筆した文章になっています。
追記 2011年10月27日
rtmpdump-2.4-windows.zip付属のrtmpdump.1.htmlの和訳に変更し、-j JSON を追加した。
追記 2012年5月10日、2012年5月12日、2012年6月14日、2012年7月3日
和訳を一部修正、-A -B を修正。
追記 2012年8月11日
-R を追加した。
最初に弁解しておくとrtmpdumpの全てのコマンドを使いこなせてない(理解してない)のと、プログラミングの英語を上手く和訳できてない。
http://stream-recorder.com/forum/do-you-use-rtmp-dump-rtmpdump-tutorials-t3926p2.html
rtmpdump-2.2dに付属のrtmpdump.1.htmlの和訳に変更した。
この和訳はrtmpdump.1.htmlの和訳に独自の使用方法を加筆した文章になっています。
追記 2011年10月27日
rtmpdump-2.4-windows.zip付属のrtmpdump.1.htmlの和訳に変更し、-j JSON を追加した。
追記 2012年5月10日、2012年5月12日、2012年6月14日、2012年7月3日
和訳を一部修正、-A -B を修正。
追記 2012年8月11日
-R を追加した。
最初に弁解しておくとrtmpdumpの全てのコマンドを使いこなせてない(理解してない)のと、プログラミングの英語を上手く和訳できてない。
目次
コマンド一覧
和訳ここからNAME
- rtmpdump - のRTMPストリーミングメディアクライアント
SYNOPSIS
- rtmpdump-r url [-n hostname] [-c port] [-l protocol] [-S host:port] [-a app] [-t tcUrl] [-p pageUrl] [-s swfUrl] [-f flashVer] [-u auth] [-C conndata] [-y playpath] [-Y] [-v] [-R] [-d subscription] [-e] [-k skip] [-A start] [-B stop] [-b buffer] [-m timeout] [-T key] [-j JSON] [-w swfHash] [-x swfSize] [-W swfUrl] [-X swfAge] [-o output] [-#] [-q] [-V] [-z]
rtmpdump -h
DESCRIPTION
- rtmpdump はRTMPでストリーミングされているメディアコンテンツを表示(ダウンロード)するツールです。
rtmpdump指定のRTMPサーバーへの接続を行い、再生メディアを指定されたURLで指定します。 urlはフォームである必要があります。
rtmp[t][e]://hostname[:port][/app[/playpath]]
RTMP、RTMPT、RTMPEなど暗号化されたセッションもサポートされます。
OPTIONS
Network Parameters
- これらのオプションはどのようにメディアサーバーへの接続するかを定義します。
- --rtmp -r url
- サーバーとメディアコンテンツのURL。
- --host -n hostname
- RTMP URLのホスト名をオーバーライドします。(http://.../の...を入力)
- --port -c port
- RTMP URLのポート番号をオーバーライドします。
- --protocol -l number
- RTMP URLのプロトコルをオーバーライドします。
0 = rtmp
1 = rtmpt
2 = rtmpe
3 = rtmpte
4 = rtmps
5 = rtmpts - --socks -S host:port
- 指定したホストとポートを使ってプロキシに接続します。
Connection Parameters
- これらのオプションはRTMP接続要求のパケットの内容を定義します。正しい値が提供されていない場合、メディアサーバーは、接続の試行を拒否します。
- --app -a app
- アプリケーションの名前はRTMPサーバーに接続します。RTMP URLのアプリケーションにオーバーライドする。時にはrtmpdumpのURLパーサが自動的にアプリケーション名を判断できない場合は、このオプションを的確に指定して使用する必要があります。
- --tcUrl -t url
- 目的のストリームのURL。デフォルトは rtmp[e]://host[:port]/app/playpath
- --pageUrl -p url
- メディアが埋め込まれたWebページのURL。デフォルトでは値が送信されません。
- --swfUrl -s url
- メディアのSWFファイルのプレーヤーのURL。デフォルトでは値が送信されません。
- --flashVer -f version
- SWFプレーヤーを実行するために使用されるFlashプラグインのバージョン。デフォルトでは"WIN 10,0,32,18"。
- --auth -u string
- 認証文字列が接続メッセージに追加される。このオプションは、論理値のTRUEが指定した文字列を追加して使用します。このオプションは、いくつかの特定のサーバーでの使用を推奨していません。より一般的な - conn オプションを代わりに使用する必要があります。
- --conn -C type:data
- 接続メッセージに追加任意のAMFデータを記述する。タイプは次の通り。Bはブール変数、Nは数字、Sは文字列、Oはオブジェクト、Zはnullでなければならない。ブール変数のデータが0か1またはFALSEかTRUE、でなければならない。同様にデータはそれぞれ最初か最後は0か1でなければならない。サブオブジェクトのデータ項目は、'N'に値の前に名前を指定するなど接頭辞で指定された可能性があります。例えば NB:myFlag:1 このオプションは、任意のAMFのシーケンスを構築するために複数回使用されることがあります。例えば
B:boolean(0|1), S:string(文字列), N:number, O:object-flag(0|1), Z:(null), NB:name:boolean, NS:name:string, NN:name:number-C B:0 or 1 -C S:文字列 -C N:数字 -C O:0 or 1 -C Z:null -C NB:NB:name:boolean -C NS:name:string -C NN:name:number
Session Parameters
- これらのオプションは接続要求が成功すると有効になります。
- --playpath -y path
- playpathのRTMP URLから解析するのにオーバーライドします。時にrtmpdumpのURLパーサーが自動的に正しいplaypathを判断できないことがあり、その場合は正確にこのオプションを使用して指定する必要があります。
- --playlist -Y
- playコマンドを送信する前にset_playlistコマンドを発行します。プレイリストは現在のplaypathが含まれます。
- --live -v
- 指定メディアがライブストリームです。レジュームの無いライブストリームで可能です。
- --subscribe -d stream
- ライブストリームの名前を署名します。 デフォルトは playpath.
- --realtime -R
- 一時停止・再生コマンド(これが何を差すかよくわからない)を使ってスピードアップをせずにリアルタイムのようにダウンロードします("the BUFX hack")。再生コマンドで後ろの時間に戻されるようなサーバーに便利です。レジュームやライブストリーミングにも使えます。
- --resume -e
- 不完全なRTMPのダウンロードをレジュームします。
- --skip -k num
- 最後のキーフレームからレジュームした所を探しだして指定数のキーフレームをスキップします。定期的にレジュームが失敗した場合これが役に立つかもしれません。デフォルトは0です。
- --start -A num
- 指定秒後にストリームのdumpを開始します。ライブストリームではできません。このオプションで最初の無駄な映像をカットできます。 特定秒(詳細不明)以上を指定すると9割くらいで止まったり(放置すると100%かその一歩手前までdump可能)、一部dumpできない仕様があります。そして不完全なファイルではレジュームコマンド(-e)が機能しません。その場合 -R を指定すると完全に dump できるかもしれません。
- --stop -B num
- 指定した秒後にストリームのdumpを停止します。ライブストリーミング以外で -A と併用すると終了時間は -B で指定できて、-A で指定した分だけ最初がカットされます。
例:-A 30 -B 50 1分の動画の場合、開始30秒から50秒までの20秒がdumpされる - --buffer -b num
- バッファ時間はミリ秒で指定します。デフォルトは36000000です。
- --timeout -m num
- 指定秒後までにサーバーから全然データを受信しなければセッションがタイムアウトします。デフォルトは120です。
Security Parameters
- これらのオプションは、サーバーからの追加の認証要求を処理します。
- --token -T key
- サーバーがSecureToken認証を必要とする場合にkeyをSecureTokenに応答させて使用します。
- --jtv -j JSON
- JSON token は Justin.tv サーバーで使用。 NetStream.Authenticate.UsherToken を呼び出します。
- --swfhash -w hexstring
- 解凍SWFファイルのSHA256チェックハッシュ。サーバーはSWFファイルの検証を使用する場合、このオプションは必要とされるかもしれません。以下の --swfVfy オプションを参照すると、ハッシュは32バイトであり、16進数で指定する必要があります。 --swfsize オプションは、常にこのオプションを使用する必要があります。
- --swfsize -x num
- 解凍SWFファイルのサイズ。このオプションはサーバーがSWFファイルの検証を使用する場合に必要とされるかもしれません。以下の --swfVfy オプションを参照すると --swfhash オプションを常に使用する必要があります。
- --swfVfy -W url
- メディアのSWFファイルのプレーヤーのURL。このオプションは以下の3つのオプション --swfUrl, --swfhash 、--swfsize に置き換えられます。 SWFプレーヤーが指定されたURLと自動的に計算されるハッシュとサイズを受け取る場合にこのオプションが使用されます。またその情報はユーザーのホームディレクトリ内のswfinfoファイルにあるので、一度取得するとキャッシュされ毎回rtmpdumpが再計算をする必要はありません。swfinfoのファイルはURL、SWFファイルの変更のタイムスタンプを取得された時刻、そのサイズ、そのハッシュを記録しています。デフォルトではキャッシュされた情報は次に再確認する30日間使用されます。
- --swfAge -X days
- SWFファイルの情報のキャッシュを再チェックする指定日数を記述します。0を記述すると常にSWFファイルのURLを確認します。確認したときにその SWFファイルが前と同じタイムスタンプが表示される場合、再確認する必要はありません。
Miscellaneous
- --flv -o output
- 出力ファイル名の指定。ファイル名が - の場合、または省略すると、ファイル名がstdoutになります。
- --hashes -#
- バイトカウンタの代わりに進捗状況を1%ごとに表示します。
使用するには -o の手前に指定します。 - --quiet -q
- すべてのコマンドの出力を停止します。
- --verbose -V
- 冗長コマンドの出力。
- --debug -z
- デバッグレベルの出力です。非常に冗長ですべてのパケットデータの16進数のダンプを含みます。
- --help -h
- コマンドオプションの概要を表示します。
EXIT STATUS
- 0
- プログラム実行の成功。
- 1
- 回復不能なエラー。
- 2
- 不完全な転送。レジュームすると再取得できます。
ENVIRONMENT
- HOME
- $HOME の値は、swfinfoファイルの場所として使用されます。
FILES
- $HOME/.swfinfo
- SWF検証情報のキャッシュ
SEE ALSO
- rtmpgw(8)
AUTHORS
- Andrej Stepanchuk, Howard Chu, The Flvstreamer Team
<http://rtmpdump.mplayerhq.hu>
和訳ここまで
使い方
rtmpdump は windows だとコマンドプロンプトから起動するツール。なのでそのまま rtmpdump.exe を実行しても何も起こらない。バッチを書くか、コンソールの中に記述して実行するかの2種類方法がある。その際にはディレクトリを移動しないと上のコマンドを記述しても実行できない。
コマンドを実行するには cmd.zip を保存し rtmpdump と同じフォルダ内に解凍して、cmd を実行し、コマンドをコピペすればコマンドラインから rtmpdump を実行できる。
よく間違えるミスに半角スペースのところに全角スペースを使うことがある。全角スペースを使うとエラーになるので間違えないように注意する。
基本的な使い方は -r と -o を指定してdump出来るか確認。次に -y を指定してみてそれでもダメなら swf の認証のコマンド -s を使う。-u (auth) は &aifp 手前まで指定する。-r でフルパスを入力してエラーがでる場合には -y を併用して dump する。rtmp のパスはxmlが用意してあればそれを参考に、なければパケットを監視してパラメータを確認する。dump するのが難しいのは接続ごとにパラメータが変わるタイプや、auth を使っているところ、swf の解析が必要なところ、ログインを要するところ。
rtmpdump -r "rtmp://hoge.com/piyo/mp4:huga/hoge.mp4" -o hoge.flvでエラーがでる場合に
rtmpdump -r "rtmp://hoge.com/piyo/" -a "piyo/" -y "mp4:huga/hoge.mp4" -o hoge.flvとするとうまくいくことがある
パケットを解析するには URLSnooper や wireshark を使う。GetFLVを使っているならcg.datを調べる。Orbitならrtmp、app、swfのURLがわかる。MediaBox なら rtmp playPath がわかりそこからBlader を使って保存もできるので結構オススメ。StreamTransport はrtmpのURLがわかる。その他にサイトの.js等を調べてrtmpを探す。RTMPDumpHelper や RTMPExploreX を使って rtmpsrv や rtmpsuck で解析してもらう。
その他の調べ方
How to find rtmp:// stream URL: Software to sniff, snoop RTMP links - Audio/video stream recording forums
rtmpのパスの中に/_definst_&contents/がある場合、& を / に変えて /_definst_/contents/ にしないとdump出来ない。
レジュームの方法は同じコマンドを打ち込む方法と、コマンド末尾に --resume (-e) を追加する。このときにその前のオプションは""でくくっておく。レジュームせずに dump が中途半端に止まる場合は少し様子を見て、再度同じコマンドが入力できる状態まで待つ。待ってもコマンドを入力できる状態に戻らなければレジュームできない。そして再度同じコマンドを入力して途中から dump が開始できたら成功。最初からになる場合は回線に問題があるかもしれない。
コマンドが入力できる状態にならない場合 -R を指定すると出来る状態になるかもしれない。
-R が使えるバイナリは公式の最新バイナリ(rtmpdump-v2.4-35-ge0056c5-master.7z)を使用する。
使い方はrtmpexplorerの中身をrtmpdumpとrtmpsrvのあるフォルダにコピーしてrtmpexplorerを起動する。dumpしたいサイトを入力してdump出来ればそのまま開始される。自動起動はrtmpsrvだが、rtmpsrvを一度終了してからrtmpsuckを起動しても使えるほか、rtmpsuckをrtmpsrvにリネームすると自動起動がrtmpsuckに変更できる。
swf の SecureToken を調べるのに便利なツールに SWFScan がある。
SWFScan - FREE Flash decompiler - Audio/video stream recording forums
インストーラー版
HP Communities - SWFScan - FREE Flash decompiler - Enterprise Business Community
ポータブル版
https://github.com/svnpenn/rtmpdump
Adobe からも同じようなものがリリース(実行にはAdobe Airが必要)されている。SecureToken を調べるのなら SWFScan のほうが使いやすい。SWF Investigator は開発者向け。
Adobe SWF Investigator | Flash security - Adobe Labs

関連記事
- rtmpdumpカテゴリーの記事
- 【librtmp】 ffmplay で rtmp を入力ソースにする
- rtmpsrvとrtmpsuck が手軽に使える rtmpexplorer の使い方
- 【rtmpdump】 rtmpexplorer より使いやすい RTMPExploreX
- ユーザー生放送のTSの仕様について
- ニコ生の録画方法 まとめ:ニコラボチャンネル のブログ
開発の状況がわかるメールリスト
http://lists.mplayerhq.hu/pipermail/rtmpdump
rtmp等のストリームをダウンロードする場合の英語の掲示板
http://stream-recorder.com/forum/
rtmpdump専用の掲示板
http://stream-recorder.com/forum/rtmpdump-f54.html
http://stream-recorder.com/forum/release-unofficial-rtmpdump-binaries-t11030.html
http://stream-recorder.com/forum/possible-modify-rtmpsrv-code-launch-vlc-t10220.html
Rtmpdump - Wikipedia, the free encyclopedia
バイナリ配布先
- 新しいrtmpdumpでdumpできなくて昔のでdump出来ることがあったが基本的には新しいので良い。
- 公式 http://rtmpdump.mplayerhq.hu/ winバイナリ配布再開
- 非公式 https://github.com/svnpenn/rtmpdump/downloads
- svnpenn さんの話 [rtmpdump] GitHub situation
- 非公式 https://github.com/K-S-V/Scripts/downloads
- 非公式 https://github.com/S74ck3r/rtmpdump/downloads android版も配布している
- 非公式 S74ck3r / Rtmpdump - Android / Downloads — Bitbucket
- 非公式 http://blog.k-tai-douga.com/article/50211278.html
- 公式ミラー http://www.videohelp.com/tools/RTMPDump
KSV氏の最新版ビルド:Customized rtmpdump binaries with patch file - Audio/video stream recording forums
android ビルド:Zeranoe FFmpeg ? View topic - Help with android build
公式の Git
git clone git://git.ffmpeg.org/rtmpdump
http://repo.or.cz/w/rtmpdump.git
ニコ生用の rtmpdump のソースコードはこちら
git clone git://github.com/taonico/rtmpdump-nico-live
taonico/rtmpdump-nico-live ・ GitHub
ニコ生用の rtmpdump で Mac と linux のバイナリはこちら
★Axfc Uploader -2786658.zip-
【ニコ生】namareco namarokuについて語ろう Part18
http://anago.2ch.net/test/read.cgi/software/1357463927/251-256
rtmp をプログラムから理解した人向けの記事
- RTMPパケットの仕組み - ダウンロードたけし(寅年)の日記
- RTMPプロトコル[ドラフト] 日本語訳(私訳) : OKの日記
- ニコ生新サーバ変更点まとめとnamareco対応 - 狼ニコ生うらやまけしからん日記
- ニコ生とブラウザ間の通信 - 狼ニコ生うらやまけしからん日記
- 長時間配信の再生時間表示がおかしくなる件について - 狼ニコ生うらやまけしからん日記
- namareco-0.3.1リリース - 狼ニコ生うらやまけしからん日記
- Real-Time Messaging Protocol (RTMP) specification | Adobe Developer Connection
- RTMP - Gnash Project Wiki
- AMF - Gnash Project Wiki
- documentation:rtmp [Open Source Flash]
- flv [Open Source Flash]
関連記事
サイトスクリプトblog : Crunchyroll の視聴
サイトスクリプトblog : RTMPDumpHelper v1.15
swf ファイルをデコンパイルできるオンラインサービス
Show My Code | Free Online swf Adobe flash decompiler, java class decoder, java class decompiler, php dezender, Zend decompiler, Zend decoder,Zend Guard, ActionScript recover, QR bar code decoder
現行スレ
RTMPDump 2
http://engawa.2ch.net/test/read.cgi/pc2nanmin/1322979352/
2ちゃんねる抜粋
【動画配信】rtmpdump総合スレ【radiko】
http://yutori7.2ch.net/test/read.cgi/pc2nanmin/1271066265/
189 名前:まちがって名前消しちゃいました。[] 投稿日:2010/10/01(金) 06:27:22 ID:Wdwjp2ws
Wiresharkで調べたら、
rtmp://brightcove.fcod.llnwd.net/a500/d12/&mp4:media/85688275001/85688275001_617221727001_CBR-TheSea-POST.mp4&1285884000000&303c6b2c3e79f922e744106f5a70e1bf
までは見つけられたのですが、
rtmpdump 2.2dで落とせません・・・。
http://thelivebuzz.com/video/corinne-bailey-rae-the-sea-livebuzz-session/
どなたか落とせるかたいらっしゃいます?
--rtmp "rtmp://brightcove.fcod.llnwd.net:1935/a500/d12/"
って入れても、playpathが足りないってエラーが出ちゃいます・・・。
190 名前:まちがって名前消しちゃいました。[sage] 投稿日:2010/10/01(金) 07:22:25 ID:???
>>189
rtmpsuck一発だったよ。
-y mp4:media.....(最後まで)
でいけると思う
191 名前:まちがって名前消しちゃいました。[sage] 投稿日:2010/10/01(金) 07:24:20 ID:???
ごめん、
rtmpsuckじゃ無くって、rtmpsrvの方
193 名前:まちがって名前消しちゃいました。[] 投稿日:2010/10/02(土) 01:11:57 ID:86tYO1WE
>>190
ありがとうございます。
rtmpsrv -y "mp4:media/85688275001/85688275001_617221727001_CBR-TheSe
a-POST.mp4&1285884000000&303c6b2c3e79f922e744106f5a70e1bf" --rtmp "rtmp://bright
cove.fcod.llnwd.net/a500/d12/&mp4:media/85688275001/85688275001_617221727001_CBR
-TheSea-POST.mp4&1285884000000&303c6b2c3e79f922e744106f5a70e1bf" --flv "D:\01 Th
e Sea.flv"
って、やってみましたが、
Streaming on rtmp://0.0.0.0:1935
って出たまま、止まってしまっています。
どうすればいいんでしょうか・・・???
他に必要なパラメータがあるんでしょうか。
194 名前:まちがって名前消しちゃいました。[] 投稿日:2010/10/02(土) 07:07:42 ID:Z1QEsuzJ
↑
コマンドのオタクでなくflvのみゲットしたいなら
StreamTransport のフリーソフトで逝けるよ!
195 名前:まちがって名前消しちゃいました。[sage] 投稿日:2010/10/02(土) 07:13:43 ID:???
>>193
rtmpsrvってのは、動かしておいて通常にflvを見ると勝手にrtmpパケットを解析して
rtmpdump用のパラメター生成してくれる(+かってにrtmpdumpを起動)物なんだ。
使うには仕込みが必要でOSによって方法が違うのでREADMEを読んでね
196 名前:まちがって名前消しちゃいました。[] 投稿日:2010/10/02(土) 08:44:01 ID:86tYO1WE
>>195
そうか!と思ってREADME読みましたが、実際にどのようにすればいいか分からず・・・。
ググってみたんですが、hostsファイルをまずいじらないとダメらしいので
色々やってみたんですけど、全くダメでした。
結果、>>194のStreamTransportで難なくダウンロードできたんですが、
後学のため、rtmpsrvの使い方(&hostsファイルの書き換えとか)を、
教えていただけないでしょうか?
ググってもrtmpsrvの使い方のページって皆無なんですよね・・・。
Windows Vista + IE8でやってたんですけど、
201 名前:まちがって名前消しちゃいました。[sage] 投稿日:2010/10/03(日) 03:51:22 ID:???
>>196
ttp://stream-recorder.com/forum/tutorial-simply-use-rtmpsrv-and-example-t6325.html
を参考にして落とせたのでご報告。環境winXP+IE8
1.Wiresharkでhostを調べる→brightcove-05.fcod.llnwd.net
2.hostsファイルをバックアップ
3.hostsファイルに→127.0.0.1 brightcove-05.fcod.llnwd.net
4.rtmpsrv.exeと同じディレクトリにbatファイルを作成
rtmpsrv.batの中身↓
rtmpsrv > rtmpdump.bat
5.rtmpsrv.batを実行
6.ブラウザで動画再生
7.rtmpdump.batに解析内容が出力される
エラーで止まるがおそらくhostsいじってるせいなので気にしない
8.hostsファイルを元に戻す
9.rtmpdump.bat実行→ウマー
今回の場合 -C S:mp4:media/... の部分でエラーになるので
-C S:"mp4:media/..." のようにbatファイルを修正
【DL】動画の保存方法総合スレ【保存】part7
http://hibari.2ch.net/test/read.cgi/streaming/1292375910/
213 名前:名無しさん@お腹いっぱい。[] 投稿日:2011/02/01(火) 02:08:39 ID:k800WMN+0
>>212
rtmpsrvというのが、よく分からなかったのですが
つまり、これはどういったものなのでしょうか?
ラジコを録画するときによく使用され、
海外サーバーにアクセスして録画するみたいな事が書いてあったのですが
ttp://rtmpdump.mplayerhq.hu/
ここで一応、ダウンロードができるようで、これをダウンロードして
コマンドを設定すれば動画が落せるって事であっていますか?
しかし、動画を再生してrtmpsrvを起動するとディレクトリに
動画ファイルが作成されて~という説明も見つけたのですが
解説ページが少ないので、意味不明状態です
215 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/02/01(火) 02:55:22 ID:nED80VH70
>>213
rtmpsrv は一言で言って一種のプロクシ。
クライアント (ストリーミング動画を再生するプレイヤ) とサーバの間に挟んで通信内容を解析する。
接続先が解析できたら rtmpdump が呼出されてダウンロードが開始される。
rtmpsuck もプロクシだが、 rtmpsrv が解析だけしてダウンロードは rtmpdump に丸投げなのに対して
rtmpsuck は通信している動画情報をそのまま保存する。
実際にやりとりしている情報を保存するのでこれ以上確実な方法は無いと思う。
DNSリゾルバがクライアントの接続先を rtmpsuck に向けるように設定したりする必要がある。
ググるとPCを二台 (仮想PCでもいい) 用意する方法が紹介されている場合が多いけど、
仮想PCの設定から始めるのはいかにも面倒な方法ではあるわなぁ…。
335 名前:まちがって名前消しちゃいましたいました。[sage] 投稿日:201185 ID:???
rtmpsuckを使いradikoを録音する基本的な方法をまとめてみた。
インストール方法は省略する。ーrtmpdumpのほうのインストール方法をググればすぐ分かるはず、通常はrtmpdumpと一緒にインストールされている
581 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/04/20(水) 18:50:16.67 ID:Kig6ZGl30
>>580
後学の為に、簡素だけど工程
ローカルなWINの場合、まずhosts書換
127.0.0.1 bwstream.uliza.jpを追加
suck or srv起動
動画再生→各パラメータ取得
hostsを元に戻す
不要なAMFデータ削除
dump実行→ウマー
【ネットラジオ】 radiko 関連ソフト総合 Part5
http://hibari.2ch.net/test/read.cgi/software/1299389698/
37 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/13(日) 20:27:46.73 ID:lAip+WeQ0
windowsでrtmpdump+mplayerで聞けなくなった。エリア制限解除の方が嬉しいし良いけど
"C:\(略)\rtmpdump" -q -vr "rtmpe://radiko.smartstream.ne.jp" --playpath "simul-stream" --app "TBS/_defInst_" -f "TEST" |"C:\(略)\mplayer\mplayer" -cache 64 -
39 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/13(日) 20:44:37.83 ID:7SruaUI00
>>37
フラッシュプレイヤーと鯖とのコネクションに認証トークン仕込まれたからストリーム録音は死亡っす
109 名前:名無しさん@お腹いっぱい。[] 投稿日:2011/03/16(水) 00:19:04.22 ID:c7G0pdvq0
wget --header="pragma: no-cache" --header="X-Radiko-App: pc_1" --header="X-Radiko-App-Version: 2.0.1" --header="X-Radiko-User: test-stream" --header="X-Radiko-Device: pc" --post-data="\r\n" --no-check-certificate https://radiko.jp/v2/api/auth1_fms
111 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/16(水) 02:33:46.69 ID:ImYtNVbe0
>>109
X-Radiko-AppType=pc
X-Radiko-AuthToken=JguAW8d12LwS4ctHNjL9qQ
X-Radiko-AuthWait=0
X-Radiko-KeyLength=16
X-Radiko-KeyOffset=142096
おお、すごい!
少し光が見えてきた
116 名前:名無しさん@お腹いっぱい。[] 投稿日:2011/03/16(水) 23:01:38.62 ID:c7G0pdvq0
>>111
RadikoPlayer_keyImage.dat
129 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/18(金) 03:29:39.01 ID:s7GBlN4F0
参考までにradikoのストリームセッション確立までのダンプ
ttp://pastebin.com/trJSweB7
132 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/18(金) 10:00:58.62 ID:Mr9xQs/20
>>131
>>116のファイルをplayer.swfから引っこ抜いて、
そのファイルの先頭authoffsetからauthlengthバイトを
base64でエンコードしてpartialkeyで渡せばおk。
その後は知らん。
133 名前:名無しさん@お腹いっぱい。[] 投稿日:2011/03/18(金) 10:01:59.90 ID:8h3+6Abv0
>>131
conn.setRequestProperty("X-Radiko-PartialKey", key);
【動画配信】rtmpdump総合スレ【radiko】
http://yuzuru.2ch.net/test/read.cgi/pc2nanmin/1271066265/
328 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/16(水) 02:28:24.56 ID:???
【ネットラジオ】 radiko 関連ソフト総合 Part5
http://hibari.2ch.net/test/read.cgi/software/1299389698/109
109 名前:名無しさん@お腹いっぱい。[] 投稿日:2011/03/16(水) 00:19:04.22 ID:c7G0pdvq0
wget --header="pragma: no-cache" --header="X-Radiko-App: pc_1" --header="X-Radiko-App-Version: 2.0.1" --header="X-Radiko-User: test-stream"
--header="X-Radiko-Device: pc" --post-data="\r\n" --no-check-certificate https://radiko.jp/v2/api/auth1_fms
これでトークンキー取れるみたいなんだけど、rtmpdumpのオプションでこのキーの渡し方が分かる人いますか?
335 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/17(木) 22:42:35.85 ID:???
◆rtmpsuckとはー
フラッシュのストリーミングを動的にキャプチャするための透過プロキシ。
したがってフラシュのクライアント(通常であればWEBブラウザ)からのパケットをローカル(もしくは他ホスト)のrtmpsuckに転送する必要がある。
なおかつrtmpsuckを経由したパケットが本来の宛先であるストリーミングサーバに送出できなければならない。
◆ローカル環境でrtmpsuckを作動させるための条件
①linux
②firefoxで正常にradikoを聴取できること
③rtmpsuckとfirefoxを実行する別々のユーザーを用意すること(iptablesでユーザープロセスに対するマッチングフィルタを行い、透過的にパケット通過させるため)
④IPパケットの転送を有効にすること[echo 1 > /proc/sys/net/ipv4/ip_forward]
◆ローカル環境でrtmpsuckを使いradikoのストリーミングをキャプチャする手順
①iptablesで以下のフィルタリングルールを追加する。"xxxxx"の部分はfirefoxを実行するユーザー名に置き換えること
iptables -t nat -A OUTPUT -d 219.103.34.224 -p tcp --dport 1935 -m owner --uid-owner xxxxx -j REDIRECT
②①の"xxxxx"とは別のユーザーでrtmpsuckを起動する。
③ユーザー"xxxxx"でfirefoxを起動してradikoを聴取する
以上でrtmpsuckが正常に動作した場合には実行環境下にストリーミングファイルが保存されるだろう。
339 名前:まちがって名前消しちゃいました。[] 投稿日:2011/03/18(金) 22:20:14.96 ID:HXJTO+60
>>337
まじ、すげえ。鍵の取得は328では?トークンとは別?
340 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/18(金) 22:21:16.14 ID:???
>>337
すごい!
どんなオプション記述ですか?
341 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/18(金) 23:09:01.30 ID:???
>>335の
>iptables -t nat -A OUTPUT -d 219.103.34.224 -p tcp --dport 1935 -m owner --uid-owner xxxxx -j REDIRECT
の"-d 219.103.34.224"を抜くと他のフラッシュ動画もブラウザで再生するだけで勝手に落ちてくるw
342 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/18(金) 23:19:51.82 ID:???
>>339 328は鍵で、これを認証させないといけない
必要なデータがswfに格納されてるらしいけど、それを取り出すための知識は持ってないので
>>340 今手元に資料ないんだけど、成功時のdebugデータを元にrtmp.cのSendなんちゃらを書き換えと
RTMP_Initかなんかでm_fEncodingかなんかに適当に値をつけてやる。ちなみに鍵は-uで指定
343 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 00:08:01.42 ID:???
http://gist.github.com/875864
macでしか動作確認してないけど
344 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 00:11:48.38 ID:???
>>343
GJ!Genius!!
345 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 00:34:17.78 ID:???
スクリプトの実行は 局名を引数で指定するだけですよね?
"yum instatll swftools"でswfextractをインスコしたんだけど
Unknown option: -b
failed get keydata
で処理が止まってしまいます。
centos5.5-x86_64です。
346 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 00:51:23.06 ID:???
>343
authkey.pngてのは必要な資材でしょうか?
347 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 00:56:54.65 ID:???
>>343
GJ!
FreeBSD OKでした
>>345
sh -x rec_radiko.sh
て動作させてみれば足りない物解るとおもうよ。
348 名前:まちがって名前消しちゃいました。[] 投稿日:2011/03/19(土) 01:03:35.51 ID:vBzBbB9k
>>343
すばらしい。
ARM CPU上の debian linux という特殊な環境ですが、
ちゃんと動きました。
349 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 01:20:42.19 ID:???
>>345
多分swftoolsが古いので、ソースからインストールしてみると良いかも。
350 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 01:23:19.63 ID:???
>>349
thx!!
351 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 01:43:50.37 ID:???
>>343
>>349
私もswftoolsをソースからインストールして出来ました!すばらしい!
352 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 02:29:26.79 ID:???
これは近年稀に見る2chでのハック
353 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 06:42:42.96 ID:???
何をどうすんのかサッパリわかんねwwwみんな賢いんだな
354 名前:まちがって名前消しちゃいました。[sage] 投稿日:2011/03/19(土) 08:39:01.65 ID:???
>>343
すばらし。
CentOS 5.3 のx86_64で動きました。
swftoolsはダメだったんでソースから。

この記事へのコメント