banner
moeyy

moeyy

一条有远大理想的咸鱼。
github
mastodon
email

ビデオのスライス後、自動的に国内の無料CDNにアップロードされ、コストなしでビデオの再生が高速化されます。

** 説明:** 通常、自分でダウンロードした映画を視聴する際には、ネットワークや帯域幅の問題でカクカクすることがよくあります。そのため、萌咖さんは半月間の休暇を取り、ビデオの変換とスライス後に自動的に国内の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.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
#高速モード、スライス時間を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の無料容量を提供しています。詳細については、公式の説明を参照してください。

まず、语雀の公式ウェブサイトにアカウントを登録し、ctokensessionの値を取得します。大まかな取得方法について説明しますが、Google Chrome を例に説明します。

image

ログイン後、F12を押してコンソールに入り、Networkを選択し、yuqueで始まるリンクファイルをクリックし、Cookiesを選択すると、必要な2つのパラメータが表示されます。

次に、语雀のスクリプトを確認します→リンク。スクリプトの内容をすべてコピーしてupload.shスクリプトに貼り付け、ctokensessionの値を入力し、保存します。アップロード方法については、上記を参照してください。

最後に、VPS の場合は、強制的に再エンコードすることはお勧めしません。スライスのみで十分です。そうしないと、長時間 CPU を占有すると、サーバーが BAN される可能性があります。ほとんどのmp4は基本的に直接スライスできます。

元の記事のリンク Rat's Blog

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。