Принудительное изменение разрешения видео стрима

ph03n1x

New Member
Добрый день.

Скажите, если в нашей схеме есть origin + edge

на edge сервере используются параметры

Code:
cdn_point_of_entry = ORIGIN_SRV_IP
cdn_origin_allowed_to_transcode=true
force_client_requested_video_resolution = false

disable_streaming_proxy = false
video_encoder_second_thread_threshold=777000

video_transcoder_preserve_aspect_ratio=false

hls_player_width=1280
hls_player_height=720

profiles:
  -1080p:
   video:
     width : 1920
     height : 1280
     bitrate : 6000
     gop : 90
     fps : 30
     codec : h264
     codecImpl : OPENH264
  -720p:
   video:
     width : 1280
     height :  720
     bitrate : 2000
     gop : 90
     fps : 30
     codec : h264
     codecImpl : OPENH264

на origin
Code:
cdn_origin_allowed_to_transcode=true
encoder_default_video_resolution = 1280x720
transcoding_disabled = false
disable_streaming_proxy = true
streaming_video_decoder_fast_start = true
Я ожидаю что при публикации стрима fullhd (1920/1280) и при запросе STREAM-720p я получу видео в разрешении HD (1280/720)
Однако в hls и в webrtc разрешение fullhd (1920/1280)

Существует ли ошибка в конфигурации или это корректное поведение?
 

Max

Administrator
Staff member
Добрый день.
В Ваших настройках сразу несколько ошибок:
1. Параметр cdn_origin_allowed_to_transcode устанавливается только на Edge серверах, о чем написано здесь
2. Параметр force_client_requested_video_resolution не имеет отношения к транскодингу
3. Параметры
Code:
hls_player_width=1280
hls_player_height=720
приводят к излишнему транскодингу на Edge
4. Параметр video_encoder_second_thread_threshold нужно менять на том сервер, где производится транскодинг, на Edge при транскодинге по профилю его менять не нужно, т.к. Edge в этом сценарии не должен транскодировать видео
5. Параметр
Code:
disable_streaming_proxy = true
приводит к излишнему транскодингу на Origin в то же разрешение, с которым опубликован поток. Для того, чтобы декодер запускался при публикации, достаточно параметра
Code:
streaming_video_decoder_fast_start = true
6. При запросе потока по профилю -1080p параметр
Code:
encoder_default_video_resolution = 1280x720
приведет к излишнему транскодингу в 720p на Origin
Я ожидаю что при публикации стрима fullhd (1920/1280) и при запросе STREAM-720p я получу видео в разрешении HD (1280/720)
Такой результат мы получили со следующими настройками (последняя сборка сервера 5.2.1036):
1. Настройки Origin:
Code:
streaming_video_decoder_fast_start = true
video_encoder_second_thread_threshold=777000
video_transcoder_preserve_aspect_ratio=false
2. Настройки Edge:
Code:
cdn_origin_allowed_to_transcode=true
hls_player_width=0
hls_player_height=0
3. Профили на Edge в файле /usr/local/FlashphonerWebCallServer/conf/cdn_profiles.yml:
Code:
profiles:
  -1080p:
   video:
     width : 1920
     height : 1280
     bitrate : 6000
     gop : 90
     fps : 30
     codec : h264
  -720p:
   video:
     width : 1280
     height :  720
     bitrate : 2000
     gop : 90
     fps : 30
     codec : h264
 
Top