tencent cloud

フィードバック

ビデオをトランスコードする方法

最終更新日:2023-10-26 17:26:52

    ご使用にあたっての注意事項

    内容紹介

    ここでは開発者にVODでビデオをトランスコードする方法およびトランスコードした後の出力結果を取得する方法をご紹介します。

    料金

    ここで提供するコードは無償のオープンソースですが、使用過程において以下の料金が発生することがあります。
    Tencent Cloud APIのリクエストスクリプト実行に使用するため、Tencent CloudのCloud Virtual Machine(CVM)を購入します。詳細については、CVM料金をご参照ください。
    VODのストレージはアップロードしたビデオを保存するために消費されます。詳細については、ストレージ料金およびストレージリソースパックをご参照ください。
    VODトランスコード時間はビデオのトランスコードに使用されます。詳しくは、トランスコード料金および リソースパックのトランスコードをご参照ください。
    VODのトラフィックはビデオを再生するために消費されます。詳細については、トラフィック課金およびトラフィックリソースパックをご参照ください。

    パラメータ紹介

    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つのフレームの間隔を指します。
    通常のトランスコードについては、その明瞭度により、使用に推奨されるビットレート、解像度および設定区間は下表に示すとおりです。
    解像度
    推奨ビットレート
    推奨解像度
    解像度の間隔
    SD
    600
    640x480
    標準SD(短辺 ≤ 480px)
    HD
    2000
    1280x720
    高精細度HD(短辺 ≤ 720px)
    FHD
    4000
    1920x1080
    フル高精細度FHD(短辺 ≤ 1080px)
    2K
    6000
    2560x1440
    2K(短辺 ≤ 1440px)
    4K
    8000
    3840x2160
    4K(短辺 ≤ 2160px)
    Tencent Cloud VOD特有の超高速HD(TESHD)は画質の修復と増強、コンテンツアダプティブパラメータの選択、V265エンコーダなど一連のビデオ処理ソリューションを統合しています。ビデオにさらに小さく、さらに明瞭なトランスコード方法を提供し、ネットワークリソースの低消費を保証すると同時に、さらに優れた視覚体験をユーザーにもたらします。VODも各種の解像度をプリセットしました。具体的なパラメータは次のとおりです。
    解像度
    推奨ビットレート
    推奨解像度
    解像度の間隔
    SD
    350または設定しない
    640x480
    標準SD(短辺 ≤ 480px)
    HD
    1350または設定しない
    1280x720
    高精細度HD(短辺 ≤ 720px)
    FHD
    2700または設定しない
    1920x1080
    フル高精細度FHD(短辺 ≤ 1080px)
    2K
    3500または設定しない
    2560x1440
    2K(短辺 ≤ 1440px)
    4K
    7500または設定しない
    3840x2160
    4K(短辺 ≤ 2160px)
    説明:
    設定しない場合、超高速HD(TESHD)はビデオソースのインテリジェント分析に基づき、ビデオの最低ビットレートを設定します。

    コンソールでのトランスコードの開始

    ステップ1:VODをアクティブ化する

    クイックスタート - ステップ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ビット
    CVMの購入方法は操作ガイド - インスタンス作成をご参照ください。システムの再インストール方法は操作ガイド - システム再インストールをご参照ください。
    注意:
    上述の条件に適合するTencent Cloud CVMがない場合は、その他のパブリックネットワークアクセスを備えたLinux(CentOS、Debianなど)またはMac機器でスクリプトを実行することもできます。ただし、OSの違いによってスクリプトの特定のコマンドを修正する必要があります。具体的な修正方式については、開発者自身で検索してください。

    ステップ2: APIキーの取得

    Tencent Cloud APIのリクエストにはAPIキー(SecretIdおよびSecretKey)が必要です。まだキーを作成していない場合は、キー作成ドキュメント を参照して、新しいAPIキーを作成してください。キーを作成済みの場合は、 キー表示ドキュメント を参照してAPIキーを取得してください。

    ステップ3:VODをアクティブ化する

    クイックスタート - ステップ1を参考に、VODサービスをアクティブにします。

    ステップ4:ビデオのアップロード

    クイックスタート - ステップ2 を参考にして、テストビデオを1つアップロードします。 ここ をクリックし、このDemoが使用するテストビデオを確認します。対応するFileIdは、243791581340253754です。下図に示すとおりです。
    
    説明:
    トランスコードに時間がかかりすぎないように、短めのビデオファイルを使用してテストすることをお勧めします(例えば数十秒間のビデオ)。

    ステップ5:トランスコードの開始

    1. ステップ1の中で準備したCVM(ログイン方法の詳細は 操作ガイド - Linuxにログイン)をご参照ください)にログインして、リモートターミナルで以下のコマンドを入力して実行します。
    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に置換します。
    4. このコマンドは、243791581340253754のビデオに ProcessMediaリクエストを開始して、VOD プリセットトランスコードテンプレート 100010および100020の2つの仕様に基づいてトランスコードし、リクエストの応答内容を出力します。
    {"TaskId": "1400329073-procedurev2-f6bf6f01612369b6db30f2224792a2aft0", "RequestId": "809918fb-791c-4937-b684-5027ba6bc5f0"}

    ステップ6:トランスコード結果の確認

    1. 「タスクセンター」画面でテストビデオのステータスが「完了」になっていれば、オーディオビデオトランスコーディングが成功したことを表します。
    
    2. テストビデオのステータスが「正常」に変わるのを待ちます。これはトランスコードが完了したことを示します。テストビデオの右側の管理をクリックすると、ビデオ管理画面に進みます。
    
    3. 「基本情報」タブ画面の「標準トランスコーディングリスト」で、対応する仕様のビデオが出力されます。開発者は右側のプレビューをクリックしてビデオを直接視聴できます。さらにアドレスコピーをクリックしてトランスコードされたビデオのURLをコピーして、その他のチャネルによって視聴者に公開することもできます。
    

    ビデオアップロード後の自動トランスコード(タスクフロー)

    VODは、コンソールからのアップロード、サーバーからのアップロード、クライアントからのアップロード、URLからのプルアップロードなどの複数の種類のビデオアップロード方法があります(詳細はメディアアップロードの概要をご参照ください)。アップロード方式はすべて指定した1個のタスクフローをサポートしていて、アップロードの完了後にトランスコードを自動的にトリガーします。

    ビデオアップロード後の自動トランスコード(イベント通知)

    VODバックエンドは、ビデオアップロードの完了後およびトランスコードタスクの完了後に、イベントの通知リクエストを開始します。イベント通知システムを使用して、新しくアップロードされたビデオのトランスコードを開始し、イベント通知によってトランスコード結果を自動的に取得できます(ここに表示した方法は、コンソールでトランスコード結果を手動で表示するものです)。イベント通知の使用方法は、ベストプラクティスのドキュメント単独のイベント通知の受信に詳細な説明があります。
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)