Hi, In the past days I've been trying to display an H.264 stream generated by Gstreamer 0.10 in Firefox Nightly (35.0a1), using WebRTC. I'm in Ubuntu 12.04.
I've enabled the "media.peerconnection.video.h264_enabled" flag, and from there on I have tried several paths. 1) First, tried the H.264 SDP demo from the WebRTC book [1] and I was able to run it using two Firefox Nightly's in different computers and successfully make a call between them. From this demo, I think the important parameters in the SDP offer were: a=rtpmap:126 H264/90000 a=fmtp:126 profile-level-id=42e00c;packetization-mode=1 Also based in the "H.264 as Mandatory to Implement Video Codec for WebRTC" draft [2]. 2) Janus WebRTC Gateway The Janus Gateway has a demo [3] where a gstreamer pipeline based on Opus/VP8 is displayed in the browser. My goal was to modify this demo in order to use an H.264 gstreamer pipeline as the stream generator. In concept, Janus doesn't mind about codecs but just negotiation. So I've modified that demo in Janus to change the SDP offer to H.264, setting the rtpmap and fmtp lines parameters as in 1) above, and running a gstreamer pipeline that (I think) would comply to those parameters (especially payload type and profile-level-id): gst-launch videotestsrc ! video/x-raw-rgb,width=320,height=240,framerate=15/1 ! videoscale ! videorate ! ffmpegcolorspace ! timeoverlay ! x264enc ! rtph264pay pt=126 profile-level-id=42e00c ! udpsink host=127.0.0.1 port=5008 I've been able to start the demo (the negotiation seems to succeed), but Firefox doesn't display the video. The details are in [4] from Janus' discussion forum. 3) Recenlty, someone had a similar requirement in the stack overflow question "WebRTC and gstreamer on linux device" [5], but was thinking on using a node.js server instead. I haven't explored that path yet. So, I think in summary, I have some questions that I will appreciate if you help me understand. Q1) What is the state of H.264 WebRTC support in the latest Firefox Nightly - what are the profiles, levels, supported? Q2) Has anyone tried H.264 WebRTC streaming that is not between two browsers? (I.e. my setup of Gstreamer --> WebRTC gateway <--> WebRTC browser) Q3) Any hint on why my test using Janus Gateway is not working? (See [4] for details) And, overall, I have had a hard time understanding how can I know what profile-level-id I must set in the SDP fmtp parameters. Any help on this direction is also welcomed. Thanks much for your help. [1] http://webrtcbook.com/sdp-h264.html [2] http://tools.ietf.org/html/draft-burman-rtcweb-h264-proposal-04#section-9 [3] https://janus.conf.meetecho.com/streamingtest.html [4] https://groups.google.com/forum/#!topic/meetecho-janus/XjjboCTY0Xc [5] http://stackoverflow.com/questions/25463064/webrtc-and-gstreamer-on-linux-device Regards, JP _______________________________________________ dev-media mailing list [email protected] https://lists.mozilla.org/listinfo/dev-media

