Open
Bug 1410390
Opened 7 years ago
Updated 12 days ago
webrtc cannot encode or decode stream with h264
Categories
(Core :: WebRTC: Audio/Video, defect, P3)
Tracking
()
UNCONFIRMED
People
(Reporter: mmzhw51, Unassigned)
Details
Attachments
(1 file)
7.04 KB,
image/gif
|
Details |
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36
Steps to reproduce:
we built a environment like 'https://pexipdemo.com'
use webrtc to join meeting with h264
Actual results:
probability can not codec media stream
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Flow is ready
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Transport ready for pipeline 0000000015826C80 flow 0a409f8a262034a5| Transmit video[{9546b6aa-090b-411b-8446-96b5faeaf98f}]: RTP
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Setting SRTP cipher suite SRTP_AES128_CM_HMAC_SHA1_80
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Setting SRTP cipher suite SRTP_AES128_CM_HMAC_SHA1_80
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Listening for RTP packets received on 000000000BEF7820
2017-10-19 11:59:12.492000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtp(none)]; Layer[dtls]: Receive would have blocked
2017-10-19 11:59:12.501000 UTC - 5648[2ebcb400]: MediaPipeline::NotifyRealtimeTrackData() listener=000000000BF1AE20, offset=0, duration=864
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:660: mozilla::WebrtcAudioConduit::GetAudioFrame
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:764: mozilla::WebrtcAudioConduit::GetAudioFrame GetAudioFrame:Got samples: length 320
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: Audio conduit returned buffer of length 320
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:660: mozilla::WebrtcAudioConduit::GetAudioFrame
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:764: mozilla::WebrtcAudioConduit::GetAudioFrame GetAudioFrame:Got samples: length 320
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: Audio conduit returned buffer of length 320
2017-10-19 11:59:12.504000 UTC - 5648[2ebcb400]: MediaPipeline::NotifyQueuedChanges()
2017-10-19 11:59:12.504000 UTC - 7668[1ff54800]: Sending an I420 video frame
2017-10-19 11:59:12.504000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1762: mozilla::WebrtcVideoConduit::SendVideoFrame
2017-10-19 11:59:12.504000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1773: mozilla::WebrtcVideoConduit::SendVideoFrame: call SelectSendResolution with 1280x720
2017-10-19 11:59:12.504000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1559: mozilla::WebrtcVideoConduit::SelectSendResolution: resolution changing to 1280x720 (from 0x0)
2017-10-19 11:59:12.504000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1611: mozilla::WebrtcVideoConduit::SelectSendResolution: proxying lambda to WebRTC thread for reconfig (width 1280/1280, height 720/720
2017-10-19 11:59:12.505000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:593: mozilla::WebrtcAudioConduit::SendAudioFrame
2017-10-19 11:59:12.505000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:914: mozilla::WebrtcAudioConduit::SendRtp: len 172
2017-10-19 11:59:12.505000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:937: mozilla::WebrtcAudioConduit::SendRtp Sent RTP Packet
2017-10-19 11:59:12.505000 UTC - 6784[abe400]: Successfully protected an SRTP packet of len 182
2017-10-19 11:59:12.505000 UTC - 6784[abe400]: 0a409f8a262034a5| Transmit audio[{63765730-3e6f-440c-b25c-cb4b38894737}] sending RTP packet
2017-10-19 11:59:12.505000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:0,rtp(none)]; Layer[ice]: SendPacket(182) succeeded
2017-10-19 11:59:12.508000 UTC - 7592[a2a800]: [main|WebrtcVideoSessionConduit] VideoConduit.cpp:1646: mozilla::WebrtcVideoConduit::ReconfigureSendCodec::<lambda_a321b3a397d13c05d10bed1996e4e1a7>::operator (): Requesting resolution change to 1280x720 (from 320x240), jsScaleDownBy=1.000000
2017-10-19 11:59:12.508000 UTC - 7592[a2a800]: [main|WebrtcVideoSessionConduit] VideoConduit.cpp:1661: mozilla::WebrtcVideoConduit::ReconfigureSendCodec::<lambda_a321b3a397d13c05d10bed1996e4e1a7>::operator (): new_width=1280 new_height=720
2017-10-19 11:59:12.508000 UTC - 7592[a2a800]: [main|WebrtcVideoSessionConduit] VideoConduit.cpp:1681: mozilla::WebrtcVideoConduit::ReconfigureSendCodec::<lambda_a321b3a397d13c05d10bed1996e4e1a7>::operator (): Encoder resolution changed to 1280x720 @ 30fps, bitrate 600000:2500000
2017-10-19 11:59:12.508000 UTC - 7592[a2a800]: [main|WebrtcVideoSessionConduit] VideoConduit.cpp:1695: mozilla::WebrtcVideoConduit::ReconfigureSendCodec Inserted a frame from reconfig lambda
2017-10-19 11:59:12.510000 UTC - 7592[a2a800]: [main|PeerConnectionImpl] PeerConnectionImpl.cpp:2423: Encountered media error! GMP Encode: Either init was aborted, or init failed to supply either a GMP Encoder or GMP host.
2017-10-19 11:59:12.511000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: PacketReceived(0-1508414349442000 (id=83 url=https://189.195.103.1/webrtc/login) aLevel=1,2,352)
2017-10-19 11:59:12.511000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: PacketReceived(352)
2017-10-19 11:59:12.513000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: SendPacket(673) succeeded
2017-10-19 11:59:12.513000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Handshake would have blocked
2017-10-19 11:59:12.513000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Setting DTLS timeout to 50
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: MediaPipeline::NotifyRealtimeTrackData() listener=000000000BF1AE20, offset=0, duration=1024
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:660: mozilla::WebrtcAudioConduit::GetAudioFrame
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:764: mozilla::WebrtcAudioConduit::GetAudioFrame GetAudioFrame:Got samples: length 320
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: Audio conduit returned buffer of length 320
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:660: mozilla::WebrtcAudioConduit::GetAudioFrame
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: [|WebrtcAudioSessionConduit] AudioConduit.cpp:764: mozilla::WebrtcAudioConduit::GetAudioFrame GetAudioFrame:Got samples: length 320
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: Audio conduit returned buffer of length 320
2017-10-19 11:59:12.521000 UTC - 5648[2ebcb400]: MediaPipeline::NotifyQueuedChanges()
2017-10-19 11:59:12.522000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:593: mozilla::WebrtcAudioConduit::SendAudioFrame
2017-10-19 11:59:12.522000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:593: mozilla::WebrtcAudioConduit::SendAudioFrame
2017-10-19 11:59:12.522000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:914: mozilla::WebrtcAudioConduit::SendRtp: len 172
2017-10-19 11:59:12.522000 UTC - 7668[1ff54800]: Sending an I420 video frame
2017-10-19 11:59:12.522000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1762: mozilla::WebrtcVideoConduit::SendVideoFrame
2017-10-19 11:59:12.522000 UTC - 7668[1ff54800]: [VideoFrameConverter #1|WebrtcVideoSessionConduit] VideoConduit.cpp:1787: mozilla::WebrtcVideoConduit::SendVideoFrame Inserted a frame
2017-10-19 11:59:12.522000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:937: mozilla::WebrtcAudioConduit::SendRtp Sent RTP Packet
2017-10-19 11:59:12.522000 UTC - 4720[211e4400]: [AudioProxy #1|WebrtcAudioSessionConduit] AudioConduit.cpp:593: mozilla::WebrtcAudioConduit::SendAudioFrame
2017-10-19 11:59:12.522000 UTC - 6784[abe400]: Successfully protected an SRTP packet of len 182
2017-10-19 11:59:12.522000 UTC - 6784[abe400]: 0a409f8a262034a5| Transmit audio[{63765730-3e6f-440c-b25c-cb4b38894737}] sending RTP packet
2017-10-19 11:59:12.522000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:0,rtp(none)]; Layer[ice]: SendPacket(182) succeeded
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: PacketReceived(0-1508414349442000 (id=83 url=https://189.195.103.1/webrtc/login) aLevel=1,2,1280)
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: PacketReceived(1280)
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Handshake would have blocked
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Setting DTLS timeout to 38
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: PacketReceived(0-1508414349442000 (id=83 url=https://189.195.103.1/webrtc/login) aLevel=1,2,1328)
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: PacketReceived(1328)
2017-10-19 11:59:12.525000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Checking digest, algorithm=sha-256
2017-10-19 11:59:12.527000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: Handshake would have blocked
2017-10-19 11:59:12.527000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: PacketReceived(0-1508414349442000 (id=83 url=https://189.195.103.1/webrtc/login) aLevel=1,2,385)
2017-10-19 11:59:12.527000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: PacketReceived(385)
2017-10-19 11:59:12.527000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[ice]: SendPacket(75) succeeded
2017-10-19 11:59:12.527000 UTC - 6784[abe400]: Flow[0a409f8a262034a5:1,rtcp(none)]; Layer[dtls]: ****** SSL handshake completed ******
Expected results:
able to properly codec media stream
Comment 1•7 years ago
|
||
The error message seems to originate here: http://searchfox.org/mozilla-central/rev/8a6a6bef7c54425970aa4fb039cc6463a19c0b7f/media/webrtc/signaling/src/media-conduit/WebrtcGmpVideoCodec.cpp#236.
Could you please provide the local and remote SDP from about:webrtc for when this problem occurs? Can you verify that you have a copy of the gmp plugin (should be in a directory called gmp-gmpopenh264 in your firefox profile)? Thank you!
Rank: 15
Priority: -- → P2
Updated•7 years ago
|
Flags: needinfo?(mmzhw51)
SDP
本地 SDP
v=0
o=mozilla...THIS_IS_SDPARTA-52.0 4746121682047991688 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 E3:89:D1:91:15:8F:7D:03:FE:6F:DC:E4:F1:2D:CB:6A:3B:7F:E2:61:2D:C8:DA:A9:4F:43:A4:51:24:F3:5D:E9
a=group:BUNDLE sdparta_0 sdparta_1
a=ice-options:trickle
a=msid-semantic:WMS *
m=audio 49746 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 *.*.100.43
a=candidate:0 1 UDP 2122252543 *.*.100.43 49746 typ host
a=candidate:0 2 UDP 2122252542 *.*.100.43 49747 typ host
a=sendrecv
a=end-of-candidates
a=extmap:1/sendonly urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1
a=fmtp:101 0-15
a=ice-pwd:bc311a79afdb0d9a1cb7d79b777bf6ef
a=ice-ufrag:fb724263
a=mid:sdparta_0
a=msid:{075959fe-7639-4e8b-8800-192d843c8a97} {0f00faac-bdcc-4ff5-aa79-5189696de4f6}
a=rtcp:49747 IN IP4 *.*.100.43
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=setup:actpass
a=ssrc:446221885 cname:{3c44ba39-f5b7-4928-9c80-3c493df60d06}
m=video 49748 UDP/TLS/RTP/SAVPF 120 121 126 97
c=IN IP4 *.*.100.43
a=candidate:0 1 UDP 2122252543 *.*.100.43 49748 typ host
a=candidate:0 2 UDP 2122252542 *.*.100.43 49749 typ host
a=sendrecv
a=end-of-candidates
a=fmtp:126 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
a=fmtp:120 max-fs=12288;max-fr=60
a=fmtp:121 max-fs=12288;max-fr=60
a=ice-pwd:bc311a79afdb0d9a1cb7d79b777bf6ef
a=ice-ufrag:fb724263
a=mid:sdparta_1
a=msid:{075959fe-7639-4e8b-8800-192d843c8a97} {4c50c552-cf65-47e7-920a-813177a21f9c}
a=rtcp:49749 IN IP4 *.*.100.43
a=rtcp-fb:120 nack
a=rtcp-fb:120 nack pli
a=rtcp-fb:120 ccm fir
a=rtcp-fb:120 goog-remb
a=rtcp-fb:121 nack
a=rtcp-fb:121 nack pli
a=rtcp-fb:121 ccm fir
a=rtcp-fb:121 goog-remb
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 goog-remb
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 goog-remb
a=rtcp-mux
a=rtpmap:120 VP8/90000
a=rtpmap:121 VP9/90000
a=rtpmap:126 H264/90000
a=rtpmap:97 H264/90000
a=setup:actpass
a=ssrc:3261356826 cname:{3c44ba39-f5b7-4928-9c80-3c493df60d06}
远程 SDP
v=0
o=- 1508760975 1508760976 IN IP4 127.0.0.1
s=-
b=AS:1722
t=0 0
a=sendrecv
m=audio 41620 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 *.*.101.60
a=candidate:1 1 udp 2042888703 *.*.101.60 41620 typ host
a=candidate:2 1 tcp 855900927 *.*.101.60 41620 typ host tcptype passive
a=candidate:3 1 tcp 864289791 *.*.101.60 41620 typ host tcptype active
a=sendrecv
a=fingerprint:sha-256 4A:C8:00:52:05:58:9C:C1:E6:2B:D4:00:AB:73:3A:6F:CB:86:8F:9A:BB:57:76:82:24:2B:2F:20:1F:D3:E0:5C
a=fmtp:109 maxplaybackrate=0;stereo=0;useinbandfec=1
a=fmtp:101 0-15
a=ice-pwd:+1i/i9UNSZ+9AHL26OYM7C
a=ice-ufrag:ks2E
a=mid:sdparta_0
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000/1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=setup:active
a=ssrc:1159957710 cname:cf7238e1-7382-4753-9f39-7a3c384db543
a=ssrc:1159957710 msid:Vy5XX1U1DsaRJW4u1g8Bm0ODyOKocmDc 155992cc-a7ad-4be5-a995-8176b6065dab
m=video 41624 UDP/TLS/RTP/SAVPF 97 126 120
c=IN IP4 *.*.101.60
b=AS:512
b=TIAS:512000
a=candidate:1 1 udp 2042888703 *.*.101.60 41624 typ host
a=candidate:2 1 tcp 855900927 *.*.101.60 41624 typ host tcptype passive
a=candidate:3 1 tcp 864289791 *.*.101.60 41624 typ host tcptype active
a=sendrecv
a=fingerprint:sha-256 4A:C8:00:52:05:58:9C:C1:E6:2B:D4:00:AB:73:3A:6F:CB:86:8F:9A:BB:57:76:82:24:2B:2F:20:1F:D3:E0:5C
a=fmtp:97 profile-level-id=42c014;level-asymmetry-allowed=1;max-mbps=108000;max-fs=3600;max-br=1659
a=fmtp:126 profile-level-id=42c014;level-asymmetry-allowed=1;packetization-mode=1;max-mbps=108000;max-fs=3600;max-br=1659
a=fmtp:120 max-fs=3600;max-fr=30
a=ice-pwd:Ozg0Up0bOA2eTddvzERiQW
a=ice-ufrag:vbCH
a=label:11
a=mid:sdparta_1
a=rtcp-fb:* nack pli
a=rtcp-fb:* nack
a=rtcp-fb:* goog-remb
a=rtcp-mux
a=rtpmap:97 H264/90000
a=rtpmap:126 H264/90000
a=rtpmap:120 VP8/90000
a=setup:active
a=ssrc:2721620779 cname:cf7238e1-7382-4753-9f39-7a3c384db543
a=ssrc:2721620779 msid:Vy5XX1U1DsaRJW4u1g8Bm0ODyOKocmDc c8e3370a-d103-4fb7-8380-3ab48ba33ab0
a=ssrc:475406091 cname:cf7238e1-7382-4753-9f39-7a3c384db543
a=ssrc:475406091 msid:Vy5XX1U1DsaRJW4u1g8Bm0ODyOKocmDc c8e3370a-d103-4fb7-8380-3ab48ba33ab0
yes ,the plugin files called gmp-gmpopenh264 and the issuse come in small probability
about Hundreds of times only once
Flags: needinfo?(mmzhw51)
Updated•2 years ago
|
Severity: normal → S3
Updated•12 days ago
|
Priority: P2 → P3
You need to log in
before you can comment on or make changes to this bug.
Description
•