视频切片后自动上传至国内免费 CDN,无成本加速视频播放
说明:一般我们观看自己下载的电影时候,通常会因为网络或者带宽原因很卡,所以就得处理下,这里萌咖大佬闭关半个月,写出了一个视频转码切片后自动上传至国内 cdn 的脚本,脚本默认提供上传到语雀 cdn 的脚本、采用多线程上传,这里默认 10 线程, 基本上可以很大程度上提高视频的播放速度。
使用
Github 地址:https://github.com/MoeClub/Note/tree/master/ffmpeg
1、安装 ffmpeg
1 2 3 4 | wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz tar xvf ffmpeg-git-*-static.tar.xz mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/local/bin/ rm -rf ffmpeg-git-* |
2、安装脚本
1 2 3 4 5 | #新建/opt/ffmpeg文件夹存放脚本等文件 mkdir /opt/ffmpeg && cd $_ #下载并运行脚本 wget https://raw.githubusercontent.com/MoeClub/Note/master/ffmpeg/Install.sh bash Install.sh |
3、启动播放器
由于切片生成 m3u8 文件后,需要播放器才能播放,而上传脚本也会自动推送 m3u8 文件到播放器根目录,所以这里可以配合一起用,当然自己会播放 m3u8 的也可以不用搭建,自行选择。
安装 pip3:
1 2 3 4 5
7 8 9 10 11 12 13 14 15 | #CenOS 6系统 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm yum install python34 -y wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py
#CenOS 7系统 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install python36 -y wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py
#Debian/Ubuntu系统 apt update apt install python3-pip -y |
安装依赖:
1 2 3 | #进入到播放源码文件夹 cd /opt/ffmpeg/Player pip3 install tornado |
后台启动:
1 | nohup python3 Player.py& |
注意 Player.py 文件的 MasterKey 值需和 publish.sh 的 Token 值对应,别乱改就行。
4、脚本用法
1 2 3 4 5 6 7 | #命令示例 bash /path/to/media.sh <不含特殊字符的文件名.mp4> [特殊选项]
#特殊选项: 数字;可选参数,默认为0 #0:自动根据文件比特率计算合适的切片大小。(目标文件大小小于20M,一般情况下没问题) #1:强制重新编码,重新编码比特率为2400k。(一般用于非H264编码,文件切片,速度较慢) #2:自定义切片时间,当为2时切片时间为3秒,当大于等于3时切片时间为特殊选项数字。 |
使用示例:
1 2 3 4 5 6 7 8 9 | #进入视频所在目录 cd /root/movies
#默认模式切片 bash /opt/ffmpeg/media.sh rats.mp4 #强制重新编码 bash /opt/ffmpeg/media.sh rats.mp4 1 #极速模式, 设置2s一个切片(源文件为H264编码情况下) bash /opt/ffmpeg/media.sh rats.mp4 2 |
5、播放示例
1 2 3 4 5 | #查看推送到播放器这边的m3u8所有文件 http://ip:5866/Player/list
#播放list显示的根目录下的rats.m3u8文件 http://ip:5866/Player/rats.m3u8 |
上传到语雀 CDN
1 | 提示:该方案可选,目前语雀默认免费10G,具体可参考官方说明。 |
先前往语雀官网注册一个账号→传送门,然后获取 ctoken 和 session 的值,这里说下大概获取方法,以谷歌浏览器为例。
登录后,F12 进入控制台选择 Network,随便点击一个以 yuque 开头的链接文件,再选择 Cookies 即可看到所需要的 2 个参数。
然后复制 ctoken 和 session 的值。
接下来查看语雀脚本→传送门,将脚本所有的内容复制替换到 upload.sh 脚本里面,并填入 ctoken 和 session 的值,保存即可,上传方法参考上面。
最后如果你是 vps 的话,就不建议强制转码,只切片就行了,不然长时间占用 cpu 的话,服务器可能会被 ban,基本上大多数 mp4 都可以直接切片。
本站所有资源来源于网络,仅限用于学习研究;无任何技术支持!不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除内容。如果您喜欢,请支持正版。如有侵权请邮件与我们联系处理。
本站部分源码亲测,单个源码赞助前请咨询