分析优酷/土豆/pptv/乐视 HTML5、m3u8地址
生活随笔
收集整理的這篇文章主要介紹了
分析优酷/土豆/pptv/乐视 HTML5、m3u8地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分析優酷/土豆/pptv/樂視 HTML5、m3u8地址
分類: Android 2013-11-08 14:22 6654人閱讀 評論(0) 收藏 舉報 優酷樂視土豆移動平臺視頻流目錄(?)[+]
轉載:http://blog.sina.com.cn/s/blog_4ae178ba01015hx1.html http://blog.sina.com.cn/s/blog_4ae178ba01015hwz.htmlYouTube已經支持HTML5嵌入。YouKu目前全站支持HTML5,不過嵌入代碼還是Flash的。抽空分析了下HTML5下的播放地址,很簡單。 優酷?
大男當婚?第1集?(看紅色文字,應該看的明白)
網頁地址:http://v.youku.com/v_show/id_XNDU1NjE4Nzg0.html? 查看源文件,在上面的JS內容中,大概在源文件40行左右,找到: var videoId2 = 'XNDU1NjE4Nzg0'; 轉換獲取m3u8 地址(以下兩地址都可以播放):mp4:http://v.youku.com/player/getRealM3U8/vid/XNDU1NjE4Nzg0/type/mp4/v.m3u8flv:http://v.youku.com/player/getRealM3U8/vid/XNDU1NjE4Nzg0/type/video.m3u8其中“XNDU1NjE4Nzg0”為視頻videoId2土豆 在土豆頁面源碼中找到這個 js 文件: http://js.tudouui.com/js/page/play/ios/iosplayer_14.js 從中分析土豆 .m3u8 文件地址應該是 http://m3u8.tdimg.com",u,r,q,t+".m3u8 而 u,r,q,t 這四個值如何取得就不知道了,跟土豆視頻的頁面地址 http://www.tudou.com/programs/view/xxxx/ 毫無關系。 ? 然后我隨便找了一個首頁視頻:http://www.tudou.com/programs/view/GXVRIlaM2dM 看它源碼大概15行左右找到, 頁頭有一段: ? <body id="p-pi" class="page_play normal"><script>document.domain = "tudou.com"; var pageId = 1 ,defaultTheme = 'normal' ,iid = 140638149 ,icode = 'GXVRIlaM2dM' ,oid = 73656148 ,onic = "土豆大明星" ,cid = 1 ,time = '01:38' ,pic = 'http://i2.tdimg.com/140/638/149/p.jpg' ,lpic = "http://i2.tdimg.com/140/638/149/w.jpg" ,kw = "李穎芝靠暴露走紅 脫“齊P短裙”穿爆乳裝再戰車展" ,title = kw ,desc = "李穎芝靠暴露走紅 脫“齊P短裙”穿爆乳裝再戰車展" ,hd = 1 ,liveplayer = "http://js.tudouui.com/bin/online/MiniLivePlayer_2.swf" ,ol = 1 ,olw = 640 ,olh = 480 ,olr = 2278664 ,tict=3 ,dl = !0 ,sha = !0 ,np = 0 ,audio = false ,nc = '0' ,DMjsvar = "cid_1_0" ,comscore_c6 = 0 ,playerUrl = "http://js.tudouui.com/bin/player_online/TudouVideoPlayer_Homer_NewSkin_26.swf"; </script> ...... </body> 從上面得到視頻縮略圖地址是:http://i2.tdimg.com/140/638/149/w.jpg 發現土豆的 .m3u8 文件地址是? http://m3u8.tdimg.com/140/638/149/2.m3u8(現在不是2,是3了) 測試多個也是這樣。 估計要能在煎蛋支持 iOS 切換到 HTML5 方式播放的話, 有兩種方式:? 1、用curl方式,抓取土豆視頻頁面的縮略圖地址,再替換為.m3u8 文件地址? 2、獲取土豆的 api 做個專門插件,獲取土豆視頻的縮略圖地址,再替換為.m3u8 文件地址 總之很坑爹。 ? 聯系了土豆的技術人員,他們給了我土豆 html5 兼容的視頻代碼: 其中代碼與土豆視頻網址的? http://www.tudou.com/programs/view/xxxx/? 對應搜索 http://api.tudou.com/v3/gw?method=item.search&appKey=myKey&format=xml&kw=畢業季&pageNo=1&pageSize=20&inDays=1&media=v http://api.tudou.com/v3/gw?method=item.info.get&appKey=myKey&format=xml&itemCodes=VpjNU2qwMUw得到視頻詳情,和縮略圖 http://i2.tdimg.com/147/806/921/m25.jpg ? 根據縮略圖, 得到視頻的m3u8地址 http://m3u8.tdimg.com/147/806/921/3.m3u8 樂視 網頁網址: http://www.letv.com/ptv/pplay/81971/6.html 查看源代碼:大概 28行 左右可以找到 pid:81971,//專輯ID,vid:1742809,//視頻ID得到? http://www.letv.com/ptv/pplay/81971/6.html 對應的手機視頻網址: http://ipad.letv.com/play.php?type=1&id=81971&vid=1742809 從上面網址的源代碼中找到下面一視頻代碼大概158行左右: <video style="z-index:-100;" id="media" class="bof" width="100%" controls="controls" tabindex="0" src="http://g3.letv.cn/18/45/9/letv-uts/555554-AVC-549986-AAC-32000-2741905-200674696-bc8d624860c4052441eb633662ab20d3-1347743455655.mp4?b=2000&tag=ios&np=1&vtype=m3u8&ptype=70102210&level=800&t=1347984476&cid=5&vid=0&sign=mb&dname=mobile" autoplay ></video> B: http://gslb.m.letv.com/gslb?s=7/7/113/2071162320.9.m3u8&br=292&vtype=m3u8&ptype=s2&level=350&t=1300069752 注意,這個是一個包含m3u8的文件 ? 3)從B地址可以得到格式為mp4的視頻流文件地址,如下 ?C: http://gslb.m.letv.com/gslb?s=7/7/113/2071162320.9.m3u8 ? 技術含量: 常用的流媒體協議主要有 HTTP 漸進下載和基于 RTSP/RTP 的實時流媒體協議,這二種基本是完全不同的東西,目前比較方便又好用的我建議使用 HTTP 漸進下載的方法。在這個中 apple 公司的 HTTP Live Streaming 是這個方面的代表。它最初是蘋果公司針對iPhone、iPod、iTouch和iPad等移動設備而開發的流.現在見到在桌面也有很多應用了, HTML5 是直接支持這個。 我們可以看看 HTTP Live Streaming 是怎么樣工作的。平時的直播技術中,播放模式中必須等待整個文件下載完才行,在 HLS 技術中 Web 服務器向客戶端提供接近實時的音視頻流。但在使用的過程中是使用的標準的 HTTP 協議,所以這時,只要使用 HLS 的技術,就能在普通的 HTTP 的應用上直接提供點播和直播。 要詳細了解原理,我們先看看這個所需要的步驟。 視頻采集 ->編碼器 -> 流分割 -> 普通 web 服務(索引文件和視頻文件) -> 客戶端 內 容準備的過程大約二種,一是視頻采集,編碼器首先將攝像機實時采集的音視頻數據壓縮編碼為符合特定標準的音視頻基本流,也可以拿編碼完了的文件,有一點必 須保證,就是一定要使用H.264視頻和AAC音頻,因為發明這個的是蘋果公司,只支持這個。然后給這些封裝成成為符合MPEG-2(MPEG 2 TS、MPEG2 PS之所以使用這個,主要是因為聲音和視頻會交織在一起,也會有關鍵幀來讓視頻可以直接播放). 流分割部分在這個中, 比起 RTSP 之類和普通點播的最大不同,就是他會給 MPEG-2 分割成很多個 ts 的文件。分割過程大多是按時間來切,根據國外的資料,建議切 10s 一個的文件,如果碼流高可以 5 秒一次。在分割還有一點不同,就是這時流分割器會生成一個含有指向這些小TS文件指針的索引文件 所以這個文件也必須在 web 服務器上,不能少。每多 10s 時,就會多一個 ts 文件,所以索引也會根著修改成最新的幾段視頻。 最后,這些切分了的小的一系列的 ts 文件,放到普通的 web 服務器中就行了。這時在 CDN 中也是一樣,因為請求這些文件會使用標準的 HTTP 協議。索引文件后綴是.m3u8 ,索引文件采用擴展的M3U播放列表格式,其實就一文本。 內部的視頻的地址會是如下 http://media.example.com/s_96ksegment1.ts http://media.example.com/s_96ksegment2.ts http://media.example.com/s_96ksegment3.ts 所以這時可以直接做 Cache 和直接放到 Web 服務器中,簡單方便。 如果 MIME 的信息輸出不對的話,記的要修改這加入 ts 和 m3u8 的后綴支持 .m3u8 application/x-mpegURL .ts video/MP2T 最后就是客戶端,如果是 HTML 直接在 HTML5 中直接支持這種視頻可以使用如下標簽 <video tabindex="0" height="480" width="640"><source src="/content1/content1.m3u8">
</video> 如果是應用客戶端(Safari QuickTime之類),就得裝軟件來支持,客戶端會根據選擇的流的索引來下載文件,當下載了最少二段后開始播放。直接 m3u8 的索引結束。另外,HTTP可以設計成的自適應比特率流,在不同網絡環境,選擇下載不同碼流的視頻。 所以整個 HTTP Live Streaming 無論是直播還是點播,都能做到近似實時的方式來進行流播放。理論的最小時延是每個切片的長. 目前本協議加入了 IETF 的草案建議 http://tools.ietf.org/id/draft-pantos-http-live-streaming-01.txt 如果網站也想使用這種來做視頻請看 iPhone HTTP 流與 FFMpeg 和開放的源 Segmenter http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/ Akamai http://iphone.akamai.com/ 白皮書 (http://www.akamai.com/dl/akamai/iphone_wp.pdf)
PPTVpptv是html5里盜版電影最全的.都是MP4格式 主頁地址 http://ipad.pptv.com/? 一、取id 如正常觀看地址為 http://ikan.pptv.com/p/10055638 那么MP4格式的需要轉換成http://ipad.pptv.com/play_10055638.htm 由于pptv做了瀏覽器限制 所有需要用curl模擬iPad。? 以下代碼是 curl的函數? function curl($url) {? $curl = curl_init();? curl_setopt($curl,CURLOPT_URL,$url);? curl_setopt($curl,CURLOPT_HEADER,0);? curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);? curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X;?zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5");? //模擬蘋果設備? $data = curl_exec($curl);? curl_close($curl);? return $data;? }? 二、取PlayList信息 這個是MD5加密的 具體是怎么加密的 沒去研究 查看源文件 找到如此代碼 var PlayList = ["ed132f42c1a386b26871a81914278920"];? 三、合并鏈接取播放地址 合并成如下地址 http://ipad.pptv.com/api/ipad/list.js?cb=load.cbs.cb_1&md5=ed132f42c1a386b26871a81914278920 取得json 可以看到一個m3u的列表地址 嵌入到網頁里就可以? 四、小實例 ? 五、總結 沒什么技術含量 主要是為了支持本站的分享電影 如有錯誤 歡迎指正。 現在隨著移動平臺的越來越發達,各大視頻站均紛紛進軍??Ipad androiid 等移動平臺。
移動平臺一般對HTML5支持比較好,而對flv 資源就不那么友好了。MP4也可以很好的在移動平臺上播放。
但是很多視頻可能會出現視頻解碼問題,導致視頻有快進播放,或者慢動作。
而移動平臺視頻最完美的視頻源就是 m3u8? ?手頭有不少M3U8的源。
可惜CMP4不能很好的支持,所以一直沒有發出來,但是我相信不少開發安卓的 對這些資源還是望眼欲穿的。
首先土豆 M3U8:
這玩意說實話不好找,百度GOOGLE 都無果后,決定自己親自去破譯,到土豆官網一看,幾百個APK,欲哭無淚,這得破解到那天。經過精心挑選找到了個不錯的APK成功破譯土豆的m3u8源。
源地址格式:
本帖隱藏的內容
http://vr.tudou.com/v2proxy/v2.m3u8?it=土豆IID&st=2&pw=搜狐M3U8:
這個很好找,搞個蘋果虛擬機,一下出來
本帖隱藏的內容
http://hot.vrs.sohu.com/ipad搜狐視頻ID.m3u8優酷 M3U8:
這玩意就更好找了,基本百度一搜就出來了。
本帖隱藏的內容
http://v.youku.com/player/getRealM3U8/vid/視頻ID/type/v.m3u8PPTV M3U8地址格式
本帖隱藏的內容
IP獲取方法不變,端口改成82端口,mp4改成m3u8即可M1905 M3U8地址格式
官方JS里都有,不絮贅。
奇異M3U8地址:
meta.xml的地址 后綴改成m3u8
新浪的也有IPAD接口,
不過不是M3U8的 是MP4的 就不發了。
迅雷的移動平臺地址也是MP4的。
總結
以上是生活随笔為你收集整理的分析优酷/土豆/pptv/乐视 HTML5、m3u8地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无线 WiFi 流量劫持
- 下一篇: 淘宝系统 B2C电子商务系统UML建模