mplex issue

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

mplex issue

Charles-Henri d'Adhémar
Hello All !

I am starting to play with gstreamer as a replacement for many tools I
used for a while.
As my first post on this list I would like to thank and congratulate
you all for this amazing software ! I hope this is the right place for
asking end-user/developper questions ...

I have an issue with mplex while trying to extract a video and audio
from a DVD and put them into a single mpeg file, without any
transcoding. Here is the gst-launch pipeline I use :

gst-launch -v dvdreadsrc ! dvddemux name=demuxer demuxer.current_audio
! queue ! mplex name=muxer ! filesink location=test.mpeg
demuxer.current_video ! queue ! muxer.

The pipeline is in preroll status but never goes to playing :

[chicha@grogro Bureau]$ LC_ALL=C gst-launch -v dvdreadsrc ! dvddemux
name=demuxer demuxer.current_audio ! queue ! mplex name=muxer !
filesink location=test.mpeg demuxer.current_video ! queue ! muxer.

(gst-launch-0.10:2396): GLib-WARNING **: g_set_prgname() called multiple times
Setting pipeline to PAUSED ...
libdvdread: Using libdvdcss version 1.2.10 for DVD access

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000157
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x000001d9
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0001350e
libdvdread: Elapsed time 0
......
libdvdread: Found 12 VTS's
libdvdread: Elapsed time 0
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_video: caps
= video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_audio: caps
= audio/x-ac3
/GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_subpicture:
caps = video/x-dvd-subpicture
/GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:sink: caps =
video/mpeg, mpegversion=(int)2, systemstream=(boolean)true
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/mpeg,
mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/mpeg,
mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstMplex:muxer.GstPad:src: caps = video/mpeg,
systemstream=(boolean)true
/GstPipeline:pipeline0/GstMplex:muxer.GstPad:video_0: caps =
video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-ac3
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-ac3
/GstPipeline:pipeline0/GstMplex:muxer.GstPad:audio_0: caps = audio/x-ac3

What I do not understand is that when I extract just the video or just
the audio it works. Also playing the dvd sound + video to a pulsesink
+ xvimagesink works like a charm.

I am sure I am missing something, but what ?
Thank you very much for your help !

Cheers,
Chicha

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mplex issue

Mark Nauwelaerts-2
Charles-Henri d'Adhémar wrote:

> Hello All !
>
> I am starting to play with gstreamer as a replacement for many tools I
> used for a while.
> As my first post on this list I would like to thank and congratulate
> you all for this amazing software ! I hope this is the right place for
> asking end-user/developper questions ...
>
> I have an issue with mplex while trying to extract a video and audio
> from a DVD and put them into a single mpeg file, without any
> transcoding. Here is the gst-launch pipeline I use :
>
> gst-launch -v dvdreadsrc ! dvddemux name=demuxer demuxer.current_audio
> ! queue ! mplex name=muxer ! filesink location=test.mpeg
> demuxer.current_video ! queue ! muxer.
>
> The pipeline is in preroll status but never goes to playing :
>
> [chicha@grogro Bureau]$ LC_ALL=C gst-launch -v dvdreadsrc ! dvddemux
> name=demuxer demuxer.current_audio ! queue ! mplex name=muxer !
> filesink location=test.mpeg demuxer.current_video ! queue ! muxer.
>
> (gst-launch-0.10:2396): GLib-WARNING **: g_set_prgname() called multiple times
> Setting pipeline to PAUSED ...
> libdvdread: Using libdvdcss version 1.2.10 for DVD access
>
> libdvdread: Attempting to retrieve all CSS keys
> libdvdread: This can take a _long_ time, please be patient
>
> libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000157
> libdvdread: Elapsed time 0
> libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x000001d9
> libdvdread: Elapsed time 0
> libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0001350e
> libdvdread: Elapsed time 0
> ......
> libdvdread: Found 12 VTS's
> libdvdread: Elapsed time 0
> Pipeline is PREROLLING ...
> /GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_video: caps
> = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
> /GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_audio: caps
> = audio/x-ac3
> /GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:current_subpicture:
> caps = video/x-dvd-subpicture
> /GstPipeline:pipeline0/GstDVDDemux:demuxer.GstPad:sink: caps =
> video/mpeg, mpegversion=(int)2, systemstream=(boolean)true
> /GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/mpeg,
> mpegversion=(int)2, systemstream=(boolean)false
> /GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = video/mpeg,
> mpegversion=(int)2, systemstream=(boolean)false
> /GstPipeline:pipeline0/GstMplex:muxer.GstPad:src: caps = video/mpeg,
> systemstream=(boolean)true
> /GstPipeline:pipeline0/GstMplex:muxer.GstPad:video_0: caps =
> video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = audio/x-ac3
> /GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = audio/x-ac3
> /GstPipeline:pipeline0/GstMplex:muxer.GstPad:audio_0: caps = audio/x-ac3
>
> What I do not understand is that when I extract just the video or just
> the audio it works. Also playing the dvd sound + video to a pulsesink
> + xvimagesink works like a charm.
>
> I am sure I am missing something, but what ?
> Thank you very much for your help !

IIRC, the mplex backend library performs some moderately large initial (audio?)
buffering, which might cause a deadlock.  Have you already tried setting some
larger limits on the queue's (e.g. queue max-size-buffers=0 max-size-bytes=0
max-size-time=4000000000).

There is a more or less cryptic comment regarding this in the mplex element
documentation.

Mark.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mplex issue

Charles-Henri d'Adhémar
Thank you Mark for your answer.

I tried to use the queue settings below. It some how worked since I
finally went in playing mode but I quickly got some mplex errors : Too
many frame drops -exiting. Some research on the web mention bit rate
issues. I am going to look deeper into this issue, but if any body has
an idea thank you in advance for your help !

Chicha


> IIRC, the mplex backend library performs some moderately large initial (audio?)
> buffering, which might cause a deadlock.  Have you already tried setting some
> larger limits on the queue's (e.g. queue max-size-buffers=0 max-size-bytes=0
> max-size-time=4000000000).
>
> There is a more or less cryptic comment regarding this in the mplex element
> documentation.
>
> Mark.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel