宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

2020年3月9日 15 5,615 2429字阅读8分5秒

Free-HLS是一个免费的 HLS 视频解决方案,即所谓的视频床。该项目提供一整套集成化解决方案,囊括了各环节所需的切片、转码、上传、即时分享等套件。让你可以以更方便、更低廉的方式分享你的视频到任意地方。

这个项目需要搭建服务端和客户端,当然你可以都放到一起。这篇教程就来说说如何利用宝塔面板来搭建一个自己的视频床。

具体的安装额部署

1、前言

github:https://github.com/sxyazi/free-hls

视频教程:https://sxyz.gitee.io/free-hls/usage.html

2、准备

大鸟这里就把服务端和客户端都放在服务器上了。我们需要准备的东西如下。

  • 宝塔面板(你也可以用别的环境,这个随意)
  • 安装python项目管理器(软件商店里安装)
  • 可以准备一个域名(用做饭袋)
  • 新建一个网站备用

3、配置python3

宝塔面板默认的python版本是python2,但是这个教程是需要python3来部署的,如何解决呢?大鸟这里提供一个思路。

3.1》首先安装python项目管理器,这个自己在软件商店里自行安装。

3.2》版本管理中安装python3.7.2。

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

3.3》随便添加一个项目

随便添加一个项目,项目添加好后,宝塔会给我们生成一个虚拟环境这个虚拟环境默认就是python3的环境,所以问题就解决了。比如说我们就添加free-hls这个项目。先进入命令模式git项目,如下:

git clone https://github.com/sxyazi/free-hls.git

之后,我们进入到python项目管理新建一个项目,具体如图:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

3.4》进入虚拟环境安装

项目建立之后,会给我们生成一个虚拟环境,进入方法如下,在命令行输入 :

source 项目路径/项目名_venv/bin/activate
如:source /data/python/project1_venv/bin/activate

比如大鸟这个案列进入方法:

source /www/wwwroot/ee.daniao.org/OneList/666666_venv/bin/activate

截图:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

这样就解决了python的版本问题,而且还是一个单独的虚拟环境,折腾坏了也不影响啥。

4、搭建服务端

4.1 安装依赖

这里命令输入是接着上面,你需要进入到python3的虚拟环境里面执行(这里的命令是centos7系统。)!!!

yum install -y python3 python3-pip
yum install Flask gunicorn python-dotenv

4.2 启动服务

继续执行命令,如下:

cd web
gunicorn app:app -b 0.0.0.0:3395 --workers=5 --threads=2 -D

4.3 效果截图

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

当看到“hello,world”表示客户端已经搭建成功。

5、注册语雀

语雀官网:https://www.yuque.com

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

登录后,F12进入控制台选择Network,点击dashboard,再选择Cookies即可看到所需要的2个参数。

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

复制下来保存到记事本中备用。

6、搭建服务端

服务端可以在自己电脑上,也可以在服务器上,这就以服务器搭建为列。

6.1 安装依赖

依赖包括ffmpeg、python3、python-dotenv,因为在上面我们已经安装过了依赖,唯一的ffmpeg没有安装,这里说下宝塔安装ffmpeg的方法,如下:

6.2 配置语雀

将 .env.example 更名为 .env,修改其中的 YUQUE_CTOKENYUQUE_SESSION 配置。操作步骤:

  1. 登录语雀;
  2. 打开 Chrome 的开发者工具(F12),切换到 Network 面板;
  3. 刷新页面,从 Cookie 中抓取 ctoken_yuque_session,复制并替换到 .env 文件中;
  4. 将你服务器的域名或 IP 地址修改到 .env 中的 APIURL 配置项。

具体如下:

此处为隐藏的内容!
发表评论并刷新,方可查看
保存之后,服务端就算搭建完成了。

7、如何使用

上述的工作都完成之后,我们现在就开始使用。准备好目标视频文件,输入如下指令开始切片、上传:

python3 up.py test.mp4               #默认标题
python3 up.py test.mp4 测试哦         #自定义标题
python3 up.py test.mp4 test 5        #自定义分段大小
python3 up.py test.mp4 test LIMITED  #限制码率(需重编码)

python3 ls.py    #列出已上传视频
python3 ls.py 3  #列出已上传视频(第3页,50每页)

使用截图:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

成功之后,显示的地址如下:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

打开生成的播放地址,就可以播放视频了。

8、配置域名

如果你要配置域名,那么在你新建网站之后,在网站设置中找到“方向袋里”具体设置如图:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

效果截图:

宝塔面板部署Free-HLS – 视频切片后自动上传至国内免费CDN

9、最后

推荐在自己的电脑上设置服务器,不然长时间压缩切片造成服务器资源占用太高,会被服务商关机。

你要切片视频的话你得上传一个视频到你的服务器,或者自己从别地方download一个过来。

注意:目前语雀默认免费10G,具体可参考官方说明。

相似服务:

  • https://github.com/sxzz/free-hls.js
  • https://github.com/sxzz/free-hls-live
  • https://github.com/MoeClub/Note/tree/master/ffmpeg
  • 我的微信
  • 分享宝塔面板建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
大鸟
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:15   其中:访客  0   博主  0
    • 四师兄 四师兄 1

      你可真是积极啊,大赞

        • 大鸟 大鸟

          @ 四师兄 欢迎,沙发被你抢了! :cool:

        • 奶爸建网站笔记 奶爸建网站笔记 7

          这个前两天才看到。

          • 三岁半 三岁半 1

            是不是那个运用图床验证不严谨的bug 看到其他文章说只能5-10M的视频上传

              • 大鸟 大鸟

                @ 三岁半 免费用户有10G的空间,每次最大上传200M,大概就这么个情况。貌似可以绕开限制!!!

              • bingo bingo 3

                感谢分享了。

                • 支援 支援 3

                  绕过流量统计的bug被修复了,最多只能白嫖10G

                    • 大鸟 大鸟

                      @ 支援 可惜了,这么好的东西!!!

                    • ice.chang ice.chang 2

                      好东西,谢谢分享。

                      • 维他柠檬茶 维他柠檬茶 1

                        感谢分享!!学到知识了

                        • 小伙 小伙 0

                          直连M3U8 无法放在网站上的Dplayer播放器正常播放加载失败,很多M3U8解析网站也都失败……/
                          用本地播放软件potplayer可以正常播放

                            • 大鸟 大鸟

                              @ 小伙 确实只能在本地播放。

                            • 蜗牛 蜗牛 1

                              评论下

                              • 灵虚 灵虚 1

                                感谢博主分享,确实是好文章