m3u8转码利用GitHub做视频图床

如何实现

jsd能加载GitHub中单个20M以下的静态资源,所以能实现图床的功能。视频床也就是同样的道理,但通常视频的大小都超出了20M的大小限制。每次上传的文件数量是100个,这时我们就可以将视频切片,用m3u8索引 整合播放。

m3u8是什么

m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。

m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。

将m3u8索引文件与视频切片放在GitHub同一目录下,即可通过jsd调用达到播放目的
jsDelivr与GitHub都明白,那标题里的FFmpeg又是什么?
FFmpeg是一套Linux环境下开发出来的视频音频处理程序,但它可以在包括 Windows 在内的大多数操作系统中编译。我们用它来将视频切片


不BB,现在开始使用FFmpeg切片视频
FFmpeg环境配置
去FFmpeg官网http://ffmpeg.org/下载软件包,软件包中找到主程序ffmpeg.exe(只要ffmpeg.exe这个文件)
把它复制出来
m3u8转码利用GitHub做视频图床 技术分享 第1张
在把MP4文件复制到同目录下
win+R打开cmd,cd到这个目录
比如:
比如我的是G盘
在cmd
g:
m3u8转码利用GitHub做视频图床 技术分享 第2张
在CD到文件夹
m3u8转码利用GitHub做视频图床 技术分享 第3张
m3u8转码利用GitHub做视频图床 技术分享 第4张
m3u8转码利用GitHub做视频图床 技术分享 第5张
显示如上选项即环境配置成功
开始切片,假设你的视频文件名为abc.mp4
m3u8转码利用GitHub做视频图床 技术分享 第6张
1.先用ffmpeg把abc.mp4文件转换为abc.ts文件:
ffmpeg -y -i abc.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb abc.ts
m3u8转码利用GitHub做视频图床 技术分享 第7张
m3u8转码利用GitHub做视频图床 技术分享 第8张
2.再用ffmpeg把abc.ts文件切片并生成playlist.m3u8文件,5秒一个切片:
ffmpeg -i abc.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 abc%03d.ts

abc%03d.ts切出来的文件名字(自己修改)
这其中5表示5秒一个切片,可以自行更改(单个大小要在20m以下)

( playlist.m3u8可以自行改成xxx.m3u8 ,如更改则最终组成链接时需要对应的更改文件名)
上传所有文件至GitHub
这就不用解释了吧。。上传m3u8文件以及所有的xxx.ts文件

记得放在同一个文件目录中!

最终完成和我们的视频链接为

https://cdn.jsdelive.net/gh/GitHub用户名/库名/文件目录/playlist.m3u8

比如我的https://cdn.jsdelivr.net/gh/ztdha520/mv/111.m3u8

Eg:如图用户ztdha520,文件存放在名为"mv"的目录
m3u8转码利用GitHub做视频图床 技术分享 第9张

评论已关闭