このページでは、Transcoder API ジョブを作成、管理する方法を説明します。
ジョブは、Transcoder API による作業を管理するための基本単位です。Transcoder API にジョブを送信するときに、処理を行う地理的位置を指定します。リージョン内のすべてのジョブを一覧表示できます。
ジョブや複数のリージョンにわたる関連した Google Cloud リソースの操作の詳細については、リージョンをご覧ください。
Google Cloud プロジェクトと認証の設定
Google Cloud プロジェクトと認証情報を作成していない場合は、始める前にをご覧ください。ジョブの作成
ジョブは、既成のジョブ テンプレートか自分で作成したカスタムジョブ テンプレートを使用して作成できます。ジョブ テンプレートの作成方法については、ジョブ テンプレートの作成と管理をご覧ください。テンプレートを使用するのではなく、ジョブを作成して、リクエストの中でジョブの構成を直接送信することもできます。
Transcoder API は、インタラクティブとバッチの 2 つのジョブモードをサポートしています。以降のセクションでは、インタラクティブ モードでジョブを開始する方法について説明します。バッチモードでジョブを開始するには、追加のフィールドを設定する必要があります(詳しくは、バッチジョブをご覧ください)。
既成のテンプレートを使用したジョブの作成
ジョブを作成するには、projects.locations.jobs.create
メソッドを使用します。このジョブでは、Cloud Storage にオブジェクトとして保存されたメディア ファイルをコード変換します。
リクエストのデータを使用する前に、次のように置き換えます。
: IAM 設定に表示されているプロジェクト ID。 Google CloudPROJECT_ID
: ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
: 作成した Cloud Storage バケットの名前。STORAGE_BUCKET_NAME
: コード変換する Cloud Storage バケット内の動画の名前(STORAGE_INPUT_VIDEO my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。
: エンコードされた動画出力を保存する Cloud Storage フォルダ名。STORAGE_OUTPUT_FOLDER
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "inputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO ", "outputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /", "templateId": "preset/web-hd" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "inputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO ", "outputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /", "templateId": "preset/web-hd" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 30, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "media-sd", "fileName": "media-sd.ts", "container": "ts", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "media-hd", "fileName": "media-hd.ts", "container": "ts", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "video-only-sd", "fileName": "video-only-sd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream0" ] }, { "key": "video-only-hd", "fileName": "video-only-hd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream1" ] }, { "key": "audio-only", "fileName": "audio-only.m4s", "container": "fmp4", "elementaryStreams": [ "audio-stream0" ] } ], "manifests": [ { "fileName": "manifest.m3u8", "type": "HLS", "muxStreams": [ "media-sd", "media-hd" ] }, { "fileName": "manifest.mpd", "type": "DASH", "muxStreams": [ "video-only-sd", "video-only-hd", "audio-only" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
後述のコマンドデータを使用する前に、次のように置き換えます。
: ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
: 作成した Cloud Storage バケットの名前。STORAGE_BUCKET_NAME
: コード変換する Cloud Storage バケット内の動画の名前(STORAGE_INPUT_VIDEO my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。
: エンコードされた動画出力を保存する Cloud Storage フォルダ名。STORAGE_OUTPUT_FOLDER
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud transcoder jobs create \ --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " \ --location=LOCATION \ --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" \ --template-id="preset/web-hd"
Windows(PowerShell)
gcloud transcoder jobs create ` --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " ` --location=LOCATION ` --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" ` --template-id="preset/web-hd"
Windows(cmd.exe)
gcloud transcoder jobs create ^ --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " ^ --location=LOCATION ^ --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" ^ --template-id="preset/web-hd"
次のようなレスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 30, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "media-sd", "fileName": "media-sd.ts", "container": "ts", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "media-hd", "fileName": "media-hd.ts", "container": "ts", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "video-only-sd", "fileName": "video-only-sd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream0" ] }, { "key": "video-only-hd", "fileName": "video-only-hd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream1" ] }, { "key": "audio-only", "fileName": "audio-only.m4s", "container": "fmp4", "elementaryStreams": [ "audio-stream0" ] } ], "manifests": [ { "fileName": "manifest.m3u8", "type": "HLS", "muxStreams": [ "media-sd", "media-hd" ] }, { "fileName": "manifest.mpd", "type": "DASH", "muxStreams": [ "video-only-sd", "video-only-hd", "audio-only" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
ジョブ テンプレートを使用したジョブの作成
ロケーション内に少なくとも 1 つのジョブ テンプレートを作成した場合、そのロケーションに Transcoder API のジョブを作成するリクエストを送信する際にジョブ テンプレートを 1 つ指定できます。
ジョブを作成するには、projects.locations.jobs.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
: IAM 設定に表示されているプロジェクト ID。 Google CloudPROJECT_ID
: ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
: 作成した Cloud Storage バケットの名前。STORAGE_BUCKET_NAME
: コード変換する Cloud Storage バケット内の動画の名前(STORAGE_INPUT_VIDEO my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。
: エンコードされた動画出力を保存する Cloud Storage フォルダ名。STORAGE_OUTPUT_FOLDER
: 作成したジョブ テンプレートの ID。カスタム ジョブ テンプレートを指定しない場合、Transcoder API はTEMPLATE_ID preset/web-hd
ジョブ テンプレートを使用します。
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "inputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO ", "outputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /", "templateId": "TEMPLATE_ID " } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "inputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO ", "outputUri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /", "templateId": "TEMPLATE_ID " } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
gcloud
コマンドを次のように置き換えます。STORAGE_BUCKET_NAME : 作成した Cloud Storage バケットの名前。STORAGE_INPUT_VIDEO : コード変換する Cloud Storage バケット内の動画の名前(my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。LOCATION : ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_OUTPUT_FOLDER : エンコードされた動画出力を保存する Cloud Storage フォルダ名。TEMPLATE_ID : 作成したジョブ テンプレートの ID。カスタム ジョブ テンプレートを指定しない場合、Transcoder API はpreset/web-hd
ジョブ テンプレートを使用します。- 次のコマンドを実行します。
次のようなレスポンスが表示されます。gcloud transcoder jobs create \ --input-uri="gs://
STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " \ --location=LOCATION \ --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" \ --template-id="TEMPLATE_ID "{ "name": "projects/
PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
レスポンスは、デフォルトのテンプレートを使用してジョブを作成した場合に返されるレスポンスに似ています。
アドホック構成でのジョブの作成
ジョブを作成するリクエストを使用して、アドホック構成を送信できます。
ジョブを作成するには、projects.locations.jobs.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
: IAM 設定に表示されているプロジェクト ID。 Google CloudPROJECT_ID
: ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
: 作成した Cloud Storage バケットの名前。STORAGE_BUCKET_NAME
: コード変換する Cloud Storage バケット内の動画の名前(STORAGE_INPUT_VIDEO my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。
: エンコードされた動画出力を保存する Cloud Storage フォルダ名。STORAGE_OUTPUT_FOLDER
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "video-stream1", "videoStream": { "h264": { "heightPixels": 720, "widthPixels": 1280, "bitrateBps": 2500000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "video-stream1", "videoStream": { "h264": { "heightPixels": 720, "widthPixels": 1280, "bitrateBps": 2500000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
後述のコマンドデータを使用する前に、次のように置き換えます。
: ジョブを実行するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
: 作成した Cloud Storage バケットの名前。STORAGE_BUCKET_NAME
: コード変換する Cloud Storage バケット内の動画の名前(STORAGE_INPUT_VIDEO my-vid.mp4
など)。このフィールドでは、バケットで作成したフォルダ(input/my-vid.mp4
など)を考慮する必要があります。
: エンコードされた動画出力を保存する Cloud Storage フォルダ名。STORAGE_OUTPUT_FOLDER
次の内容を request.json
という名前のファイルに保存します。
{ "config": { "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "video-stream1", "videoStream": { "h264": { "heightPixels": 720, "widthPixels": 1280, "bitrateBps": 2500000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ] } }
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud transcoder jobs create \ --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " \ --location=LOCATION \ --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" \ --file="request.json"
Windows(PowerShell)
gcloud transcoder jobs create ` --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " ` --location=LOCATION ` --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" ` --file="request.json"
Windows(cmd.exe)
gcloud transcoder jobs create ^ --input-uri="gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " ^ --location=LOCATION ^ --output-uri="gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" ^ --file="request.json"
次のようなレスポンスが返されます。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
ジョブの詳細の取得
ジョブの詳細またはステータスを確認するには、projects.locations.jobs.get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
JOB_ID
: 作成したジョブの ID。PROJECT_ID
: 自分の Google Cloud プロジェクト ID。LOCATION
: ジョブのロケーション。サポートされているリージョンのいずれかを使用します。
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs/JOB_ID "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs/JOB_ID " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
gcloud
コマンドを次のように置き換えます。JOB_ID : 作成したジョブの ID。LOCATION : ジョブのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- 以下のコマンドを実行します。
次のようなレスポンスが表示されます。gcloud transcoder jobs describe
JOB_ID --location=LOCATION { "name": "projects/
PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID ", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_INPUT_VIDEO " } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 60, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 60, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME /STORAGE_OUTPUT_FOLDER /" } }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
レスポンスは、ジョブの作成時に返されるものに似ています。
ジョブのリスト化
あるロケーションで作成したすべてのジョブを確認するには、projects.locations.jobs.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 自分の Google Cloud プロジェクト ID。LOCATION
: ジョブのロケーション。サポートされているリージョンのいずれかを使用します。
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "jobs": [ { "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/MY_JOB ", "config": { .... }, "state": "PENDING", "createTime":CREATE_TIME , "ttlAfterCompletionDays": 30 }, { "name": "projects/PROJECT_NUMBER /locations/LOCATION /jobs/MY_OTHER_JOB ", "config": { .... }, "state": "SUCCEEDED", "createTime":CREATE_TIME , "startTime":START_TIME , "endTime":END_TIME , "ttlAfterCompletionDays": 30 } ] }
gcloud
コマンドを次のように置き換えます。LOCATION : ジョブのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- 以下のコマンドを実行します。
次のようなレスポンスが表示されます。gcloud transcoder jobs list --location=
LOCATION NAME STATE FAILURE_REASON projects/
PROJECT_NUMBER /locations/LOCATION /jobs/JOB_ID SUCCEEDED projects/PROJECT_NUMBER /locations/LOCATION /jobs/abc123 SUCCEEDED
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
その他の成果
リストジョブ レスポンス nextPageToken
が含まれている場合があります。これを使用して、追加の結果を取得できます。
{ "jobs": [ ... ], "nextPageToken": "NEXT_PAGE_TOKEN " }
次の curl
の例では、次のように別のリクエストを送信し、NEXT_PAGE_TOKEN の値を含めて、追加のジョブを一覧表示できます。
curl -X GET \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs?pageToken=NEXT_PAGE_TOKEN
このトークンの使用について詳しくは、関連するクライアント ライブラリをご覧ください。
結果をフィルタリングする
リストジョブ メソッドの結果をフィルタできます。たとえば、次の curl
コマンドを実行して、すべてのアクティブなジョブを一覧表示します。
curl -X GET \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ 'https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs?filter=-state="FAILED"+AND+-state="SUCCEEDED"'
このコマンドでは、否定演算子を使用して、失敗しなかったジョブかつ成功しなかったジョブを一覧表示します。結果のリストには、実行中または保留中のジョブが含まれます(ジョブの状態については、ProcessingState
をご覧ください)。
次にフィルタの例をいくつか示します。
?filter=state="FAILED"+OR+state="SUCCEEDED"
: 完了したジョブを一覧表示します?filter=createTime+>+"2021-06-09T19:25:21.007649960Z"
: 特定のタイムスタンプより後に作成されたジョブを一覧表示します?filter=inputUri="gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO"
: 特定の入力 URI を持つジョブを一覧表示します?filter=config.output.uri="gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/"
: 特定の出力 URI を持つジョブを一覧表示します
詳細については、AIP-160 - フィルタリングをご覧ください。
ジョブの削除
ジョブを削除するには、projects.locations.jobs.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
JOB_ID
: 作成したジョブの ID。PROJECT_ID
: 自分の Google Cloud プロジェクト ID。LOCATION
: ジョブのロケーション。サポートされているリージョンのいずれかを使用します。
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs/JOB_ID "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://transcoder.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /jobs/JOB_ID " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{}
gcloud
コマンドを次のように置き換えます。JOB_ID : 作成したジョブの ID。LOCATION : ジョブのロケーション。サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- 以下のコマンドを実行します。
次のようなレスポンスが表示されます。gcloud transcoder jobs delete
JOB_ID --location=LOCATION Deleted job [projects/
PROJECT_ID /locations/LOCATION /jobs/JOB_ID ].
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある C# の設定手順を行ってください。 詳細については、Transcoder API C# の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Go の設定手順を行ってください。 詳細については、Transcoder API Go の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Java の設定手順を行ってください。 詳細については、Transcoder API Java の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Node.js の設定手順を行ってください。 詳細については、Transcoder API Node.js の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある PHP の設定手順を行ってください。 詳細については、Transcoder API PHP の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Python の設定手順を行ってください。 詳細については、Transcoder API Python の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、クライアント ライブラリを使用した Transcoder API クイックスタートにある Ruby の設定手順を行ってください。 詳細については、Transcoder API Ruby の API のリファレンス ドキュメントをご覧ください。
Transcoder API への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
次のステップ
ジョブ テンプレートの作成と管理について学習します。