将视频切片并上传到GitHub

William
2020-12-30 / 0 评论 / 64 阅读 / 正在检测是否收录...

今天网上冲浪,意外看到一篇文章说可以用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]

电影:你的名字

电影:天气之子

0

评论 (0)

取消