как установить размер гопа vp8, видеокодека, в webrtc?

Я использую исходный код реализации видеоконференции, используя webrtc и nodejs.

Мне удалось установить VP8 в качестве кодека для потоковой передачи видео с использованием метода setCodecPreferences следующим образом:

 rtcPeerConnection = new RTCPeerConnection(iceServers)
 .......
 const transceiver = rtcPeerConnection .addTransceiver('video');
const capabilities = RTCRtpSender.getCapabilities('video');
const { codecs } = capabilities;
codecs.forEach(codec => {
  if (codec.mimeType.toLowerCase() === 'video/vp8') {
    transceiver.setCodecPreferences([codecs[0]]);
  }
});

Однако я не смог найти способ установить длину GoP, частоту ключевых кадров или количество промежуточных кадров в GoP.

Любая идея, как настроить RTCPeerConnection, чтобы обеспечить этот параметр?


person Ahmad    schedule 12.04.2021    source источник
comment
Обычно GOP можно ставить через ffmpeg при конвертации статики или живого видео, но в webRTC думаю именно браузер проверит возможности устройства...   -  person Jintor    schedule 15.04.2021
comment
Это черный ящик в браузере?   -  person Ahmad    schedule 15.04.2021


Ответы (1)


WebRTC JS API не позволяет установить интервал ключевых кадров. WebRTC обрабатывает за вас исправление ошибок и контроль перегрузки и выбирает оптимальные настройки.

Что вы пытаетесь достичь?

person Sean DuBois    schedule 13.04.2021
comment
Мне нужно настроить параметры кодирования видео webrtc на VP8, GoP=10 (3 ключевых кадра для 30 FPS). Я пытаюсь оценить производительность своего прототипа с помощью webrtc. - person Ahmad; 15.04.2021