本頁說明如何產生包含轉碼影片影格的圖示精靈表。這些縮小尺寸的影格又稱縮圖,可協助你整理及預覽內容。如要產生精靈圖表,請使用 JobConfig 範本中的 spriteSheets 陣列。
您可以透過下列兩種方式產生精靈圖案表:
生成指定數量的縮圖
以下設定會產生 10x10 的大型圖片圖示表,以及 10x10 的小型圖片圖示表,每個圖示表都包含 100 個縮圖。請注意,圖示精靈表單需要在工作設定中至少有一個 VideoStream。
REST
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID:IAM 設定中列出的 Google Cloud 專案 ID。LOCATION:工作執行的位置。使用支援的區域。顯示地區us-central1us-west1us-west2us-east1us-east4southamerica-east1northamerica-northeast1asia-east1asia-northeast1asia-northeast3asia-south1asia-southeast1australia-southeast1europe-west1europe-west2europe-west4me-west1me-central1me-central2
STORAGE_BUCKET_NAME:您建立的 Cloud Storage bucket 名稱。STORAGE_INPUT_VIDEO:Cloud Storage 值區中要轉碼的影片名稱,例如my-vid.mp4。這個欄位應考量您在 bucket 中建立的任何資料夾 (例如input/my-vid.mp4)。STORAGE_OUTPUT_FOLDER:要儲存編碼影片輸出的 Cloud Storage 資料夾名稱。
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID",
"config": {
...
},
"state": "PENDING",
"createTime": CREATE_TIME,
"ttlAfterCompletionDays": 30
}
gcloud
- 建立定義工作欄位的
request.json檔案。對gcloud指令進行下列替換:- STORAGE_BUCKET_NAME:您建立的 Cloud Storage bucket 名稱。
- STORAGE_INPUT_VIDEO:Cloud Storage 值區中要轉碼的影片名稱,例如
my-vid.mp4。這個欄位應考量您在 bucket 中建立的任何資料夾 (例如input/my-vid.mp4)。 - LOCATION:工作執行的位置。請使用下列清單中的地點。
顯示地區
us-central1us-west1us-west2us-east1us-east4southamerica-east1northamerica-northeast1asia-east1asia-northeast1asia-northeast3asia-south1asia-southeast1australia-southeast1europe-west1europe-west2europe-west4me-west1me-central1me-central2
- STORAGE_OUTPUT_FOLDER:要儲存編碼影片輸出的 Cloud Storage 資料夾名稱。
{ "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": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "columnCount": 10, "rowCount": 10, "totalCount": 100 }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "columnCount": 10, "rowCount": 10, "totalCount": 100 } ] } }
- 請執行下列指令:
畫面會顯示類似以下的回應:gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 C# 設定操作說明進行操作。詳情請參閱「Transcoder API C# API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Go 設定操作說明進行操作。詳情請參閱「Transcoder API Go API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱「Transcoder API Java API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱「Transcoder API Node.js API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
PHP
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 PHP 設定操作說明進行操作。詳情請參閱「Transcoder API PHP API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱「Transcoder API Python API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Ruby 設定操作說明進行操作。詳情請參閱「Transcoder API Ruby API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
在範例影片上使用這項設定,即可產生下列精靈圖:
圖 1. 小型圖片精靈表 (100 張縮圖)
圖 2. 大型圖片精靈表 (100 張縮圖)
定期生成縮圖
以下設定會產生小型圖片的精靈表單,以及大型圖片的精靈表單。每個精靈圖表都包含從輸入影片每 7 秒生成的縮圖。請注意,圖示精靈表單需要在工作設定中至少有一個 VideoStream。
REST
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID:IAM 設定中列出的 Google Cloud 專案 ID。LOCATION:工作執行的位置。使用支援的區域。顯示地區us-central1us-west1us-west2us-east1us-east4southamerica-east1northamerica-northeast1asia-east1asia-northeast1asia-northeast3asia-south1asia-southeast1australia-southeast1europe-west1europe-west2europe-west4me-west1me-central1me-central2
STORAGE_BUCKET_NAME:您建立的 Cloud Storage bucket 名稱。STORAGE_INPUT_VIDEO:Cloud Storage 值區中要轉碼的影片名稱,例如my-vid.mp4。這個欄位應考量您在 bucket 中建立的任何資料夾 (例如input/my-vid.mp4)。STORAGE_OUTPUT_FOLDER:要儲存編碼影片輸出的 Cloud Storage 資料夾名稱。
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID",
"config": {
...
},
"state": "PENDING",
"createTime": CREATE_TIME,
"ttlAfterCompletionDays": 30
}
gcloud
- 建立定義工作欄位的
request.json檔案。對gcloud指令進行下列替換:- STORAGE_BUCKET_NAME:您建立的 Cloud Storage bucket 名稱。
- STORAGE_INPUT_VIDEO:Cloud Storage 值區中要轉碼的影片名稱,例如
my-vid.mp4。這個欄位應考量您在 bucket 中建立的任何資料夾 (例如input/my-vid.mp4)。 - LOCATION:工作執行的位置。請使用下列清單中的地點。
顯示地區
us-central1us-west1us-west2us-east1us-east4southamerica-east1northamerica-northeast1asia-east1asia-northeast1asia-northeast3asia-south1asia-southeast1australia-southeast1europe-west1europe-west2europe-west4me-west1me-central1me-central2
- STORAGE_OUTPUT_FOLDER:要儲存編碼影片輸出的 Cloud Storage 資料夾名稱。
{ "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": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "interval": "7s" }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "interval": "7s" } ] } }
- 請執行下列指令:
畫面會顯示類似以下的回應:gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 C# 設定操作說明進行操作。詳情請參閱「Transcoder API C# API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Go 設定操作說明進行操作。詳情請參閱「Transcoder API Go API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Java 設定操作說明進行操作。詳情請參閱「Transcoder API Java API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Node.js 設定操作說明進行操作。詳情請參閱「Transcoder API Node.js API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
PHP
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 PHP 設定操作說明進行操作。詳情請參閱「Transcoder API PHP API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Python 設定操作說明進行操作。詳情請參閱「Transcoder API Python API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
在試用這個範例之前,請先按照「使用用戶端程式庫的 Transcoder API 快速入門導覽課程」中的 Ruby 設定操作說明進行操作。詳情請參閱「Transcoder API Ruby API 參考文件」。
如要向 Transcoder API 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
在範例影片上使用這項設定,即可產生下列精靈圖:
圖 3. 小型圖片精靈表單 (每 7 秒 1 張縮圖)
圖 4. 大型圖片精靈表 (每 7 秒 1 張縮圖)
系統會從長度 60 秒的範例影片生成八張縮圖。