如何将视频切片并上传到GitHub

顺带一提,已经有恶魔往GitHub里面塞4K你的名字电影了!!!

GitHub对项目大小的限制,因此请注意自己项目的大小和切片文件的大小,尽可能避免被GitHub警告。

建议切片切5秒。

准备

在Windows安装ffmpeg、git,建议使用choco进行安装。
注册好GitHub账号。
将视频文件单独存放在英文目录。
准备好自己的域名接入cloudflare并使用cloudflare解析。

转码

对视频进行转码(转为 mp4),将视频文件转为视频编码 h.264,音频编码 aac 格式的 mp4 文件,mp4 视频文件不是 h.264 编码到后面切片的时候可能会遇到很多莫名其妙的问题。(音画不同步之类的)

# infile.mp4 是待转码的文件(可以是其他格式,比如 avi…… 之类的)
// outfile.mp4 是转码输出文件
// libx264 转为 h.264 编码
ffmpeg -i infile.mp4  -c:v libx264 -strict -2 outfile.mp4

切片

我使用的 FFmpeg 工具来切片

将转码为h.264编码的视频转为ts格式

ffmpeg -i 视频位置 -c copy -bsf:v h264_mp4toannexb 存放视频位置.ts

ffmpeg -i 视频位置 -c copy -map 0 -f segment -segmenttime 8 -segment_list pp.m3u8 pp%03d.ts -c copy -map 0 -f segment -segmenttime 8 -segment_list pp.m3u8 pp%03d.ts

segment_list是文件存放位置,自己搞

测试

进入存放切片的文件夹,找到m3u8文件,使用vlc,potplayer之类的播放器打开m3u8文件。可以正常播放就行。

处理

将m3u8文件和视频原文件移出存放切片文件夹。

别将m3u8文件和视频原文件一起上传到GitHub了。


上传

将切片文件上传到github

编辑m3u8
使用编辑文本之类的软件打开m3u8文件,将里面的文件名
output000.ts
全部替换成
https://cdn.jsdelivr.net/gh/用户名称/仓库名称@(master)或者版本号/目录/文件名称.后缀
具体链接样时请根据你自己的存储库进行处理。