播放预览
剧集列表
测试
今天网上冲浪,意外看到一篇文章说可以用jsDeliver + GitHub加速图片的思路去加速视频。但是这里面有个限制,那就是超过20MB的东西jsDeliver是不允许的。还有一个就是,github是有可能被jsDeliver拉黑不给加速的。但是我还是试了下。
工具
用的是ffmpeg
先将视频转码
对视频进行转码(转为 mp4
),将视频文件转为视频编码 h.264
,音频编码 aac
格式的 mp4
文件。据说,如果mp4
视频文件不是 h.264
编码到后面切片的话可能会遇到很多莫名其妙的问题(咱也不知道是不是)
# infile.mp4 是待转码的文件(可以是其他格式,比如 avi…… 之类的)
# outfile.mp4 是转码输出文件
# libx264 转为 h.264 编码
ffmpeg -i infile.mp4 -c:v libx264 -threads 5 -preset ultrafast -strict -2 outfile.mp4
[alt type="info"]这里 -threads 5 -preset ultrafast
是关键,这是开启多线程,不然会很慢[/alt]
切片并转码
接下来是将上面转码后的视频进行切片,并生成m3u8文件。
# output.mp4 需要切片的视频文件
# playlist.m3u8 待生成的 m3u8 文件名
# 5 切片时间,表示隔几秒进行切一个文件
# output%03d.ts 生成切割ts文件名,output%03d.ts 代表生成 output001.ts、output002.ts 这样的格式,03d 可以随意修改,占位符
ffmpeg -i output.mp4 -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 output%03d.ts
[alt type="info"]切片成功后,把所有切片及m3u8文件放在一个文件夹上传到github[/alt]
m3u8在线链接:https://cdn.jsdelivr.net/gh/xxx/m3u8/yourname/playlist.m3u8
xxx是你的github用户名
评论 (0)