Rat's

视频切片后自动上传至国内免费CDN,无成本加速视频播放
说明:一般我们观看自己下载的电影时候,通常会因为网络或者带宽原因很卡,所以就得处理下,这里萌咖大佬闭关半个月,写出...
扫描右侧二维码阅读全文
07
2020/03

视频切片后自动上传至国内免费CDN,无成本加速视频播放

说明:一般我们观看自己下载的电影时候,通常会因为网络或者带宽原因很卡,所以就得处理下,这里萌咖大佬闭关半个月,写出了一个视频转码切片后自动上传至国内cdn的脚本,脚本默认提供上传到语雀cdn的脚本、采用多线程上传,这里默认10线程,基本上可以很大程度上提高视频的播放速度。

更新

【2020.4.1】
由于语雀修复了上传bug,所以移除语雀cdn,默认修改为阿里云图床。

使用

Github地址:https://github.com/MoeClub/Note/tree/master/ffmpeg

1、安装ffmpeg

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、安装脚本

#新建/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

#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

安装依赖:

#进入到播放源码文件夹
cd /opt/ffmpeg/Player
pip3 install tornado

后台启动:

nohup python3 Player.py&

注意Player.py文件的MasterKey值需和publish.shToken值对应,别乱改就行。

4、脚本用法

#命令示例
bash /path/to/media.sh <不含特殊字符的文件名.mp4> [特殊选项]

#特殊选项: 数字;可选参数,默认为0
#0:自动根据文件比特率计算合适的切片大小。(目标文件大小小于20M,一般情况下没问题)
#1:强制重新编码,重新编码比特率为2400k。(一般用于非H264编码,文件切片,速度较慢)
#2:自定义切片时间,当为2时切片时间为3秒,当大于等于3时切片时间为特殊选项数字。

使用示例:

#进入视频所在目录
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、播放示例

#查看推送到播放器这边的m3u8所有文件
http://ip:5866/Player/list

#播放list显示的根目录下的rats.m3u8文件
http://ip:5866/Player/rats.m3u8

上传到语雀CDN

提示:该方案可选,目前语雀默认免费10G,具体可参考官方说明。

先前往语雀官网注册一个账号→传送门,然后获取ctokensession的值,这里说下大概获取方法,以谷歌浏览器为例。

登录后,F12进入控制台选择Network,随便点击一个以yuque开头的链接文件,再选择Cookies即可看到所需要的2个参数。
请输入图片描述
然后复制ctokensession的值。

接下来查看语雀脚本→传送门,将脚本所有的内容复制替换到upload.sh脚本里面,并填入ctokensession的值,保存即可,上传方法参考上面。

最后如果你是vps的话,就不建议强制转码,只切片就行了,不然长时间占用cpu的话,服务器可能会被ban,基本上大多数mp4都可以直接切片。

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2020 年 04 月 01 日 06 : 11 PM

发表评论

66 条评论

  1. RickyDuan

    急急急急急急

  2. 金字

    来吧,华为云免费CDN,试用一下~
    WX :17301107437
    扣扣:2630883078

    1. Rat's
      @金字

      牛逼,用不起

  3. 寒夜方舟

    接口貌似挂了,上传失败
    要不试试京东图床之类的

    1. Rat's
      @寒夜方舟

      额,这个感觉都用不长。

  4. gwua

    腾讯的cdn可以用吗

  5. Kei

    大佬,你的Dplayer 弹幕API好像挂了

    1. Rat's
      @Kei

      这几天恢复下,那个服务器到期了

  6. moshou

    接口又挂了,怎么改

  7. MJJ

    测速已经失效了,无法上传文件了。

    1. Rat's
      @MJJ

      上传到默认的阿里云图床不行了?

      1. MJJ
        @Rat's

        嗯。出现 NULL

        1. lliany
          @MJJ

          null5,大佬修复

          1. Rat's
            @lliany

            到时候会修复的

            1. 南风
              @Rat's

              来活儿了大哥,https://www.hostloc.com/forum.php?mod=viewthread&tid=674225&highlight=%E5%88%87%E7%89%87

              1. Rat's
                @南风

                感觉都坚持不了多久

  8. Lesun

    想白嫖还是要有技术。

  9. 小伙

    这个可以本地客户端切片然后自动对接到服务器端嘛

  10. 南风

    谢谢大佬的教程,我把语雀删除了,就留了upload.sh, m3u8.sh, media.sh 阿里好用的一批,测试https://www.m3u8play.com/?play=https://www.mtr123.cn/video/%E7%94%9F%E6%B4%BB%E4%B8%8D%E6%AD%A2%E7%9C%BC%E5%89%8D%E7%9A%84%E8%8B%9F%E4%B8%94%E5%B8%88%E8%91%AD%E5%B8%8C.m3u8

    1. Rat's
      @南风

      是的,其实还有很多可以白嫖的图床,改下脚本就行了

  11. lisa1936

    我们组成一个百人团队,每人负责每天上传一部高分电影 XD

  12. Kiwiape

    大佬研究一下图床塞视频吗

  13. 月下读心

    白嫖太难了

  14. 少爷

    curl: (92) HTTP/2 stream 0 was not closed cleanly: Unknown error code (err 1) 这个错误是不是上传失败了

    1. Rat's
      @少爷

      对的

  15. 幕后小黑

    大佬啥时候来一篇 Duckchat,个人觉得这个很好用

    1. Rat's
      @幕后小黑

      这个很久以前听过,没玩过

  16. Ffinal
    该评论仅登录用户及评论双方可见
  17. mark

    curl: (28) Failed to connect to www.yuque.com port 443: 连接超时

    1. Rat's
      @mark

      看是不是网络问题

      1. mark
        @Rat's

        感觉 阿里云 靠谱一点这个 试了N次了 都不行

  18. 扬帆大海

    想薅马云的羊毛不太容易吧。。

    1. Rat's
      @扬帆大海

      是的,所以今天绕过流量统计的bug被修复了。

  19. MR晓欣
    该评论仅登录用户及评论双方可见
    1. Rat's
      @MR晓欣

      看着还行

      1. MR晓欣
        @Rat's
        该评论仅登录用户及评论双方可见
  20. zorro

    这个可以配合云转码使用吗

    1. Rat's
      @zorro

      这个玩玩就行了,别认真

  21. 瞎折腾

    大佬,这个程序可以来个安装教程嘛https://github.com/mshossain110/examinee

  22. 和谐自由

    这个版面很时尚

  23. 西瓜

    可以这样播放onedrive上的文件吗

  24. bru

    上传出问题。不知道什么回事。。。

    curl: option --http1.1: is unknown
    curl: try 'curl --help' or 'curl --manual' for more information
    /root/mov/55.output/output_0245.ts; NULL_

    1. Rat's
      @bru

      curl版本过低,脚本强制http1.1,可以升级下curl版本,或者改下脚本,删掉这个参数

  25. 大神好

    没看懂,是可以把自动上传到onedrive网盘的视频再传到语雀,进行在线播放吗?

    1. Rat's
      @大神好

      不是,把ts切片,直接传到语雀,通过播放m3u8来加载语雀的ts文件。

  26. Garasu

    博主。。没太看懂这个语雀的CDN,我看了下官网说普通用户免费10G的上传流量,但是没找到下载流量多少。 还是说它只限制上传到语雀服务器的流量不限制用户从它那里下载呢?

    1. Rat's
      @Garasu

      这个不用关心,脚本已经给你直接绕过了流量限制,还可以上传任意类型文件。

      1. wenxiang
        @Rat's

        因为我收到短信说流量用完了,然后电影传到一半就全是空文件过去,而不是图片

      2. wenxiang
        @Rat's

        实测有上传流量限制,大约10G

        1. Rat's
          @wenxiang

          已经挂了,语雀刚修复了流量统计bug,现在最多只能白嫖10G了,等下一家吧。

  27. CPUFAN

    教程越来越看不懂了

    1. Rat's
      @CPUFAN

      有兴趣的,跟着做就行

  28. 天线宝宝

    哈哈,在mjj那儿也看到了,厉害了

  29. 爱你

    失踪人口回归

  30. Joynaruto

    这波操作有点6啊!

  31. 似毛非毛

    有点蠢蠢欲动。又有点不敢用。。。

    1. Rat's
      @似毛非毛

      无聊的时候玩玩,别搞重要的事就行

      1. 似毛非毛
        @Rat's

        tar xvf ffmpeg-git-*-static.tar.xz
        解压缩。要是报错。
        tar (child): xz: Cannot exec: No such file or directory
        需要安装
        apt-get install xz-utils

      2. 似毛非毛
        @Rat's

        安装ffmpeg那步。下载。每次刚下。就停住了。。试了好几次都不行~

        1. 似毛非毛
          @似毛非毛

          试了几次。终于下好了。国内机子

          1. 似毛非毛
            @似毛非毛

            搞了一个。。有什么H5播放器推荐么。。折腾了下电脑端可以打开。手机端貌似不行~~微信和小米浏览器不行。。VIA倒是可以~

            1. Rat's
              @似毛非毛

              浏览器打不开一般看是不是跨域之类的

              1. 似毛非毛
                @Rat's

                发现新问题了。一开始可以播放,现在播放地址直接403了,。。播放器点了没反应。。http://celao.unaux.com/ae86/v/0423cfbc882d87220d62135ea7ef35e8.html

  32. 阿萨德

    onelist好像支持播放m3u8,是不是扔进去就得了

    1. Rat's
      @阿萨德

      不是,m3u8只是个文件,一般获取m3u8直链后,还需要一个播放器解析,才能播放

  33. 糖醋排骨

    前排