ご使用にあたっての注意事項
内容紹介
ここでは開発者にVODでビデオをトランスコードする方法およびトランスコードした後の出力結果を取得する方法をご紹介します。
料金
ここで提供するコードは無償のオープンソースですが、使用過程において以下の料金が発生することがあります。
Tencent Cloud APIのリクエストスクリプト実行に使用するため、Tencent CloudのCloud Virtual Machine(CVM)を購入します。詳細については、CVM料金をご参照ください。 パラメータ紹介
Tencent Cloud VODビデオトランスコードは現在、以下のビデオフォーマットをサポートしています。
|
入力形式 | コンテナ形式 | WMV、RM、MOV、MPEG、MP4、3GP、FLV、AVI、RMVB、TS、ASF、MPG、WEBM、MKV 、M3U8、WM、ASX、RAM、MPE、VOB、DAT、MP4V、M4V、F4V、MXF、QT、OGG。 |
| ビデオコーデック形式 | AV1、AVS2、H.264/AVC、H.263、 H.263+、H.265、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video。 |
出力形式 | コンテナ形式 | ビデオ:FLV、MP4、HLS(m3u8+ts)。 |
|
| オーディオ:MP3、MP4、OGG、FLAC、m4a。 |
|
| 画像:GIF、WEBP |
| ビデオコーデック形式 | H.264/AVC、 H.265/HEVC、AV1。 |
トランスコードの目標仕様には、エンコード形式、解像度、ビットレートなどのパラメータがあります。VODではトランスコードテンプレートを使用してトランスコードパラメータのグループを表します。トランスコードテンプレートによって、以下のトランスコード関連パラメータを指定することができます。 ビデオ処理の概要をご参照ください。 |
ビデオコーデック | コーデック(Codec) | H.264、H.265およびAV1コーデックをサポート。 |
| ビットレート(Bitrate) | サポートするビデオビットレートの範囲:10kbps~35Mbps。 |
| フレームレート(Frame Rate) | サポートするフレームレートの範囲:1fps~60fps。一般的なフレームレートは24fps、25fps、30fps。 |
| 解像度(Resolution) | サポートする幅の範囲:128px~4096px。 サポートする高さの範囲:128px~4096px。 |
| GOP 長さ | サポートするGOP長さの範囲:1秒~10秒。 |
| プロファイル(Profile) | ビデオコーデックがH.264の時は、Baseline、Main、Highのプロファイルをサポートします。 ビデオコーデックがH.265の時は、Mainのプロファイルをサポートします。 |
| カラースペース(Color Space) | YUV420Pをサポートします。 |
説明:
コーデック:特定の圧縮技術によって、任意のビデオフォーマットのファイルを、別のビデオフォーマットファイルに変換する方法を指します。H265はH.264に比べてさらに先進的なコーデックトランスコードを採用し、元の画質を失うことなく、ビットレートを大幅に削減し、再生帯域幅を削減できます。
ビットレート:エンコーダが1秒間に発生させるデータの大きさで、単位はkbpsとし、800kbpsの場合、エンコーダが1秒間に800kbのデータを生成することを表わします。
フレームレート(FPS):1秒間に何枚のフレームが必要かを指します。
解像度:単位インチの中に含まれる画素のドット数。
GOP:通常は2つのフレームの間隔を指します。
通常のトランスコードについては、その明瞭度により、使用に推奨されるビットレート、解像度および設定区間は下表に示すとおりです。
Tencent Cloud VOD特有の超高速HD(TESHD)は画質の修復と増強、コンテンツアダプティブパラメータの選択、V265エンコーダなど一連のビデオ処理ソリューションを統合しています。ビデオにさらに小さく、さらに明瞭なトランスコード方法を提供し、ネットワークリソースの低消費を保証すると同時に、さらに優れた視覚体験をユーザーにもたらします。VODも各種の解像度をプリセットしました。具体的なパラメータは次のとおりです。
説明:
設定しない場合、超高速HD(TESHD)はビデオソースのインテリジェント分析に基づき、ビデオの最低ビットレートを設定します。
コンソールでのトランスコードの開始
ステップ1:VODをアクティブ化する
ステップ2:ビデオのアップロード
クイックスタート - ステップ2 を参考にして、テストビデオを1つアップロードします。 ここをクリックし、このDemoが使用するテストビデオを確認します。対応するFileIdは、243791581135666182です。下図に示すとおりです。 説明:
トランスコードに時間がかかりすぎないように、短めのビデオファイルを使用してテストすることをお勧めします(例えば数十秒間のビデオ)。
ステップ3:トランスコードの開始
1. コンソールの オーディオビデオ管理画面でアップロードされたテストビデオにチェックを入れた後、ビデオ処理をクリックします。 2. ポップアップウィンドウで処理タイプを「トランスコード」に選択してから、トランスコードテンプレートをクリックします。
3. 必要なトランスコードテンプレートを選択してからOKをクリックします。このDemoでは、プリセットテンプレートのSTD-H264-MP4-360P(テンプレートID 100010)およびSTD-H264-MP4-540P(テンプレートID 100020)を例にしています。カスタマイズしたトランスコードテンプレートを使用する場合は、テンプレート設定ドキュメントをご参照ください。 4. OKをクリックしてトランスコードを開始します。
5. 「タスクセンター」画面でテストビデオのステータスが「完了」になっていれば、オーディオビデオトランスコーディングが成功したことを表します。
ステップ4:トランスコード結果の確認
1. コンソールの アプリケーション管理 > メディア資産管理 > オーディオビデオ管理 画面でテストビデオのステータスが「正常」に変わるのを待ちます。これはトランスコーディングが完了したことを示します。テストビデオの右側の管理をクリックしてビデオ管理画面に進みます。 2. 「基本情報」タブ画面の「標準トランスコーディングリスト」で STD-H264-MP4-360P と STD-H264-MP4-540Pの2つの仕様で出力されます。開発者は右側のプレビューをクリックしてビデオを直接視聴できます。さらにアドレスコピーをクリックしてトランスコードされたビデオのURLをコピーして、その他のチャネルによって視聴者に公開することもできます。
Tencent Cloud APIを呼び出してトランスコードを開始
ステップ1:Tencent Cloud CVMの準備
Tencent Cloud APIのリクエストスクリプトは、1台のTencent Cloud CVM上で実行させる必要があります。要件は次のとおりです。
リージョン:任意。
モデル:公式サイトは最低構成(1コア1GB)であれば問題ありません。
パブリックネットワーク:パブリックIPを有する必要があります。帯域幅は1Mbps以上。
OS:公式パブリックイメージUbuntu Server 16.04.1 LTS 64ビット
またはUbuntu Server 18.04.1 LTS 64ビット
。
注意:
上述の条件に適合するTencent Cloud CVMがない場合は、その他のパブリックネットワークアクセスを備えたLinux(CentOS、Debianなど)またはMac機器でスクリプトを実行することもできます。ただし、OSの違いによってスクリプトの特定のコマンドを修正する必要があります。具体的な修正方式については、開発者自身で検索してください。
ステップ2: APIキーの取得
Tencent Cloud APIのリクエストにはAPIキー(SecretIdおよびSecretKey)が必要です。まだキーを作成していない場合は、キー作成ドキュメント を参照して、新しいAPIキーを作成してください。キーを作成済みの場合は、 キー表示ドキュメント を参照してAPIキーを取得してください。 ステップ3:VODをアクティブ化する
ステップ4:ビデオのアップロード
クイックスタート - ステップ2 を参考にして、テストビデオを1つアップロードします。 ここ をクリックし、このDemoが使用するテストビデオを確認します。対応するFileIdは、243791581340253754です。下図に示すとおりです。 説明:
トランスコードに時間がかかりすぎないように、短めのビデオファイルを使用してテストすることをお勧めします(例えば数十秒間のビデオ)。
ステップ5:トランスコードの開始
ubuntu@VM-69-2-ubuntu:~$ export SECRET_ID=AKxxxxxxxxxxxxxxxxxxxxxxx; export SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx;git clone https://github.com/tencentyun/vod-server-demo.git ~/vod-server-demo; bash ~/vod-server-demo/installer/transcode_api.sh
説明:
コマンドのSECRET_IDおよびSECRET_KEYをステップ2で取得したコンテンツに割り当ててください。 2. このコマンドでは、GithubからDemoソースコードをダウンロードして、インストールスクリプトを自動的に実行します。インストールのプロセスには数分間必要になり(CVMのネットワーク状況次第)、その間、リモートターミナルは以下に示す情報を出力します。
[2020-06-15 20:39:56]pip3のインストール開始。
[2020-06-15 20:40:06]pip3のインストール成功。
[2020-06-15 20:40:06]Tencent Cloud API Python SDKのインストール開始。
[2020-06-15 20:40:07]Tencent Cloud API Python SDKのインストール完了。
[2020-06-15 20:40:07]APIパラメータの設定開始。
[2020-06-15 20:40:07]APIパラメータの設定完了。
3. process_media.py
スクリプトを実行してトランスコードを開始:
ubuntu@VM-69-2-ubuntu:~$ cd ~/vod-server-demo/transcode_api/; python3 process_media.py 243791581340253754
説明:
コマンドの243791581340253754をステップ4で取得して実際のFileIdに置換します。 {"TaskId": "1400329073-procedurev2-f6bf6f01612369b6db30f2224792a2aft0", "RequestId": "809918fb-791c-4937-b684-5027ba6bc5f0"}
ステップ6:トランスコード結果の確認
1. 「タスクセンター」画面でテストビデオのステータスが「完了」になっていれば、オーディオビデオトランスコーディングが成功したことを表します。
2. テストビデオのステータスが「正常」に変わるのを待ちます。これはトランスコードが完了したことを示します。テストビデオの右側の管理をクリックすると、ビデオ管理画面に進みます。
3. 「基本情報」タブ画面の「標準トランスコーディングリスト」で、対応する仕様のビデオが出力されます。開発者は右側のプレビューをクリックしてビデオを直接視聴できます。さらにアドレスコピーをクリックしてトランスコードされたビデオのURLをコピーして、その他のチャネルによって視聴者に公開することもできます。
ビデオアップロード後の自動トランスコード(タスクフロー)
VODは、コンソールからのアップロード、サーバーからのアップロード、クライアントからのアップロード、URLからのプルアップロードなどの複数の種類のビデオアップロード方法があります(詳細はメディアアップロードの概要をご参照ください)。アップロード方式はすべて指定した1個のタスクフローをサポートしていて、アップロードの完了後にトランスコードを自動的にトリガーします。 ビデオアップロード後の自動トランスコード(イベント通知)
VODバックエンドは、ビデオアップロードの完了後およびトランスコードタスクの完了後に、イベントの通知リクエストを開始します。イベント通知システムを使用して、新しくアップロードされたビデオのトランスコードを開始し、イベント通知によってトランスコード結果を自動的に取得できます(ここに表示した方法は、コンソールでトランスコード結果を手動で表示するものです)。イベント通知の使用方法は、ベストプラクティスのドキュメント単独のイベント通知の受信に詳細な説明があります。
この記事はお役に立ちましたか?