WebRTC H264/VP8

Я использую Janus-Gateway и у меня проблема с выбором кодеков между H264/VP8. Когда я выбираю кодек H264, он работает на IOS, но не работает на Chrome 71 (Android) или когда я выбираю VP8, работает на Chrome 71 (Android), но не работает на IOS, есть ли способ, чтобы он работал нормально на обоих? ?

v=0
o=- 1548787135566484 1 IN IP4 
s=VideoRoom 5678
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS janus
a=ice-lite
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 
a=sendonly
a=mid:audio
a=rtcp-mux
a=ice-ufrag:d3jE
a=ice-pwd:JpX8g/jACKyD9331XVlKC9
a=ice-options:trickle
a=fingerprint:sha-256 A8:99:87:1B:32:F2:7B:70:51:F9:D8:5C:FF:21:16:86:3D:32:59:8B:89:E4:C1:8A:44:FA:47:1A:1A:18:E2:F4
a=setup:actpass
a=rtpmap:111 opus/48000/2
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=ssrc:3270748517 cname:janusaudio
a=ssrc:3270748517 msid:janus janusa0
a=ssrc:3270748517 mslabel:janus
a=ssrc:3270748517 label:janusa0
m=video 9 UDP/TLS/RTP/SAVPF 107
c=IN IP4 
a=sendonly
a=mid:video
a=rtcp-mux
a=ice-ufrag:d3jE
a=ice-pwd:JpX8g/jACKyD9331XVlKC9
a=ice-options:trickle
a=fingerprint:sha-256 A8:99:87:1B:32:F2:7B:70:51:F9:D8:5C:FF:21:16:86:3D:32:59:8B:89:E4:C1:8A:44:FA:47:1A:1A:18:E2:F4
a=setup:actpass
a=rtpmap:107 H264/90000
a=fmtp:107 profile-level-id=42e01f;packetization-mode=1
a=rtcp-fb:107 ccm fir
a=rtcp-fb:107 nack
a=rtcp-fb:107 nack pli
a=rtcp-fb:107 goog-remb
a=extmap:4 urn:3gpp:video-orientation
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=ssrc:1373947363 cname:janusvideo
a=ssrc:1373947363 msid:janus janusv0
a=ssrc:1373947363 mslabel:janus
a=ssrc:1373947363 label:janusv0

С уважением


person Retrok    schedule 29.01.2019    source источник


Ответы (2)


У меня есть некоторые сомнения, что Chrome 71 (Android) не поддерживает H.264 WebRTC. У меня нет Android-устройств, чтобы попробовать. Таким образом, вы можете увидеть проблему, связанную с устройством Android. iOS не поддерживает VP8, что противоречит стандарту.

На данный момент я бы использовал H.264.

Давайте просто предположим, что у вас есть два клиента, которые не используют общий формат видео. Вы можете использовать Janus в качестве ретранслятора мультимедиа и настроить плагин транскодирования. https://github.com/chetanbnaik/janus-gateway-transcoder

Это добавит дополнительную задержку, потому что вам нужно декодировать и кодировать, и вы столкнетесь с дополнительным энергопотреблением для кодирования с относительным интенсивным вычислением.

person Markus Schumann    schedule 30.01.2019

Safari Technology Preview теперь поддерживает кодек vp8 в WebRTC, поэтому он должен быть доступен в следующем выпуске.

person CpnCrunch    schedule 14.03.2019