# m3u8 **Repository Path**: Exler/m3u8 ## Basic Information - **Project Name**: m3u8 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-07 - **Last Updated**: 2024-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 程序设计 模块 1. m3u8文件获取 1. url 2. file 2. m3u8文件解析 3. ts文件下载 4. 视频文件格式转换 1. ts文件合并 2. ts 转 mp4 # 测试案例 ## 1 特征 1. ts文件有url全路径 2. 没有加密 ``` #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:4 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:2.760000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0000.ts #EXTINF:2.000000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0001.ts #EXTINF:2.000000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0002.ts #EXTINF:2.000000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0003.ts #EXTINF:1.600000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0004.ts #EXTINF:1.880000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0005.ts #EXTINF:1.960000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0006.ts #EXTINF:2.000000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0007.ts #EXTINF:2.920000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0008.ts #EXTINF:1.400000, https://xxxx.com/202307/03/XspvtJFyaU3/video/1000k_0X720_64k_25/hls/player0009.ts ``` ## 2 特征 1. ts文件没有url全路径 2. 没有加密 ``` #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXTINF:3.366667, 00.ts #EXTINF:3.366667, 01.ts #EXTINF:3.333333, 02.ts #EXTINF:3.366667, 03.ts #EXTINF:3.366667, 04.ts #EXTINF:3.366667, 05.ts #EXTINF:3.366667, 06.ts ``` ## 3 1. ts文件没有url全路径 2. 有 AES-128 加密,没有iv ```text #EXTM3U #EXT-X-VERSION:3 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:1 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="https://xxxx.com/ali_mts_key?Ciphertext=MjQ0MWNiODktNmNmOC00NWI2LTlhMGQtYjg3Y2RmMTViNTg1MzduRVRoYzBza09jOHFzemJaV1JJdFd3QXF2VVB6dDNBQUFBQUFBQUFBQVY3c251ZTdSa09mNHJLKzZlemN3NnNidTR4bmxKdkVKYXNqdVVWa2dXeER6dlZnbm5xWCsy&ObjectKey=tqsbq46ers2bg7km0vadde4912ghok5t&MtsHlsUriToken=ZW5jcnlwdGVkPTEmdWlkPTE1NDUxNTIxNTU0NDgyJnZpZD0yNDE4MjE0NDQxJmV0PTE3MDQ2MTQ5NTAxNDMmc2lnbj0yQjNDODRGQUNFNDUxRkI0QkMyNjdBOTBEQkFDRDY3QQ%3D%3D" #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00001.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00002.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00003.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00004.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00005.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00006.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00007.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00008.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00009.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00010.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00011.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00012.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00013.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00014.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00015.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00016.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00017.ts #EXTINF:1.000000, tqsbq46ers2bg7km0vadde4912ghok5t-00018.ts ``` ## 4 1. ts文件有url全路径 2. 有 AES-128 加密,有iv ```text #EXTM3U #EXT-X-VERSION:3 #EXT-X-KEY:METHOD=AES-128,URI="https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/crypt.key?auth_key=1704614502-11-0-e8745c3aea9849ef9598ede782ec4b98",IV=0x609ea2372fd0749145aed18c3e5a08ff #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-TARGETDURATION:6 #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb0.ts?auth_key=1704614502-11-0-fd4c881cf7ed266a8c7d337a02403ac6 #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb1.ts?auth_key=1704614502-11-0-dbb53270f0c5e01772b5ba385eb47f03 #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb2.ts?auth_key=1704614502-11-0-9c512248b86f2dba9972a993bb09b6e5 #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb3.ts?auth_key=1704614502-11-0-51d01b802827d71f665b3beaea67f1ec #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb4.ts?auth_key=1704614502-11-0-e503a71e7cb0dca88f24a7777da79155 #EXTINF:5.067, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb5.ts?auth_key=1704614502-11-0-26ce98a7dd19b821debeaa4675429dd9 #EXTINF:5.000, https://xxxx.com/videos2/d4b62f916fd0502d1e4d19f8be71bedb/d4b62f916fd0502d1e4d19f8be71bedb6.ts?auth_key=1704614502-11-0-0d260de85235df5acd8f910c5a84223f ```