Halaman ini menjelaskan cara mengonfigurasi setelan selama pembuatan endpoint input atau saluran 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 tempat streaming input harus berasal, 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 saluran:
Beberapa streaming 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
mengetahui 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": [
{
"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
}
]
}
Beberapa trek audio
Jika aliran input berisi lebih dari satu trek audio, gunakan objek
AudioMapping untuk memilih trek untuk 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": [
{
"key": "manifest_dash",
"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.
Mentransmisikan teks CEA 608/708
Jika streaming input berisi teks CEA 608/708, Anda dapat meneruskan teks
ke streaming output. Tambahkan textStream berikut ke
elementaryStreams saat membuat Channel. textStream ini
menyisipkan teks CEA 608/708 di semua streaming dan render video output.
{
"key": "captions",
"textStream": {
"codec": "cea608"
}
}
Spritesheet
Untuk membuat sheet sprite, konfigurasikan kolom spriteSheets di
resource Channel.
{
"spriteSheets": [
{
"format": "jpeg",
"filePrefix": "sprite",
"interval": "2s",
"spriteWidthPixels": 320,
"spriteHeightPixels": 240,
"columnCount": 3,
"rowCount": 3,
"quality": 80
}
]
}