Halaman ini menjelaskan cara mengonfigurasi setelan selama titik akhir input atau pembuatan channel untuk fitur live stream seperti beberapa trek audio, teks, dan spritesheet.
Mengonfigurasi melalui pembuatan endpoint input
Anda dapat menentukan konfigurasi untuk fitur berikut selama pembuatan endpoint input:
Daftar IP yang diizinkan
Anda dapat membatasi akses ke endpoint input dengan menentukan rentang IP asal aliran data input, seperti alamat IP encoder. Pipeline video hanya menerima traffic dari alamat IP dalam rentang ini. Rentang IP harus dalam format blok CIDR.
Konfigurasikan kolom securityRules
di resource Input
:
{
"type": "RTMP_PUSH",
"securityRules": {
"ipRanges": ["1.2.3.4/32"]
}
}
Mengonfigurasi melalui pembuatan channel
Anda dapat menentukan konfigurasi untuk fitur berikut selama pembuatan channel:
Beberapa streaming dengan kecepatan bit
Anda dapat membuat konfigurasi saluran lanjutan yang mendukung beberapa kecepatan bit,
resolusi, dan kecepatan frame. Konfigurasi berikut menyertakan dua
muxStream
dalam output, satu pada 360p dengan kecepatan frame 30 FPS
(mux_video_360p30
) dan satu lagi pada 720p dengan kecepatan frame 60 FPS
(mux_video_720p60
). Konfigurasi ini juga mendukung beberapa kecepatan bit audio.
Lihat
Kecepatan bit yang direkomendasikan untuk
informasi selengkapnya.
{
"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": [
{
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_720p60",
"mux_video_360p30",
"mux_audio_160k",
"mux_audio_64k"
],
"maxSegmentCount": 5
},
{
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_720p60",
"mux_video_360p30",
"mux_audio_160k",
"mux_audio_64k"
],
"maxSegmentCount": 5
}
]
}
Beberapa trek audio
Jika streaming input berisi lebih dari satu trek audio, gunakan objek
AudioMapping
untuk memilih trek bagi setiap
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": [
{
"type": "DASH",
"muxStreams": [
"mux_video",
"mux_first_audio",
"mux_second_audio",
]
}
]
}
Perhatikan bahwa Shaka Player tidak mendukung fitur berikut untuk streaming HLS dengan beberapa trek audio:
Pemutaran trek audio alternatif dengan segmen TS.
Pemilihan trek audio sekunder dan alternatif dengan segmen fMP4.
Teks passthrough CEA 608/708
Jika streaming input berisi teks CEA 608/708, Anda dapat meneruskan teks tersebut
ke streaming output. Tambahkan textStream
berikut ke
elementaryStreams
saat membuat Channel
. textStream
ini
menyematkan teks CEA 608/708 ke semua streaming dan rendisi video output.
{
"key": "captions",
"textStream": {
"codec": "cea608"
}
}
Sheet sprite
Untuk membuat sprite sheet, konfigurasikan kolom spriteSheets
di
resource Channel
.
{
"spriteSheets": [
{
"format": "jpeg",
"filePrefix": "sprite",
"interval": "2s",
"spriteWidthPixels": 320,
"spriteHeightPixels": 240,
"columnCount": 3,
"rowCount": 3,
"quality": 80
}
]
}