Запись прямой трансляции с плавающим разрешением

Anton1984

Member
Если не устанавливать ограничения пор битрейту, то в момент прямой трансляции разрешение стрима изменяется автоматически. После стрима запись прямой трансляции так же с плавающим разрешением и воспроизводится нормально на некоторых устройствах только до момента изменения разрешения. Вопрос, есть ли какой-то метод работы с записями на стороне сервера чтобы после окончания прямой трансляции конвертировать в видео с постоянным разрешением ?
 

Max

Administrator
Staff member
Здравствуйте.

После того, как записываемый стрим остановлен, сервер вызывает скрипт on_record_hook.sh

В этом скрипте вы можете обработать записанный файл и запустить конвертацию к нужному разрешению, например с помощью ffmpeg.

Документация on_record_hook.sh
 

Max

Administrator
Staff member
Если не устанавливать ограничения пор битрейту, то в момент прямой трансляции разрешение стрима изменяется автоматически.
Можно также при трансляции из браузера задавать тип видеоконтента: Управление типом публикуемого контента в Chromium браузерах
Code:
session.createStream({
    name: streamName,
    display: localVideo,
    cacheLocalResources: true,
    receiveVideo: false,
    receiveAudio: false,
    videoContentHint: "detail"
    ...
}).publish();
В этом случае браузер будет удерживать разрешение трансляции (но может сбросить FPS или битрейт, если канал ухудшится)
 

Anton1984

Member
Можно также при трансляции из браузера задавать тип видеоконтента: Управление типом публикуемого контента в Chromium браузерах
Code:
session.createStream({
    name: streamName,
    display: localVideo,
    cacheLocalResources: true,
    receiveVideo: false,
    receiveAudio: false,
    videoContentHint: "detail"
    ...
}).publish();
В этом случае браузер будет удерживать разрешение трансляции (но может сбросить FPS или битрейт, если канал ухудшится)
С SDK такой возможности нет ?
 

Max

Administrator
Staff member
С SDK такой возможности нет ?
К сожалению, нет, это поддерживается только в Chromium браузерах. В SDK можно либо использовать TCP для публикации, либо, если не хватает пропускной способности канала, изначально ставить ограничения по разрешению. Если не помогает и это, и разрешение все равно сбрасывается, тогда только перекодировать запись запись к одному разрешению в скрипте on_record_hook.sh
 
Top