How to convert DVD or .VOB files to mpg file with --sout ?
Posted: 13 Jun 2017 18:11
I'm having trouble trying to convert DVD files to a single file with the --sout option. The main problem is that after the main title, the ouptut loops endlessly on the menu, and I just have to kill the process before my disks get filled up. Another test resulted in a defective file. My vlc version is 2.2.2 (-5ubuntu0.16.04.2).
The wiki suggests
That seems to assumes you are on Windows and have a DVD in your D: drive.
Since I have the DVD files in a local directory (on Linux), I ended up with this:
That displayed the correct title length in VLC during the streaming, but then started to display the length of the menu in VLC, and an endless stream of "[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called" in the terminal, until killed with Ctrl-C.
When that file is played in VLC, it displays a total duration of 2 mn. 58 s. instead of 1:22:43, and has the menu looping at the end until the end of file.
This is the full output:
Then I tried dvdsimple: and mux=ts instead of ps.
That shows different errors in the console, does stop by itself at some point, but gives a faulty file.
The file can be played until what I guess is 1 hour into the movie, but movements are choppy and the played/total durations showed in VLC are 0:00. If you try to jump to some part near the end (after 1 hour?), VLC crashes.
This is the full output:
My real point is to get a file which was "DeCSS'ed" so that I can then feed it to ffmpeg for various transcodings.
So my question is: what would be the correct way to convert a DVD title or a bunch of .VOB files using vlc (or cvlc) ?
The wiki suggests
Code: Select all
vlc dvdsimple:///d:#1 --sout "#standard{access=file,mux=ts,dst=dvdout.mpg}" vlc://quit
Since I have the DVD files in a local directory (on Linux), I ended up with this:
Code: Select all
vlc -v "dvd:///path/to/dvdfolder#1" --sout "#standard{access=file,mux=ps,dst=title1-ps.mpg}" vlc://quit
When that file is played in VLC, it displays a total duration of 2 mn. 58 s. instead of 1:22:43, and has the menu looping at the end until the end of file.
This is the full output:
Code: Select all
$ vlc -v "dvd:///path/to/dvdfolder#1" --sout "#standard{access=file,mux=ps,dst=title1-ps.mpg}" vlc://quit
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[00000000021fdeb8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007fd63c003298] mux_ps mux: Open
libdvdnav: Using dvdnav version 5.0.3
libdvdread: Couldn't find device name.
libdvdnav: Can't read name block. Probably not a DVD-ROM device.
libdvdnav: vm: dvd_read_name failed
libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 2
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd63c003298] core mux warning: no more input streams for this mux
[00007fd6400009b8] core input warning: clock gap, unexpected stream discontinuity
[00007fd6400009b8] core input warning: feeding synchro with a new reference point trying to recover from clock gap
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd63c003298] core mux warning: no more input streams for this mux
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
[00007fd6400009b8] core input error: ES_OUT_RESET_PCR called
etc. until Ctrl-C
^C[00007fd63c003298] core mux warning: no more input streams for this mux
[00007fd63c003298] mux_ps mux: Close
QObject::~QObject: Timers cannot be stopped from another thread
That shows different errors in the console, does stop by itself at some point, but gives a faulty file.
The file can be played until what I guess is 1 hour into the movie, but movements are choppy and the played/total durations showed in VLC are 0:00. If you try to jump to some part near the end (after 1 hour?), VLC crashes.
This is the full output:
Code: Select all
$ vlc -v "dvdsimple:///path/to/dvdfolder#1" --sout "#standard{access=file,mux=ts,dst=title1-ts.ts}" vlc://quit
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[00000000016afeb8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libdvdread: Couldn't find device name.
[00007fbfac0009b8] core input error: ES_OUT_RESET_PCR called
[00007fbfac0009b8] core input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
[00007fbfac0009b8] core input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
[00007fbfac0009b8] core input warning: clock gap, unexpected stream discontinuity
[00007fbfac0009b8] core input warning: feeding synchro with a new reference point trying to recover from clock gap
[00007fbfa4003298] mux_ts mux warning: packet with too strange dts (dts=3674344911,old=3562001780,pcr=3562000000)
[00007fbfa4003298] mux_ts mux warning: packet with too strange dts (dts=3674376911,old=0,pcr=3562200000)
[00007fbfa4003298] mux_ts mux warning: packet with too strange dts (dts=3674608911,old=3562280000,pcr=3562280000)
[00007fbfa4003298] mux_ts mux warning: packet with too strange dts (dts=3674408911,old=0,pcr=112288911)
[00007fbfa4003298] mux_ts mux warning: packet with too strange dts (dts=3674440911,old=0,pcr=112328911)
... same line 8 more times ...
[00007fbfac0009b8] core input error: ES_OUT_RESET_PCR called
[00007fbfa4003298] core mux warning: no more input streams for this mux
[00007fbfac0009b8] core input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
[00007fbfac0009b8] core input warning: clock gap, unexpected stream discontinuity
[00007fbfac0009b8] core input warning: feeding synchro with a new reference point trying to recover from clock gap
[00007fbfac0009b8] core input error: ES_OUT_RESET_PCR called
[00007fbfa4003298] core mux warning: no more input streams for this mux
[00007fbfac0009b8] core input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
[00007fbfac0009b8] core input warning: clock gap, unexpected stream discontinuity
[00007fbfac0009b8] core input warning: feeding synchro with a new reference point trying to recover from clock gap
[00007fbfa4007e18] dvdread demux error: Failed next title, trying another: 3
[00007fbfa4003298] core mux warning: no more input streams for this mux
[00007fbfa4003298] idummy demux: command `quit'
QObject::~QObject: Timers cannot be stopped from another thread
So my question is: what would be the correct way to convert a DVD title or a bunch of .VOB files using vlc (or cvlc) ?