视频切片技术研究
目前已知两种视频切片,一个是m3u8,一个是mpd
mp4转m3u8的命令:
ffmpeg -i principles.mp4 -vcodec copy -acodec copy -hls_time 360 -hls_list_size 0 index.m3u8
加密的m3u8视频:
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uni4934e7b/50b072b0-6124-11eb-a16f-5b3e54966275.m3u8
未加密的m3u8视频:
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uni4934e7b/53b1e0f0-6126-11eb-bdc1-8bd33eb6adaa.m3u8
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-d420af8e-bb77-43b2-89e4-7bd5880cf860/158f758c-ebe7-4a4e-8c52-a2d22c73b449.m3u8 (74.8MB)
利用ffmpeg命令可以直接保存m3u8到本地mp4:
ffmpeg -i https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uni4934e7b/50b072b0-6124-11eb-a16f-5b3e54966275.m3u8 -c copy C:/Users/John/Desktop/output.mp4
将mp4转为mpd的命令:
ffmpeg -i wolf.mp4 -c copy -f dash -min_seg_duration 60000000 wolf.mpd
mpd的例子:
https://static-d420af8e-bb77-43b2-89e4-7bd5880cf860.bspapp.com/mpd/wolf.mpd
网页播放mpd文件需要dashjs,示例:
https://static-d420af8e-bb77-43b2-89e4-7bd5880cf860.bspapp.com/mpd/dash.html
下载方式跟m3u8一样:
ffmpeg -i https://static-d420af8e-bb77-43b2-89e4-7bd5880cf860.bspapp.com/mpd/wolf.mpd -c copy C:/Users/John/Desktop/output.mp4
需要主意的是,这个命令在ffmpeg 4.3版本无效,测试在4.2.2上是有效的,目前还不清楚为何官方在新版上反而不支持。