業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【Hakkyの社内Wiki】Strapi
クラウドとオンプレの違いAIシステム導入時におすすめのクラウドシステムスクレイピングのためのプロキシサーバのAPI
TerraformでGCPからAWSのリソースにアクセスするGoogle Cloudとは?
AI

執筆者:Handbook編集部

Transcoder APIのチュートリアル

Overview

このチュートリアルでは、Transcoder API Python ライブラリを使用して、wav オーディオ ファイルを AAC オーディオ コーデックのオーディオのみの mp4 ファイルにトランスコードする例を示します。

準備

実行環境はローカルで gcloud SDK を使ってます。

事前準備として Transcoder API を有効化して必要なライブラリをインストールします。

!pip install --upgrade google-cloud-video-transcoder

コード

アドホック構成でジョブを作成する:

from google.cloud.video import transcoder_v1
from google.cloud.video.transcoder_v1.services.transcoder_service import (
    TranscoderServiceClient,
)

def create_job(project_id, location, input_uri, output_uri):
    client = TranscoderServiceClient()

    parent = f"projects/{project_id}/locations/{location}"
    job = transcoder_v1.types.Job()
    job.input_uri = input_uri
    job.output_uri = output_uri
    job.config = transcoder_v1.types.JobConfig(
        elementary_streams=[
            transcoder_v1.types.ElementaryStream(
                key="audio-stream0",
                audio_stream=transcoder_v1.types.AudioStream(
                    codec="aac",
                    sample_rate_hertz=16000,
                    channel_count=2,
                    bitrate_bps=64000,
                ),
            ),
        ],
        mux_streams=[
            transcoder_v1.types.MuxStream(
                key="standard",
                container="mp4",
                elementary_streams=["audio-stream0"],
            ),
        ],
    )
    response = client.create_job(parent=parent, job=job)
    print(f"Job: {response.name}")
    return response

if __name__ == "__main__":
    GCP_PROJECT_ID = "<Replace with Your GCP Project ID>"
    INPUT_URL = "<Input File Path, ex: gs://xxx>"
    OUTPUT_URL = "<Output Directory Path, ex: gs://xxx/>"
    LOCATIONS = "asia-east1"

    create_job(GCP_PROJECT_ID, LOCATIONS, INPUT_URL, OUTPUT_URL)

コンソールに印刷されているコピージョブ ID。トランスコード ジョブのステータスを確認する:

from google.cloud.video import transcoder_v1
from google.cloud.video.transcoder_v1.services.transcoder_service import (
    TranscoderServiceClient,
)

def get_job(project_id, location, job_id):
    """Gets a job.

    Args:
        project_id: The GCP project ID.
        location: The location this job is in.
        job_id: The job ID."""

    client = TranscoderServiceClient()

    name = f"projects/{project_id}/locations/{location}/jobs/{job_id}"
    response = client.get_job(name=name)
    print(f"Job: {response.name}")
    return response

if __name__ == "__main__":
    GCP_PROJECT_ID = "<Replace with Your GCP Project ID>"
    LOCATIONS = "asia-east1"
    JOB_ID = "<Replace with Generated Job ID>"

    print(get_job(GCP_PROJECT_ID, LOCATIONS, JOB_ID))

Note:

  • Transcoder API はすべての GCP Region 利用できるわけではありません。このドキュメントから location を選択する必要があります。
  • Transcoder API を有効にした後に自動的に作成される Transcoder API サービス アカウントに GCS アクセスを追加する必要があります。

Reference

info
備考

Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。

2025年06月02日に最終更新
読み込み中...