Problems with VOB file from DVD Recoder

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

Problems with VOB file from DVD Recoder

wally_bkg
I tried posting this via Nabble last night, seems they've not realized the list has moved :(


I'm having issues with playback of the VOB files from a DVD Recorder
(finalized disk) when using Gstreamer.

Using the pipeline:
gst-launch filesrc location=./VTS_01_5.VOB ! mpegdemux ! mpeg2dec !
xvimagesink

Works fine if the file is from an authored (non-encrypted) DVD+/-R disk.

But if the file is from a finalized disk recorded using a standalone DVD
Recorder it doesn't play:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 18810910555 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


There seems to be a gstreamer sort of work-around as the gstreamer based
Totem media player can play the DVD Recorder VOB file, but it reports the
length as 1 second, seeking is totally broke, but it does playback
correctly.

Any clues?

I'd like to be able to use the filesrc to access individual frames of the
file via appsink for analysis but have no idea how to get beyond this issue.

OTOH, the gstreamer based Pitivi v0.13.4 editor totally chokes on the file
putting it on the timeline as only one second long.


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems with VOB file from DVD Recoder

Kapil Agrawal
Hello,

You could try using gst-launch filesrc location=./VTS_01_5.VOB ! decodebin2 !
xvimagesink -v

and see what elements are used , that will give you a clue what totem does internally.
About the timeline being shown as 1 sec maybe either the timestamping isnt done properly or bug in demuxer.

Regards
Kapil

2011 at 9:24 PM, wally bkg <[hidden email]> wrote:
I tried posting this via Nabble last night, seems they've not realized the list has moved :(


I'm having issues with playback of the VOB files from a DVD Recorder
(finalized disk) when using Gstreamer.

Using the pipeline:
gst-launch filesrc location=./VTS_01_5.VOB ! mpegdemux ! mpeg2dec !
xvimagesink

Works fine if the file is from an authored (non-encrypted) DVD+/-R disk.

But if the file is from a finalized disk recorded using a standalone DVD
Recorder it doesn't play:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 18810910555 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


There seems to be a gstreamer sort of work-around as the gstreamer based
Totem media player can play the DVD Recorder VOB file, but it reports the
length as 1 second, seeking is totally broke, but it does playback
correctly.

Any clues?

I'd like to be able to use the filesrc to access individual frames of the
file via appsink for analysis but have no idea how to get beyond this issue.

OTOH, the gstreamer based Pitivi v0.13.4 editor totally chokes on the file
putting it on the timeline as only one second long.


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




--
www.mediamagictechnologies.com (Gstreamer, ffmpeg, Red5, Streaming)
twitter handle: @gst_kaps
http://www.linkedin.com/in/kapilagrawal

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems with VOB file from DVD Recoder

wally_bkg
In reply to this post by wally_bkg
To: Discussion of the development of and with GStreamer <[hidden email]>
Date: Thu, 10 Mar 2011 11:45:13 +0530
Subject: Re: Problems with VOB file from DVD Recoder
Hello,

You could try using gst-launch filesrc location=./VTS_01_5.VOB ! decodebin2 !
xvimagesink -v

and see what elements are used , that will give you a clue what totem does internally.
About the timeline being shown as 1 sec maybe either the timestamping isnt done properly or bug in demuxer.

Regards
Kapil

Thanks, I did this and it plays nicely, but the verbiage doesn't really help me understand anything:

gst-launch filesrc location=./VTS_01_1.VOB ! decodebin2 ! xvimagesink -v
Setting pipeline to PAUSED ...
/pipeline0/decodebin20/typefind.src: caps = video/mpeg, systemstream=(boolean)true, mpegversion=(int)2
Pipeline is PREROLLING ...
/pipeline0/decodebin20/flupsdemux0.sink: caps = video/mpeg, systemstream=(boolean)true, mpegversion=(int)2
/pipeline0/decodebin20/multiqueue0.sink0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/multiqueue0.sink1: caps = audio/x-private1-ac3
/pipeline0/decodebin20/multiqueue0: max-size-buffers = 5
/pipeline0/decodebin20/multiqueue0: max-size-time = 2000000000
/pipeline0/decodebin20/multiqueue0: max-size-bytes = 2097152
/pipeline0/decodebin20/multiqueue0.src0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/multiqueue0.src1: caps = audio/x-private1-ac3
/pipeline0/decodebin20/a52dec0.sink: caps = audio/x-private1-ac3
/pipeline0/decodebin20/a52dec0.src: caps = audio/x-raw-float, endianness=(int)1234, width=(int)32, channels=(int)2, rate=(int)48000, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT >
/pipeline0/decodebin20/mpeg2dec0.sink: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/mpeg2dec0.src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/decodebin20.src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/decodebin20.src0.proxypad1: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock



Since DVD Recorders work to a "standard" it would seem by definition to be a bug in the demuxer.

Seeking in VLC does work but its full of video mosaic artifacts while "scrubbing" to find a region of interest.  None of the gstreamer based applications seem to be able to seek in this file, although they can seek smoothly in the VOB file from an "authored" DVD disk.


However I should be able to simply use decodebin2 to feed the data to my appsink so this could be a usable solution for me.
Ultimately I'd like to have seeking and perhaps even frame by frame forward/backward interaction, but I'm a long way from there right now.


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems with VOB file from DVD Recoder

Kapil Agrawal
Wally,

You have to debug whats wrong and/or file a bug with the debug logs and your input file.

Kapil


On Thu, Mar 10, 2011 at 9:45 PM, wally bkg <[hidden email]> wrote:
To: Discussion of the development of and with GStreamer <[hidden email]>
Date: Thu, 10 Mar 2011 11:45:13 +0530
Subject: Re: Problems with VOB file from DVD Recoder

Hello,

You could try using gst-launch filesrc location=./VTS_01_5.VOB ! decodebin2 !
xvimagesink -v

and see what elements are used , that will give you a clue what totem does internally.
About the timeline being shown as 1 sec maybe either the timestamping isnt done properly or bug in demuxer.

Regards
Kapil

Thanks, I did this and it plays nicely, but the verbiage doesn't really help me understand anything:

gst-launch filesrc location=./VTS_01_1.VOB ! decodebin2 ! xvimagesink -v
Setting pipeline to PAUSED ...
/pipeline0/decodebin20/typefind.src: caps = video/mpeg, systemstream=(boolean)true, mpegversion=(int)2
Pipeline is PREROLLING ...
/pipeline0/decodebin20/flupsdemux0.sink: caps = video/mpeg, systemstream=(boolean)true, mpegversion=(int)2
/pipeline0/decodebin20/multiqueue0.sink0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/multiqueue0.sink1: caps = audio/x-private1-ac3
/pipeline0/decodebin20/multiqueue0: max-size-buffers = 5
/pipeline0/decodebin20/multiqueue0: max-size-time = 2000000000
/pipeline0/decodebin20/multiqueue0: max-size-bytes = 2097152
/pipeline0/decodebin20/multiqueue0.src0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/multiqueue0.src1: caps = audio/x-private1-ac3
/pipeline0/decodebin20/a52dec0.sink: caps = audio/x-private1-ac3
/pipeline0/decodebin20/a52dec0.src: caps = audio/x-raw-float, endianness=(int)1234, width=(int)32, channels=(int)2, rate=(int)48000, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT >
/pipeline0/decodebin20/mpeg2dec0.sink: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/pipeline0/decodebin20/mpeg2dec0.src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/decodebin20.src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001
/pipeline0/decodebin20.src0.proxypad1: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)720, height=(int)480, pixel-aspect-ratio=(fraction)8/9, framerate=(fraction)30000/1001

Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock



Since DVD Recorders work to a "standard" it would seem by definition to be a bug in the demuxer.

Seeking in VLC does work but its full of video mosaic artifacts while "scrubbing" to find a region of interest.  None of the gstreamer based applications seem to be able to seek in this file, although they can seek smoothly in the VOB file from an "authored" DVD disk.


However I should be able to simply use decodebin2 to feed the data to my appsink so this could be a usable solution for me.
Ultimately I'd like to have seeking and perhaps even frame by frame forward/backward interaction, but I'm a long way from there right now.


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




--
www.mediamagictechnologies.com (Gstreamer, ffmpeg, Red5, Streaming)
twitter handle: @gst_kaps
http://www.linkedin.com/in/kapilagrawal

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel