Gstreamer and Gtk

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer and Gtk

João Paulo Mafra
Hi,

I want to display videos on a limited area in a gtk widget (in a tab of the GtkNotebook widget). Anyone knows if is it possible?


Thank you very much,

Joao Paulo

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

lrn-2
On 24.06.2009 19:05, João Paulo Mafra wrote:

> Hi,
>
> I want to display videos on a limited area in a gtk widget (in a tab of the
> GtkNotebook widget). Anyone knows if is it possible?
>
>
> Thank you very much,
>
> Joao Paulo
>    
You could try
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
The only problem is to draw gdkgdkbufs on a tab. Bu that is entirely
another topic.

------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

João Paulo Mafra
That is, in the contents of a tab, a container (such as GtkHBox).

Thanks, I will see the plugin.


2009/6/24 LRN <[hidden email]>
On 24.06.2009 19:05, João Paulo Mafra wrote:
> Hi,
>
> I want to display videos on a limited area in a gtk widget (in a tab of the
> GtkNotebook widget). Anyone knows if is it possible?
>
>
> Thank you very much,
>
> Joao Paulo
>
You could try
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
The only problem is to draw gdkgdkbufs on a tab. Bu that is entirely
another topic.

------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

Philip Jägenstedt
You could also have a look at xvimagesink and using the GstXOverlay
interface documented at
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html

I've never actually tried doing this, but I presume it's what totem
and other players do.

Philip

2009/6/24 João Paulo Mafra <[hidden email]>:

> That is, in the contents of a tab, a container (such as GtkHBox).
>
> Thanks, I will see the plugin.
>
>
> 2009/6/24 LRN <[hidden email]>
>>
>> On 24.06.2009 19:05, João Paulo Mafra wrote:
>> > Hi,
>> >
>> > I want to display videos on a limited area in a gtk widget (in a tab of
>> > the
>> > GtkNotebook widget). Anyone knows if is it possible?
>> >
>> >
>> > Thank you very much,
>> >
>> > Joao Paulo
>> >
>> You could try
>>
>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
>> The only problem is to draw gdkgdkbufs on a tab. Bu that is entirely
>> another topic.
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>



--
Philip Jägenstedt

------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

Olivier Aubert-2
In reply to this post by lrn-2
> > I want to display videos on a limited area in a gtk widget (in a tab of the
> > GtkNotebook widget). Anyone knows if is it possible?
Use a xvimagesink element and, using the XOverlay interface, embed it in
the tab through a GtkSocket (see
http://library.gnome.org/devel/gtk/stable/GtkSocket.html )

Olivier


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

João Paulo Mafra
Hi,

I'm trying to use the widget you talked about, but it seems that I need to have another x11 window to embed it in a GtkPlug, and then add the GtkPlug in a GtkSocket. Is it correct?

I already can display gstreamer videos on a gtk window (as shown in this excelent post: http://tristanswork.blogspot.com/2008/09/fullscreen-video-in-gstreamer-with-gtk.html), but the problem now is to show it in the contents of a tab of the GtkNotebook widget. If I need another x11 window, can I normally display the video as I'm already doing, and then pass the window id to the GtkPlug?


Thanks.


2009/6/24 Olivier Aubert <[hidden email]>
> > I want to display videos on a limited area in a gtk widget (in a tab of the
> > GtkNotebook widget). Anyone knows if is it possible?
Use a xvimagesink element and, using the XOverlay interface, embed it in
the tab through a GtkSocket (see
http://library.gnome.org/devel/gtk/stable/GtkSocket.html )

Olivier


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer and Gtk

E. Westbrook-4
One of my experiments recently was using gtk to create the window that xvimagesink would play into, rather than creating a window from hand with XCreateSimpleWindow().  I got it working after learning how to get the X11 window ID out of a GtkWidget.

The GDK_WINDOW_XWINDOW(widget->window) convenience macro was what helped get me unstuck on this one.

Just use that macro to retrieve the widget's X11 window ID, then pass it to the gst_x_overlay_set_window_id() function when asked to by the prepare-xwindow-id message from a given xvimagesink.

I could probably whip up a trivial demonstration case if that doesn't explain well.  And please correct if I'm misunderstanding the question, as always.

Hope that helps,
E. Westbrook

2009/6/29 João Paulo Mafra <[hidden email]>
Hi,

I'm trying to use the widget you talked about, but it seems that I need to have another x11 window to embed it in a GtkPlug, and then add the GtkPlug in a GtkSocket. Is it correct?

I already can display gstreamer videos on a gtk window (as shown in this excelent post: http://tristanswork.blogspot.com/2008/09/fullscreen-video-in-gstreamer-with-gtk.html), but the problem now is to show it in the contents of a tab of the GtkNotebook widget. If I need another x11 window, can I normally display the video as I'm already doing, and then pass the window id to the GtkPlug?


Thanks.


2009/6/24 Olivier Aubert <[hidden email]>

> > I want to display videos on a limited area in a gtk widget (in a tab of the
> > GtkNotebook widget). Anyone knows if is it possible?
Use a xvimagesink element and, using the XOverlay interface, embed it in
the tab through a GtkSocket (see
http://library.gnome.org/devel/gtk/stable/GtkSocket.html )

Olivier


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

How can I synchronize video and audio

zelalem
Hi guys, I wanted to record video coming from network into avi file, and wrote some code. The file is created but it is unsynchronized (by almost 2 second) and it is annoying. I am using avimuxer. I also used buffer for the audio source hoping to reduce the time difference. The following is the source and destination codes (the command line version of my code). Is there anything that I should consider to avoid this problem. Please help me. If you think that I should use other file formats and video muxer, please advice me.

Source:
Audio:
gst-launch-0.10 -v alsasrc ! queue ! audio/x-raw-int,rate=8000,channels=1,depth=8 ! audioconvert ! alawenc ! rtppcmapay ! udpsink port=5002
Video:
gst-launch v4l2src ! video/x-raw-rgb,width=320,height=240 ! queue ! videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace! ffenc_h263p ! rtph263ppay ! udpsink port=5000

Destination:
gst-launch-0.10 -v avimux name=mux ! filesink location=videoandaudio.avi sync=true {udpsrc port=5000 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H263-1998"  ! queue ! rtph263pdepay ! 'video/x-h263,width=320,height=240,framerate=(fraction)25/1' ! queue} ! mux.video_0 {udpsrc port=5002 caps="application/x-rtp,media=(string)audio,payload=(int)96, rate=(int)8000, encoding-name=(string)PCMA" num-buffers=5000 ! queue ! rtppcmadepay ! 'audio/x-alaw, rate=(int)8000, channels=(int)1' ! queue} ! mux.audio_0;

Thank you.

- Zelalem S.


Windows Live™: Keep your life in sync. Check it out!
------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How can I synchronize video and audio

Edward Hervey
Administrator
Don't hijack other threads. Create a new thread by sending this mail to
[hidden email].

   Edward

On Tue, 2009-06-30 at 13:03 +0300, Zelalem Sintayehu wrote:

> Hi guys, I wanted to record video coming from network into avi file,
> and wrote some code. The file is created but it is unsynchronized (by
> almost 2 second) and it is annoying. I am using avimuxer. I also used
> buffer for the audio source hoping to reduce the time difference. The
> following is the source and destination codes (the command line
> version of my code). Is there anything that I should consider to avoid
> this problem. Please help me. If you think that I should use other
> file formats and video muxer, please advice me.
>
> Source:
> Audio:
> gst-launch-0.10 -v alsasrc ! queue !
> audio/x-raw-int,rate=8000,channels=1,depth=8 ! audioconvert !
> alawenc ! rtppcmapay ! udpsink port=5002
> Video:
> gst-launch v4l2src ! video/x-raw-rgb,width=320,height=240 ! queue !
> videorate ! video/x-raw-rgb,rate=15/1 ! ffmpegcolorspace!
> ffenc_h263p ! rtph263ppay ! udpsink port=5000
>
> Destination:
> gst-launch-0.10 -v avimux name=mux ! filesink
> location=videoandaudio.avi sync=true {udpsrc port=5000
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H263-1998"  ! queue ! rtph263pdepay ! 'video/x-h263,width=320,height=240,framerate=(fraction)25/1' ! queue} ! mux.video_0 {udpsrc port=5002 caps="application/x-rtp,media=(string)audio,payload=(int)96, rate=(int)8000, encoding-name=(string)PCMA" num-buffers=5000 ! queue ! rtppcmadepay ! 'audio/x-alaw, rate=(int)8000, channels=(int)1' ! queue} ! mux.audio_0;
>
> Thank you.
>
> - Zelalem S.
>
>
> ______________________________________________________________________
> Windows Live™: Keep your life in sync. Check it out!
> ------------------------------------------------------------------------------
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel