GNOME Bugzilla – Bug 681310
Add H.239 support
Last modified: 2012-12-06 22:17:15 UTC
H.239 is a feature of H.323 recommendation. It describes how to send additional video stream in a parallel to main video picture. e.g., it is possible to see speaking person within main video screen and see her desktop with diagrams or screenshots. Opal has support for H.239 (you can use OpenPhone for testing it) but Ekiga needs some changes.
Created attachment 220463 [details] [review] Setup H.239 in Ekiga This is an initial patch proposal for adding H.239 support in Ekiga. Right now the patch only is capable to choose, before calling, the video to display in the VideoOutput (slides or main).
Thank you. Should it be committed as it, or better to wait until you provide other patches (such as changing the video to display on-the-fly)? Note: This is related to bug #651544.
Hi Eugen, Well, the patch is just a request for comments (yes, I should said it explicitly). So the next step would be, either: 1) to choose the video to display in run time 2) to compose a video, such as expressed in the RFC 4796, showing all the streams at the same time Opal's openphone uses the option 2) by calling, if I understood correctly, OpalCall::OpenSourceMediaStreams, but I need to test it. Thanks!
Hi Víctor, The patch seems ok for me, with respect to integration in ekiga. I do not know H.239, could you detail what this patch does exactly (apart GUI configuration)? Does it show the screen instead of the video for ex.?! Also, do you plan to improve it or not? If it already does something useful AND/OR it does not yet but you will improve it soon, I think it can be committed.
(In reply to comment #4) > Hi Víctor, > > The patch seems ok for me, with respect to integration in ekiga. I do not know > H.239, could you detail what this patch does exactly (apart GUI configuration)? > Does it show the screen instead of the video for ex.?! It shows, when a participant is streaming their slides through H.239, the slides, and only the slides. > Also, do you plan to improve it or not? Yes. I need to show both video streams: the main role and the slides. But don't how to handle it yet. > If it already does something useful AND/OR it does not yet but you will improve > it soon, I think it can be committed. I guess it is useful for certain use cases as is, still it is not a "full supported feature". Hence, yes, I guess it is committable, though I'll keep working in the video displaying issue. Cheers,
Ok, committed then, thanks! http://git.gnome.org/browse/ekiga/commit/?id=580d1a28510f0d3ef194 I think it is more user-friendly to use combobox instead of int for video_role in Preferences.
(In reply to comment #6) > Ok, committed then, thanks! > > http://git.gnome.org/browse/ekiga/commit/?id=580d1a28510f0d3ef194 Great! Thanks! > > I think it is more user-friendly to use combobox instead of int for video_role > in Preferences. I don't follow this sentence. What do you mean with "combobox instead of int"?
(In reply to comment #7) > (In reply to comment #6) > > I think it is more user-friendly to use combobox instead of int for video_role > > in Preferences. > > I don't follow this sentence. What do you mean with "combobox instead of int"? In Preferences, H.323, DTMF mode is given as combobox, which is better than an int (as you did).
How to test the H.239 support in Ekiga 1) Download the SampleServer.zip from here http://www.rsdevs.com/h239.shtml It is a windows application, still it works with wine. 2) Launch the sampleserver application 3) Launch Ekiga and configure the H.323/H.239 options (enable H.239 and select the Presentation role) 4) In the sample server call to Ekiga's end point 5) In the video output window you'll see the screenshot of the other computer (where sampleserver is running) TODO SampleServer streams 2 streams 1/ the main role (strips) and 2/ the presentation role (screenshot), so Ekiga should either show both streams at the same time in the VideoOutput device or the user should be able to choose which stream show.
(In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > I think it is more user-friendly to use combobox instead of int for video_role > > > in Preferences. > > > > I don't follow this sentence. What do you mean with "combobox instead of int"? > > In Preferences, H.323, DTMF mode is given as combobox, which is better than an > int (as you did). but the video role is a combobox: gnome_prefs_int_option_menu_new (subsection, _("Extended Video Roles:"), roles, H323_KEY "video_role", _("Select the H.239 Video Role"), 4); just like the DTMF: gnome_prefs_int_option_menu_new (subsection, _("_Send DTMF as:"), capabilities, H323_KEY "dtmf_mode", _("Select the mode for DTMFs sending"), 0); The difference among them is that the DTMF is packed inside other "subsection"
Created attachment 220692 [details] OpenPhone Video Output This is an image of the video output composed by the openphone, an Opal's sample application. The output device video is composed with the preview + main role + slide role This layout is similar to the layout proposed by the RFC 4796
Created attachment 220693 [details] Ekiga Video Output Video Output of Ekiga when H.239 / Force Live Presentation is enabled. As you can see, only the presentation view is shown. Note that the simple server doesn't show the video stream from Ekiga, neither Ekiga displays the simple server's main role (stripes). I don't know why yet.
(In reply to comment #10) > but the video role is a combobox: > > gnome_prefs_int_option_menu_new (subsection, _("Extended Video Roles:"), > roles, H323_KEY "video_role", _("Select the H.239 Video Role"), 4); > > just like the DTMF: > > gnome_prefs_int_option_menu_new (subsection, _("_Send DTMF as:"), > capabilities, H323_KEY "dtmf_mode", _("Select the mode for DTMFs sending"), 0); > > The difference among them is that the DTMF is packed inside other "subsection" You are right, sorry!
I appreciate your work, please go ahead!
I've been working on a way to show the extended video. It's hacky and ugly, but works with the exception of the fullscreen scenario. Here my current WIP patch: https://github.com/ceyusa/ekiga/commit/70ea5cd94d57c8fcd00fb9aa55dc04245f2f2d4f
I am preparing a beta release. Before looking into it and testing, are you sure that the patch does not add any regression? Also, does it allow to see both streams, or only one at a time?
(In reply to comment #16) > I am preparing a beta release. Before looking into it and testing, are you > sure that the patch does not add any regression? I haven't tested it with a SIP connection. > Also, does it allow to see > both streams, or only one at a time? Only one stream at a time :( More work is required to show both.