经常在各种影视站看到图床切片的视频,研究了下。
首先看效果(新人练手项目,代码很烂,重在思路)
视频仅提供示例,随便下的一个视频
本文不提供相关接口,仅做技术复现!
前期准备
需要首先安装
ffmpeg
并配置到环境变量(使用命令行输入ffmpeg
可以正常打开的那种)
https://www.gyan.dev/ffmpeg/builds/
或
https://github.com/BtbN/FFmpeg-Builds/releases
目录结构
项目分为以下几部分
- 对 mp4 文件进行格式转换,转成单个 ts 文件
- 对 单个 ts 文件进行转换,转成 m3u8 文件和 ts 切片文件
- 对 ts 切片文件进行重构,使其具有
PNG
文件格式的文件头 - 上传图床并根据返回的结果重写之前 m3u8 文件。
一、文件转换部分
mp4
转 单个 ts
二、生成 m3u8
文件
单个 ts
转 m3u8
三、ts
文件格式处理部分
首先重命名为 PNG
后缀
重写覆写 ts
文件头,使其拥有 PNG
文件头
PNG 文件头 16 进制数据如下(放在项目目录命名为 PNG
)
四、文件上传以及重写 M3U8
文件
文件上传
提取返回的 url
重写 m3u8 文件
五、串联以上代码的入口函数
需要自行创建文件夹及准备文件
- ./ts_single/
- ./ts_all/
- ./ts_rewrite/
- ./video.mp4
- ./PNG
完整代码
(无上传接口版本)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZkeqのCoding日志!
评论
ArtalkGiscus