視頻切片后自動上傳至國內免費CDN,無成本加速視頻播放


來源:https://www.moerats.com/archives/1024/  

VPS:阿里雲ECS 2核4G1M   系統:ubuntu_18_04_x64

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,具體可參考官方說明。

先前往語雀官網注冊一個賬號→傳送門,然后獲取ctoken和session的值,這里說下大概獲取方法,以谷歌瀏覽器為例。

登錄后,F12進入控制台選擇Network,隨便點擊一個以yuque開頭的鏈接文件,再選擇Cookies即可看到所需要的2個參數。

然后復制ctokensession的值。

接下來查看語雀腳本→傳送門,將腳本所有的內容復制替換到upload.sh腳本里面,並填入ctokensession的值,保存即可,上傳方法參考上面。

最后如果你是vps的話,就不建議強制轉碼,只切片就行了,不然長時間占用cpu的話,服務器可能會被ban,基本上大多數mp4都可以直接切片。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM