当前位置:   article > 正文

m3u8格式的视频文件解析和拼接_m3u8url2file

m3u8url2file

某年月日回顾了一下亮剑的电视剧,想下载下来保存一份,发现做不到了已经。浏览器接收的都是一段一段的.ts文件和一个.m3u8格式文件。这个m3u8文件相当于ts分片文件的索引,好比一本书的目录部分。
好多年前,大约2015年前吧,记得视频文件都是一个超大文件,打开浏览器,缓冲条慢慢走,视频缓冲完成,基本就相当于下载完了,现在视频网站都改革了,都变成这种大的视频文件分成许多片,一般是ts扩展名的分片文件,然后观看的时候播放器也只需要加载一部分分片文件即可进行播放,免得下载完整的大文件给视频服务器造成太大压力;分片尤其在观看中途暂停续播的时候,直接从上次播放到的ts文件开始继续加载后面的ts文件即可,无需再从头加载完整大文件播放了。

通过查找资料发现,这些ts文件其实是可以拼接到一起组成一个大文件的,而且可以通过FFMPEG进行转码处理的。

总结起来分三步

1.得到视频的m3u8文件,下载到本地,进行解析

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.600000,
c9c3159408d000000.ts
#EXTINF:3.360000,
c9c3159408d000001.ts
#EXTINF:3.720000,
c9c3159408d000002.ts
#EXTINF:4.000000,
c9c3159408d000003.ts
.
.
.
#EXTINF:4.000000,
c9c3159408d000650.ts
#EXTINF:3.120000,
c9c3159408d000651.ts
#EXTINF:4.000000,
c9c3159408d000652.ts
#EXTINF:1.440000,
c9c3159408d000653.ts
#EXT-X-ENDLIST

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

2.解析m3u8文件将其中的ts文件组合完整的url全部下载到本地

拼接url路径,下载到本地文件夹。

3.将下载完毕的ts文件进行拼接,形成一个完整的大文件

将ts文件按顺序拼接成一个大的视频文件。
可以使用windows提供的命令行工具copy实现,也可以自己代码实现。

z:\DATA\liangjian>copy /B *.ts z:\tmp\liangjian.mp4
  • 1

第三步完成后,使用支持的视频播放器即可播放了。
…如果需要转码处理,可以考虑用FFMPEG处理。暂时不讨论。
参考文章:https://www.jianshu.com/p/2a5403234b14

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/154730
推荐阅读
相关标签
  

闽ICP备14008679号