欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    M3U8

    當我們看劇的時候,想把這個下載下來怎么辦呢?打開瀏覽器的控制臺,可以發現瀏覽器請求了一個m3u8地址,如下圖:

    這個地址就是視頻資源的索引地址,而返回的ts文件,就是被切割的很小的一個個視頻文件.

    如果我們可以把這些ts文件都下載下來,然后合并,轉碼成mp4,那么我們就得到了完整的視頻文件.

    請求m3u8地址,得到的m3u8文件格式如下:

    沒有加密:

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:7
    #EXT-X-MEDIA-SEQUENCE:0
    #EXTINF:4.166667,
    5b1adcbb728000000.ts
    #EXTINF:4.958333,
    5b1adcbb728000001.ts
    #EXTINF:2.958333,
    5b1adcbb728000002.ts
    ......
    #EXTINF:2.125000,
    5b1adcbb728000204.ts
    #EXT-X-ENDLIST

    有加密:

    ts流媒體格式播放器_ts格式轉換器-ts格式轉換高清實現_ts流播放器

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:2
    #EXT-X-MEDIA-SEQUENCE:0
    #EXT-X-KEY:METHOD=AES-128,URI="/20220415/hq0ifQwb/1000kb/hls/key.key"
    #EXTINF:0.189,
    /20220415/hq0ifQwb/1000kb/hls/pB625ruF.ts
    #EXTINF:0.5,
    /20220415/hq0ifQwb/1000kb/hls/SH2VgoEz.ts
    #EXTINF:1.25,
    /20220415/hq0ifQwb/1000kb/hls/Dv4M2bdG.ts
    ......
    /20220415/hq0ifQwb/1000kb/hls/q7lZX33G.ts
    #EXTINF:1,
    /20220415/hq0ifQwb/1000kb/hls/9EOUyDBJ.ts
    #EXT-X-ENDLIST

    下載

    說一下核心的代碼吧,粘太多代碼也不好看.

    這里請求m3u8的url,得到index.m3u8文件,然后解析文件.有時候可能會出現文件里還有m3u8鏈接嵌套的情況,這種情況可以使用遞歸的方式來進行解析,因為這種情況比較少,所以沒有使用遞歸.

    解析得到ts文件的url,播放時長,還有序號.

    播放時長是用來計算整個視頻的長度的,序號是為了最后拼接的時候,文件順序不會亂.

    如果被加密,獲取加密key,加密方法,偏移向量等解密需要的信息.

    ts流媒體格式播放器_ts格式轉換器-ts格式轉換高清實現_ts流播放器

    使用并行的方式下載所有的ts文件.

    試過使用線程池還有Fork-Join,這種并行的方式底層就是使用的Fork-Join.兩種下載速度差不多.

    這里并發數設置為4,如果設置太大,怕服務器扛不住.還是善良一點吧.由于是并行下載,所以下載順序是亂序的,所以最后合并的時候序號還是很重要的.

    解密

    接下來就是解密了,因為不是所有的m3u8都加密了,所以這里要先判斷一下是否需要解密,不需要直接返回即可.

    ts流媒體格式播放器_ts格式轉換器-ts格式轉換高清實現_ts流播放器

    合并

    因為ts片段可以無縫拼接,所以合并比較簡單,使用文件流的方式寫到一起就可以了.

    格式轉換

    想要用Java轉換視頻格式,那就少不了這個工具:

    是一款開源軟件,提供了強大的音視頻編解碼工具.也是音視頻編解碼開發套件,為開發者提供了豐富的音視頻的調用接口。

    提供了多種媒體格式的封裝和解封裝,包括多種音視頻編碼、多種協議的流媒體、多種色彩格式轉換、多種采樣率轉換、多種碼率轉換等; 框架提供了多種豐富的插件模塊ts流媒體格式播放器,包含封裝與解封裝的插件、編碼與解碼的插件等。

    使用 作為內核視頻播放器:

    ts流播放器_ts流媒體格式播放器_ts格式轉換器-ts格式轉換高清實現

    使用 作為內核的 :

    使用 作為內核的轉碼工具:

    Mac可以使用安裝:

    brew

    到這里就完成了.

    ts流媒體格式播放器_ts流播放器_ts格式轉換器-ts格式轉換高清實現

    全部下載完之后,調用這個方法,就可以把ts格式的轉為mp4.

    剛開始的時候,我想過用多線程的方式,把ts片段轉為mp4后,再進行合并,這樣可以省去最后轉換的時間.

    后來發現,如果都轉為mp4之后,就不能使用文件流讀取,然后寫到一個文件的方式來進行合并了.

    因為每個mp4文件有自己的文件頭,不能這樣合并.

    的用法很多,功能很強大,感興趣的可以看一下.

    好啦,就這樣吧, 如需合作ts流媒體格式播放器,請私信。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有