如何利用`ffmpeg`将`mp4`等视频文件转换为`m3u8`
我们经常看到一些`视频网站`
比如`电影网站`
一部`好莱坞大片`几G播放还比较顺畅
看了下`html`代码,也看不到直接的`mp4`文件
可以看到有`m3u8`
仔细看了m3u8文件的内容,都是一系列的`ts文件`
这样有什么好处呢?
这样可以播放很快,一系列的视频小文件,可以在很短的时间内加载完成,播放一个视频后,会自动播放下一个ts文件
我们可以通过`ffmpeg`命令来实现
```
ffmpeg -i 水浒传01.mp4 -f segment -segment_time 10 -segment_format mpegts -segment_list index.m3u8 -c copy -bsf:v h264_mp4toannexb -map 0 course-%04d.ts
```
查看index.m3u8
```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:14.480000,
course-0000.ts
#EXTINF:9.600000,
course-0001.ts
#EXTINF:9.600000,
course-0002.ts
#EXTINF:9.600000,
course-0003.ts
```
也可以将里面的ts文件改为全路径
如
```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:14.480000,
https://www.yuanchengzhushou.cn/course-0000.ts
#EXTINF:9.600000,
https://www.yuanchengzhushou.cn/course-0001.ts
#EXTINF:9.600000,
https://www.yuanchengzhushou.cn/course-0002.ts
#EXTINF:9.600000,
https://www.yuanchengzhushou.cn/course-0003.ts
```