如何抓取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的播放器來播放了。