In questa pagina viene descritto come configurare le impostazioni durante l'endpoint o il canale di input. per le funzionalità di live streaming, ad esempio più tracce audio, sottotitoli codificati fogli sprite.
Configura tramite la creazione di endpoint di input
Puoi specificare le configurazioni per le seguenti funzionalità durante l'endpoint di input creazione:
Lista consentita IP
Puoi limitare l'accesso agli endpoint di input specificando gli intervalli IP di input dello stream, come l'indirizzo IP dell'encoder. Il video la pipeline accetta solo traffico da indirizzi IP in questi intervalli. Gli intervalli IP deve essere in formato a blocchi CIDR.
Configura il campo securityRules
nella risorsa Input
:
{
"type": "RTMP_PUSH",
"securityRules": {
"ipRanges": ["1.2.3.4/32"]
}
}
Configurazione tramite la creazione del canale
Puoi specificare le configurazioni per le seguenti funzionalità durante il canale creazione:
Stream con velocità in bit multipla
Puoi creare configurazioni di canali avanzate che supportano più velocità in bit,
risoluzioni e frequenze fotogrammi. La configurazione seguente include due
muxStream
nell'output, uno a 360p con una frequenza fotogrammi di 30 f/s
(mux_video_360p30
) e un'altra a 720p con una frequenza fotogrammi di 60 f/s
(mux_video_720p60
). Questa configurazione supporta anche più velocità in bit audio.
Consulta:
Velocità in bit consigliate per
ulteriori informazioni.
{
"inputAttachments":[
{
"key":"input-primary",
"input": "projects/PROJECT_NUMBER/locations/LOCATION/inputs/INPUT_ID"
}
],
"output":{
"uri": "gs://BUCKET_NAME"
},
"elementaryStreams": [
{
"key": "es_video_720p60",
"videoStream": {
"h264": {
"profile": "high",
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5500000,
"frameRate": 60
}
}
},
{
"key": "es_video_360p30",
"videoStream": {
"h264": {
"profile": "high",
"heightPixels": 360,
"widthPixels": 640,
"bitrateBps": 400000,
"frameRate": 30
}
}
},
{
"key": "es_audio_160k",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "es_audio_64k",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 64000
}
}
],
"muxStreams": [
{
"key": "mux_video_720p60",
"elementaryStreams": [
"es_video_720p60"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_360p30",
"elementaryStreams": [
"es_video_360p30"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_160k",
"elementaryStreams": [
"es_audio_160k"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_64k",
"elementaryStreams": [
"es_audio_64k"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_720p60",
"mux_video_360p30",
"mux_audio_160k",
"mux_audio_64k"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_720p60",
"mux_video_360p30",
"mux_audio_160k",
"mux_audio_64k"
],
"maxSegmentCount": 5
}
]
}
Tracce audio multiple
Se lo stream di input contiene più di una traccia audio, utilizza il metodo
AudioMapping
per selezionare la traccia per ciascuno
AudioStream
.
{
"inputAttachments": [
{
"key": "MY-INPUT",
"input": "/projects/PROJECT-ID/locations/LOCATION/inputs/MY-INPUT",
}
],
"output": {
"uri": "gs://BUCKET_NAME/outputs/"
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_first_audio",
"audioStream": {
"codec": "aac",
"bitrateBps": 160000,
"mapping": [
{
"inputKey": "MY-INPUT",
"inputTrack": 1
}
]
}
},
{
"key": "es_second_audio",
"audioStream": {
"codec": "aac",
"bitrateBps": 160000,
"mapping": [
{
"inputKey": "MY-INPUT",
"inputTrack": 2
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video",
"elementaryStreams": ["es_video"],
},
{
"key": "mux_first_audio",
"elementaryStreams": ["es_first_audio"],
},
{
"key": "mux_second_audio",
"elementaryStreams": ["es_second_audio"],
}
],
"manifests": [
{
"key": "manifest_dash",
"type": "DASH",
"muxStreams": [
"mux_video",
"mux_first_audio",
"mux_second_audio",
]
}
]
}
Tieni presente che Shaka Player non supporta le seguenti funzionalità per HLS con più tracce audio:
Riproduzione di tracce audio alternative con segmenti TS.
Selezione di tracce audio secondarie e alternative con segmenti fMP4.
Sottotitoli codificati CEA 608/708 passthrough
Se gli stream di input contengono sottotitoli CEA 608/708, puoi inoltrare i sottotitoli codificati
ai flussi di output. Aggiungi il seguente textStream
al
elementaryStreams
durante la creazione di un Channel
. Questo textStream
Incorpora i sottotitoli codificati CEA 608/708 in tutti gli stream video di output e nelle versioni.
{
"key": "captions",
"textStream": {
"codec": "cea608"
}
}
Fogli sprite
Per generare un foglio sprite, configura il campo spriteSheets
in
la risorsa Channel
.
{
"spriteSheets": [
{
"format": "jpeg",
"filePrefix": "sprite",
"interval": "2s",
"spriteWidthPixels": 320,
"spriteHeightPixels": 240,
"columnCount": 3,
"rowCount": 3,
"quality": 80
}
]
}