WebRTC H264 / VP8

时间:2019-01-29 17:54:34

标签: webrtc h.264 vp8 janus-gateway

我使用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

致谢

2 个答案:

答案 0 :(得分:0)

我有些怀疑Chrome 71(Android)不支持H.264 WebRTC。 我没有任何Android设备可以尝试。因此,您可能会看到特定于Android设备的问题。 iOS不支持违反标准的VP8。

此时,我将使用H.264。

让我们假设您有两个不共享通用视频格式的客户端。 你可以使用剑锋作为媒体中继和设置转码插件。 https://github.com/chetanbnaik/janus-gateway-transcoder

这将增加额外的延迟,因为您必须解码和编码,并且您将为相对的计算密集型编码增加功耗。

答案 1 :(得分:0)

Safari Technology Preview现在在WebRTC中支持vp8编解码器,因此它应该在下一版本中可用。