0
votes

I'm trying to establish webrtc connection between browser and media server. But, in reply to Media server offer, Firefox chooses VP8 codec instead H264. Unfortunately, Media server not compatible with VP8 now and supports only H264. How can I make Firefox to use compatible format with Media Server?

Remote SDP (offer):

v=0
o=Flussonic 1468826141836803755 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256C7:B3:54:AA:EB:53:21:B0:19:81:D6:29:F8:71:71:F3:1C:36:AC:DA:E9:43:8A:4B:96:C2:31:E3:A2:92:3D:95
a=group:BUNDLE video_t1
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 9 UDP/TLS/RTP/SAVPF 126
c=IN IP4 0.0.0.0
a=bundle-only
a=sendrecv
a=fmtp:126 profile-level-id=64e01f;level-asymmetry-allowed=0;sprop-parameter-sets=Z2QAH6wrUCgC3IAAAAABZ2QAH6wrUCgC3IAAAAABZ2QAH6wrUCgC3IA=,aO48MA==;packetization-mode=1
a=ice-pwd:804089D4B00B2DF987C9B443387755E8
a=ice-ufrag:E39A4B11
a=mid:video_t1
a=msid:{ffe2aa2b-d835-478f-abcb-ab35424e2eb4} {9547d2eb-2fd4-427d-986c-a579646ecd29}
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-mux
a=rtpmap:126 H264/90000
a=setup:actpass
a=ssrc:4070073620 cname:{ef2d113f-c17c-40ab-bf9c-67c9dcb9eb20}

Local SDP (answer):

v=0
o=mozilla...THIS_IS_SDPARTA-47.0.1 2896632948472560668 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 0D:FC:13:73:48:21:B0:16:79:49:62:FC:64:D6:E2:2B:66:EA:FA:92:5A:15:BD:F4:92:ED:29:22:9E:0A:9E:3F
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 0 UDP/TLS/RTP/SAVPF 120
c=IN IP4 0.0.0.0
a=inactive
a=end-of-candidates
a=rtpmap:120 VP8/90000

Firefox version: 47.0.1 OpenH264 version: 1.5.3

3

3 Answers

1
votes

I also meet the same problem.

I tried the followings:
(1) Generate an additional H.264 capability including "profile-level-id=42e01f"
(2) Assign the description above at top of video block of SDP

After test it works - answered SDP with H.264 and both side got the media streams each other.

(Firefox version: 55.0.3, OpenH264 version:1.6)

HOWEVER,

At Chrome (60.0.3112.113) I got "488 Not Acceptable Here" from the answerer,
and I tried to changed the position of added H.264 description to the bottom of video capabilities,
it is solved but for case of FireFox it failed.
So far I still have no idea on this...

0
votes

Firefox is rejecting your offer, the port in the m-line is set to 0. You probably need an fmtp line describing your h264 profile level id at least (as well as level asymmetry and packetization mode)

0
votes

You can make Firefox to prioritize H.264.

  • In the about::config, search for h264
  • Set media.peerconnection.video.h264_enabled to true.
  • Set media.navigator.video.preferred_codec to 126 (this is the code for H.264). Create this entry if doesn't exists.