Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

h264 support test #2

Open
notedit opened this issue Aug 27, 2018 · 2 comments
Open

h264 support test #2

notedit opened this issue Aug 27, 2018 · 2 comments
Assignees

Comments

@notedit
Copy link
Owner

notedit commented Aug 27, 2018

No description provided.

@notedit notedit self-assigned this Oct 1, 2018
@saket424
Copy link

saket424 commented Nov 8, 2019

Hi @notedit
I am trying to get RTMPSink to work. I had to modify webrtc/source.py to use H264 instead of VP8 as follows

diff webrtc/source.py.orig webrtc/source.py
51,52c51,52
< videotestsrc ! videoconvert ! queue ! vp8enc deadline=1 ! rtpvp8pay !
< application/x-rtp,media=video,encoding-name=VP8,payload=97,clock-rate=90000 ! queue

videotestsrc ! videoconvert ! queue ! x264enc ! rtph264pay !
application/x-rtp,media=video,encoding-name=H264,payload=98,clock-rate=90000 ! queue
66c66
< # self.video_caps = Gst.caps_from_string('application/x-rtp,media=video,encoding-name=VP8,payload=97,clock-rate=90000')


    # self.video_caps = Gst.caps_from_string('application/x-rtp,media=video,encoding-name=H264,payload=98,clock-rate=90000')

94c94
< videotestsrc ! videoconvert ! queue ! vp8enc deadline=1 ! rtpvp8pay ! queue

    videotestsrc ! videoconvert ! queue ! x264enc ! rtph264pay ! queue

98,100c98,99
< videoenc = make_element('vp8enc')
< videoenc.set_property('deadline',1)
< videortppay = make_element('rtpvp8pay')

    videoenc = make_element('x264enc')
    videortppay = make_element('rtph264pay')

After that I get further but the RTMPSink pipeline still does not quite work even though the connection between the browser and gstreamer webrtcbin does work

python3 rtmpsink.py
negotiation-needed <gi.GstWebRTCBin object at 0x7f405a5ebf78 (GstWebRTCBin at 0x229a240)>
{"join":"aaaaa"}
send offer v=0
o=- 97955494887538072 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE audio0 video1
m=audio 9 UDP/TLS/RTP/SAVPF 100
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:MfILjT0UsGX+ZlVRYjtxVzfG/l3KoI/5
a=ice-pwd:YXbR/dfp8IxbmZZCLwpry51fIRSBlGMy
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:100 OPUS/48000/2
a=rtcp-fb:100 nack pli
a=fmtp:100 sprop-maxcapturerate=48000;sprop-stereo=0
a=ssrc:3392047779 msid:user3089320759@host-ec964ea8 webrtctransceiver0
a=ssrc:3392047779 cname:user3089320759@host-ec964ea8
a=mid:audio0
a=fingerprint:sha-256 B9:85:33:23:87:3A:AB:10:53:5F:30:B3:9D:98:1C:D6:75:8E:93:62:31:98:0D:6A:EF:8F:FE:A1:1D:39:A6:8A
m=video 0 UDP/TLS/RTP/SAVPF 98
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:MfILjT0UsGX+ZlVRYjtxVzfG/l3KoI/5
a=ice-pwd:YXbR/dfp8IxbmZZCLwpry51fIRSBlGMy
a=bundle-only
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:98 H264/90000
a=rtcp-fb:98 nack pli
a=framerate:30
a=fmtp:98 packetization-mode=1;profile-level-id=42c015;sprop-parameter-sets=Z0LAFdkBQfsBagwCC0oAAAMAAgAAAwB5HixckA==,aMuMsg==
a=ssrc:3273378542 msid:user3089320759@host-ec964ea8 webrtctransceiver1
a=ssrc:3273378542 cname:user3089320759@host-ec964ea8
a=mid:video1
a=fingerprint:sha-256 B9:85:33:23:87:3A:AB:10:53:5F:30:B3:9D:98:1C:D6:75:8E:93:62:31:98:0D:6A:EF:8F:FE:A1:1D:39:A6:8A

{"answer":"v=0\r\no=- 627683038156950650 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio0 video1\r\na=msid-semantic: WMS ZSpRrdS3Ce4nQq1xMs7M0BPTYnuwGVGvZrrJ\r\nm=audio 9 UDP/TLS/RTP/SAVPF 100\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Lofg\r\na=ice-pwd:xVKgiYp6NuYboDQLMaj00IAv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D0:75:EF:98:3D:B8:16:E0:3E:B6:16:50:AD:B4:C6:C0:C6:4F:DB:47:84:ED:04:8A:29:D8:22:5F:F3:EC:AA:5D\r\na=setup:active\r\na=mid:audio0\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 OPUS/48000/2\r\na=fmtp:100 minptime=10;useinbandfec=1\r\na=ssrc:397471572 cname:xhxVuFE6BVQNeIlV\r\na=ssrc:397471572 msid:ZSpRrdS3Ce4nQq1xMs7M0BPTYnuwGVGvZrrJ ba96d0b8-9099-4723-ad05-88b2d6264505\r\na=ssrc:397471572 mslabel:ZSpRrdS3Ce4nQq1xMs7M0BPTYnuwGVGvZrrJ\r\na=ssrc:397471572 label:ba96d0b8-9099-4723-ad05-88b2d6264505\r\nm=video 9 UDP/TLS/RTP/SAVPF 98\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Lofg\r\na=ice-pwd:xVKgiYp6NuYboDQLMaj00IAv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D0:75:EF:98:3D:B8:16:E0:3E:B6:16:50:AD:B4:C6:C0:C6:4F:DB:47:84:ED:04:8A:29:D8:22:5F:F3:EC:AA:5D\r\na=setup:active\r\na=mid:video1\r\na=sendrecv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:98 H264/90000\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e015\r\na=ssrc:2949926185 cname:xhxVuFE6BVQNeIlV\r\na=ssrc:2949926185 msid:ZSpRrdS3Ce4nQq1xMs7M0BPTYnuwGVGvZrrJ 208d68d6-f9e8-4618-aaa9-a9a694ac7440\r\na=ssrc:2949926185 mslabel:ZSpRrdS3Ce4nQq1xMs7M0BPTYnuwGVGvZrrJ\r\na=ssrc:2949926185 label:208d68d6-f9e8-4618-aaa9-a9a694ac7440\r\n"}
audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003

@notedit
Copy link
Owner Author

notedit commented Nov 12, 2019

the diff is hard to understand

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants