** 説明:** 通常、自分でダウンロードした映画を視聴する際には、ネットワークや帯域幅の問題でカクカクすることがよくあります。そのため、萌咖さんは半月間の休暇を取り、ビデオの変換とスライス後に自動的に国内のcdn
にアップロードするスクリプトを作成しました。スクリプトはデフォルトで、语雀cdn
にアップロードするスクリプトを提供し、マルチスレッドアップロードを使用します。デフォルトでは10
スレッドを使用するため、ビデオの再生速度を大幅に向上させることができます。
更新#
【2020.4.1】
语雀がアップロードのバグを修正したため、语雀`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.sh
のToken
の値と対応している必要があります。変更しないでください。
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
#高速モード、スライス時間を2秒に設定(元のファイルが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
の値を取得します。大まかな取得方法について説明しますが、Google Chrome を例に説明します。
ログイン後、F12
を押してコンソールに入り、Network
を選択し、yuque
で始まるリンクファイルをクリックし、Cookies
を選択すると、必要な2
つのパラメータが表示されます。
次に、语雀のスクリプトを確認します→リンク。スクリプトの内容をすべてコピーしてupload.sh
スクリプトに貼り付け、ctoken
とsession
の値を入力し、保存します。アップロード方法については、上記を参照してください。
最後に、VPS の場合は、強制的に再エンコードすることはお勧めしません。スライスのみで十分です。そうしないと、長時間 CPU を占有すると、サーバーが BAN される可能性があります。ほとんどのmp4
は基本的に直接スライスできます。
元の記事のリンク Rat's Blog