Questa pagina fornisce una panoramica tecnica dell'API Transcoder, inclusi caratteristiche, terminologia e concetti utili. L'API Transcoder implementa un'API REST e RPC che ti consente di inviare, monitorare e gestire i job di transcodifica in Google Cloud. Per inviare job utilizzando l'API Transcoder, devi prima e caricare asset multimediali in Cloud Storage. Dopo l'elaborazione di un job, L'API Transcoder salva i contenuti multimediali risultanti in di archiviazione ideale in Cloud Storage.
Funzionalità
L'API Transcoder supporta le seguenti funzioni:
- Output in diversi formati contenitore, tra cui MPEG-4 (MP4), Dynamic Adaptive Streaming over HTTP (DASH, noto anche come MPEG-DASH) e HTTP Live Streaming (HLS)
- Output a velocità in bit e risoluzioni diverse, compreso l'output solo audio
- Conversione in un formato HDR (High Dynamic Range)
- Migliorare l'output video in modo programmatico, ad esempio:
- Configura i parametri di codifica di basso livello, ad esempio la velocità in bit
- Remixa i contenuti multimediali esistenti utilizzando elenchi di modifica completi
- Imposta la modalità job su modalità interattiva a bassa latenza o modalità batch
- Specifica la normalizzazione del volume audio
- Configura la crittografia del video di output per supportare la gestione dei diritti digitali e la protezione dei contenuti
- Inserire fotogrammi chiave dell'annuncio per consentire la riproduzione dei video di inserire annunci
- Creare miniature da uno spritesheet di frame video generato
- Creare modelli di job per salvare e riutilizzare configurazioni personalizzate o complesse per job di transcodifica
Per ulteriori informazioni sugli standard MP4 e MPEG-DASH, visita il sito web del Moving Picture Experts Group. Per ulteriori informazioni sullo standard HLS, vedi Live streaming HTTP.
Container supportati per la crittografia dei contenuti
La tabella seguente mostra i container supportati per i contenuti la crittografia.
Protocollo di streaming | Container | Sistema DRM | Schema di crittografia |
---|---|---|---|
HLS | TS | ClearKey | aes128 |
HLS | TS | FairPlay | sampleAes |
HLS | fMP4 | FairPlay | Solo mpegCenc cbcs |
MPEG-DASH | fMP4 | Widevine | mpegCenc cenc o cbcs |
MPEG-DASH | fMP4 | PlayReady | mpegCenc cenc o cbcs |
Controllo degli accessi
Il modello di controllo dell'accesso dell'API Transcoder si basa sul modello di Identity and Access Management. Le autorizzazioni granulari di IAM forniscono puoi controllare cosa può essere fatto con i dati multimediali e da chi.
Limiti
La tabella seguente mostra i limiti per job di transcodifica.
Limiti dei job | |
---|---|
Larghezza massima di inserimento | 4096 px |
Altezza massima di input | 4096 px |
Larghezza massima dell'output | 4096 px |
Altezza massima dell'output | 2160 px |
Dimensioni output totali | 400 GB |
Durata massima di EditList | 24 ore |
Numero massimo di stream video | 70 |
Numero massimo di stream audio | 50 |
Numero massimo di stream di testo | 50 |
Numero massimo di stream Mux | 100 |
Numero massimo di manifest | 100 |
Numero massimo di fogli sprite | 10 |
Concetti
Questa sezione fornisce importanti concetti relativi ai file video e al loro vengono utilizzati con l'API Transcoder.
Componenti di un file video
Ogni file video ha un contenitore, che è il wrapper dell'intero file. L'API Transcoder utilizza MuxStreams per definire il container. Ogni container include un insieme ElementaryStreams per definire la codifica delle tracce video, audio e di testo dei sottotitoli codificati per . Video e audio vengono compressi tramite codec.
Nell'esempio seguente, il video viene compresso utilizzando H.264 e l'audio viene compresso utilizzando AAC. Entrambe sono inserite in un contenitore MP4.
Figura 1. Componenti di un file video (a sinistra) e un file MP4 di esempio (a destra).
Struttura del protocollo di streaming
Per lo streaming multimediale, i fornitori di contenuti codificano gli stessi contenuti in più velocità in bit (misurati in kilobit al secondo). Il provider genera quindi un manifest che rimanda ai vari file con velocità in bit differenti. Il media player per lo streaming utilizza il file manifest per selezionare il file appropriato, quindi estrae il video pochi secondi alla volta. Ogni velocità in bit può essere un singolo file o più file brevi, in base al supporto supportato dal player.
Risoluzioni dei contenuti multimediali in genere vengono codificate per scegliere come target velocità in bit. Ad esempio, le velocità in bit più basse sono codificate con la definizione standard (SD). anziché in alta definizione (HD). L'insieme di velocità in bit, risoluzioni e codec chiamata ladder Adaptive Bitrate (ABR). I fornitori di contenuti in streaming possono ottimizzare ladder in base ai costi CDN, ai tipi di dispositivi degli utenti, alla larghezza di banda nella regione altri fattori.
Figura 2. Componenti di una struttura di protocollo di streaming (in alto) e esempio
Implementazione di Live Streaming (HLS) HTTP (in basso).
Terminologia
Questa sezione fornisce un glossario di termini utili per l'utilizzo del l'API Transcoder.
Interruzione pubblicitaria
Un'interruzione pubblicitaria è una breve pubblicità che appare prima o durante un contenuto multimediale per riprodurre un video. L'API Transcoder supporta un fotogramma chiave dell'interruzione pubblicitaria nella configurazione del job. L'API Transcoder non inserisce o riproduce annunci o interrompere la riproduzione di contenuti multimediali; I client video player sono responsabili al fotogramma chiave.
Atom
Un atomo è una struttura di dati di base per definire i metadati e la posizione di un video. Un video può comprendere una gerarchia nidificata complessa di diversi tipi di atoms, tra cui audio, editing e text atom.
Atom audio
Un atomo audio mappa l'audio da uno stream elementare a un elenco di modifiche.
Tipo e profilo di codec
Quando selezioni il codec per uno stream video, specifichi il tipo di codec,
come H.264 e il profilo, come il profilo high
predefinito.
Container
Un container è un wrapper che descrive la relazione tra i vari in uno stream multiplex, tra cui file multimediali e metadati. La L'API Transcoder supporta i formati container MP4, MPEG-DASH e HLS.
Modifica atom
Un editor atom definisce gli offset di inizio e fine dei singoli segmenti di un che vuoi combinare in un elenco di modifica.
Modifica elenco
Un elenco di modifica definisce una sequenza di modifiche come sequenza temporale per il file o manifest risultante da un job di transcodifica.
Stream elementare
Uno stream elementare è la codifica di un file di input, ad esempio un file audio, video o la traccia di testo dei sottotitoli codificati. Devi pacchettizzare gli stream elementari prima di mapparli e condividerli con diversi formati di output.
Codifica dell'entropia
La codifica dell'entropia è una forma di compressione senza perdita di dati dell'API Transcoder. Quando configuri i job, puoi specificare i codificatori di entropia CAVLC (codifica a lunghezza variabile adattabile al contesto) o CABAC (codifica aritmetica binaria adattabile al contesto).
Job
Un job è l'unità base per la gestione del lavoro con l'API Transcoder. Quando invii un job all'API Transcoder, viene elaborato in modo asincrono in una posizione geografica nota come region. Puoi elencare e gestire tutti i job per una regione.
Il ciclo di vita di un job include tre passaggi: preparazione, transcodifica e pacchettizzamento.
- Preparazione
- Scarica input da Cloud Storage
- Analizza gli input
- Convalida gli input
- Transcodifica
- Esegui operazioni di transcodifica sugli input
- Pacchetto
- Input di Stitch
- Input multiplex
- Carica output in Cloud Storage
Un job ha un aggiornamento
stato.
Il servizio segnala gli errori utilizzando
error
.
Configurazione job
La configurazione di un job rappresenta molte delle varie impostazioni che puoi personalizzare durante la creazione e l'invio di un job all'API Transcoder. Puoi specificare le impostazioni di configurazione, come la modifica degli elenchi e il punto in cui inserirle tag ad break in un manifest di output. Puoi creare job riutilizzabili configurazioni come modelli di job da utilizzare in una regione Google Cloud.
Modalità job
L'API Transcoder supporta due modalità lavoro: interattivi e batch.
La modalità interattiva è la modalità di lavoro predefinita. Utilizza questa modalità se vuoi l'elaborazione dei dati venga avviata il prima possibile o se desideri avere dati e il controllo su quali job vengono eseguiti per primi. In questa modalità, quota di conteggio dei job simultanei controlla quanti job vengono eseguiti contemporaneamente. Una volta raggiunta questa quota, i job che provi ad avviare vengono rifiutati.
Utilizza la modalità batch per inviare molti job per i quali la latenza di elaborazione è inferiore
poiché i job vengono inviati
nella modalità interattiva predefinita. In questa modalità puoi specificare la priorità di elaborazione dei job per un job. Job inviati in modalità batch con la stessa priorità
vengono inseriti in una coda di primo in entrata e in uscita e hanno lo stato del job PENDING
mentre attendono di essere eseguiti. In questa modalità,
Controlli quota job in sospeso in batch
e quanti job sono in coda. Una volta raggiunta questa quota, qualsiasi job che provi ad avviare
vengono rifiutate. Un job passa allo stato RUNNING
quando viene eseguito. La
quota di conteggio di job simultanei in batch
controlla quanti job vengono eseguiti contemporaneamente.
Puoi utilizzare entrambe le modalità contemporaneamente. Una modalità non ha la priorità su l'altra. Per ulteriori informazioni sull'impostazione della modalità lavoro, vedi Creazione di job in modalità batch.
Modello di job
Per impostazione predefinita, l'API Transcoder applica un modello preimpostato denominato
preset/web-hd
per completare la configurazione di un job. Questa configurazione del job produce
seguenti file di output:
manifest.m3u8
: il playlist principale per uno stream multimediale HLS. Questo file contiene riferimenti alle playlist per il la variante ad alta definizione (HD) dell'output e la variante in definizione standard (SD) una variante dell'output.media-hd.m3u8
: playlist per la versione ad alta definizionemedia-hd0000000000.ts
: file dei segmenti video ad alta definizione
media-sd.m3u8
: playlist per la variante in definizione standardmedia-sd0000000000.ts
: video a definizione standard file di segmenti
manifest.mpd
: la playlist per uno stream multimediale MPEG-DASH. Questo file contiene riferimenti a file dei segmenti solo video e solo audio.audio-only0000000000.m4s
: file dei segmenti solo audiovideo-only-hd0000000000.m4s
: file dei segmenti solo video ad alta definizionevideo-only-sd0000000000.m4s
: segmento solo video con definizione standard file
sd.mp4
: file video a definizione standard indipendentehd.mp4
: file video ad alta definizione autonomo
Puoi creare e gestire modelli di job personalizzati e specificarle durante la creazione dei job.
Pre-elaborazione
La pre-elaborazione è la fase di un job che ha luogo prima o transcodifica multimediale.
Configurazione pre-elaborazione
Una configurazione di preelaborazione rappresenta le impostazioni che puoi applicare a un video prima della fase di transcodifica di un job. Puoi applicare il ritaglio come parte di questa configurazione.
Modalità di controllo della frequenza
La modalità di controllo della frequenza indica se elaborare un job utilizzando fattore di velocità costante (CRF) o modalità a velocità in bit variabile (VBR). CRF garantisce di qualità costante in tutte le risorse multimediali elaborate. VBR ottimizza processo di codifica per ridurre le dimensioni dei file degli asset multimediali elaborati. Per casi d'uso di flussi di dati, seleziona la modalità di controllo della frequenza VBR. Ai fini dell'archiviazione, selezionare la modalità di controllo della frequenza CRF.
Manifest
Un file manifest è la descrizione dei contenuti e dei metadati disponibili un flusso di contenuti adattivi a un client. Nell'API Transcoder, puoi configurare un job per generare un manifest con un nome file, un elenco di multiplex così come il tipo di manifest, che deve essere HLS o MPEG-DASH.
Testo atom
Un atomo di testo mappa il testo da uno stream elementare a un elenco di modifiche.
Stream di testo
Uno stream di testo codifica i dati di testo associati a un video, come i sottotitoli codificati o sottotitoli.
Passaggi successivi
- Prova la guida rapida.
- Scopri come completare specifiche attività dell'API Transcoder.