如何抓取rtmp串流影音?
宜蘭縣羅東國中 賴思明老師

網路上許多影音都利用flash player來播放,大部分的原始格式為.flv,如有名的youtube等,若其檔案走的協定為http協定,那大部分的軟體都可以直接下載,有名的如:Jdownloader、Orbit downloader…,但若走的協定為rtmp,這些軟體就沒辦法下載了,以下介紹如何下載rtmp協定的線上影音,我以中天電視的網站為例( http://www.ctitv.com.tw/drama_video.html ):

操作的邏輯為:先取得影音檔案的rtmp url (格式為rtmp://aaa.bbb.ccc./x.flv),再利用rtpdump程式,將線上影音檔存到檔案中:

1.首先到  http://rtmpdump.mplayerhq.hu/  下載rtmpdump,這裏我用的是 windows版的rtmpdump

 

2.接著到中天電視的網站,假設我要抓的是沈春華Life Show的影音( http://www.ctitv.com.tw/drama_video_c96.html ),點選要下載的頁面。

 

3.在瀏覽器中按右鍵,選擇檢視原始檔,找到url的所在,有的網站會直接列出.flv的位置,有的則是像中天電視一樣,給一個.xml檔,可以用搜尋(Ctrl+F)關鍵字的方式,試試.flv或.xml,本例子是找到如下的.xml位置 ( http://www.ctitv.com.tw/ctiplayer/a/60192/1/flashvars.xml )。

 

4.打開上面的xml檔案,可以找到rtmp的位置 (rtmp://video.ctitv.com.tw/vod/media/2011/10/31/fb4b76f4-2fb9-4075-b97d-71ef3444d729.flv),用瀏覽器是無法打開的,這時候就需要rtmpdump來幫忙。

 

5.先將rtmpdump解到c:rtmpdump中

 

6.開啟dos視窗到rtmpdump目錄中,cd c:rtmpdump

 

7.rtmpdump是命令列的程式,使用的方式為 rtmpdump -r rtmp的url -o 輸出的檔名.flv,本例中使用的命令列是 

c:rtmpdump>rtmpdump -r rtmp://video.ctitv.com.tw/vod/media/2011/10/31/fb4b76f4-2fb9-4075-b97d-71ef3444d729.flv -o saved.flv

可以將要抓的串流檔存成saved.flv

 

8.等抓完就可以看到如下的畫面。

 

9.dir 後,就可以看到存下來的saved.flv,此時就可以用支援flv的播放器來播放了。