[mythtv-users] Playing dvd images (iso) using xine

Jason Mcmillon jmcmillon at gmail.com
Sat Aug 27 18:32:14 UTC 2005


Like many other people on this list, I am trying to create a Myth DVD
juke box.  I want to be able to create images (iso) of my dvd
collection and be able to play them back in MythVideo with full menus.
 I have successfully created images using Scott's script below and
using dvdshrink in windows (to make sure the problem isn't with the
script).  I am having difficulty getting them to play in both
MythVideo (by adding a new extension type .iso and .ISO) and from the
command line using xine.

When I try xine -pfhq --no-splash dvd://THOMAS_CROWN_AFFAIR_16X9.iso I get:

mythtv at mythbox ripped]$ xine -pfhq --no-splash
dvd://THOMAS_CROWN_AFFAIR_16X9.iso
This is xine (X11 gui) - a free video player v0.99.3.
(c) 2000-2004 The xine Team.
libdvdread: Using libdvdcss version 1.2.8 for DVD access
libdvdread: Can't stat //THOMAS_CROWN_AFFAIR_16X9.iso
No such file or directory
xiTK received SIGSEGV signal, RIP.
Aborted.

When I try: xine --fullscreen --hide-gui --no-splace
dvd://THOMAS_CROWN_AFFAIR_16X9.iso

I get:

Usage: xine [OPTIONS]... [MRL]

OPTIONS are:
 -v, --version                Display version.
     --verbose [=level]       Set verbosity level. Default is 1.
  -c, --config <file>          Use config file instead of default one.
 -V, --video-driver <drv>     Select video driver by id. Available drivers:
                              dxr3 aadxr3 xv opengl caca xshm aa none
xxmc sdlvidix vidixfb fb xvmc
 -A, --audio-driver <drv>     Select audio driver by id. Available drivers:
                              null alsa oss arts esd file none
  -u, --spu-channel <#>        Select SPU (subtitle) channel '#'.
 -a, --audio-channel <#>      Select audio channel '#'.
 -p, --auto-play [opt]        Play on start. Can be followed by:
                   'f': in fullscreen mode.
                   'h': hide GUI (panel, etc.).
                   'w': hide video window.
                   'q': quit when play is done.
                   'd': retrieve playlist from DVD. (deprecated. use -s DVD)
                   'v': retrieve playlist from VCD. (deprecated. use -s VCD)
                   'F': in xinerama fullscreen mode.
  -s, --auto-scan <plugin>     auto-scan play list from <plugin>
  -f, --fullscreen             start in fullscreen mode,
  -F, --xineramafull           start in xinerama fullscreen (display
on severalscreens),
  -g, --hide-gui               hide GUI (panel, etc.)
  -I, --no-gui                 disable GUI
 -H, --hide-video             hide video window
  -L, --no-lirc                Turn off LIRC support.
     --visual <class-or-id>   Use the specified X11 visual. <class-or-id>
                              is either an X11 visual class, or a visual id.
     --install                Install a private colormap.
     --keymap [=option]       Display keymap. Option are:
                                'default': display default keymap table,
                                'lirc': display draft of a .lircrc config file.
                                'remapped': user remapped keymap table.
                                'file:<filename>': use <filename> as keymap.
                                -if no option is given, 'default' is selected.
 -n, --network                Enable network remote control server.
     --network-port           Specify network server port number.
 -R, --root                   Use root window as video window.
 -G, --geometry <WxH[+X+Y]>   Set output window geometry (X style).
  -B, --borderless             Borderless video output window.
  -N, --animation <mrl>        Specify mrl to play when video output isn't used.
                                -can be used more than one time.
  -P, --playlist <filename>    Load a playlist file.
  -l, --loop [=mode]           Set playlist loop mode (default: loop).
Modes are:
                                'loop': loop entire playlist.
                                'repeat': repeat current playlist entry.
                                'shuffle': select randomly a yet
unplayed entry from playlist
                                'shuffle+': same as 'shuffle', but
indefinetely replay the playlist.
     --skin-server-url <url>  Define the skin server url.
     --enqueue <mrl> ...      Enqueue mrl of a running session (session 0)
 -S, --session <option1,option2,...>
                              Session managements. Options can be:
                   session=n   specify session <n> number,
                   mrl=m       add mrl <m> to the playlist,
                   audio=c     select audio channel (<c>: 'next' or 'prev'),
                   spu=c       select spu channel (<c>: 'next' or 'prev'),
                   volume=v    set audio volume,
                   amp=v       set amplification level,
                   loop=m      set loop mode (<m>: 'none' 'loop'
'repeat' 'shuffle' or 'shuffle+'),
                   get_speed   get speed value (see man page for
returned value).
                   (playlist|pl)=p
                                <p> can be:
                                  'clear'  clear the playlist,
                                  'first'  play first entry in the playlist,
                                  'prev'   play previous playlist entry,
                                  'next'   play next playlist entry,
                                  'last'   play last entry in the playlist,
                                  'load:s' load playlist file <s>,
                                  'stop'   stop playback at the end
of currentplayback.
                                  'cont'   continue playback at the
end of current playback.
                   play, slow2, slow4, pause, fast2,
                   fast4, stop, quit, fullscreen, eject.
 -Z                           Don't automatically start playback (smart mode).
  -D, --deinterlace [post]...  Deinterlace video output. One or more post plugin
                                can be specified, with optional parameters.
                                Syntax is the same as --post option.
 -r, --aspect-ratio <mode>    Set aspect ratio of video output. Modes are:
                                'auto', 'square', '4:3', 'anamorphic', 'dvb'.
     --broadcast-port <port>  Set port of xine broadcaster (master side)
                              Slave is started with 'xine slave://address:port'
     --no-logo                Don't display the logo.
  -E, --no-reload              Don't reload old playlist.
     --post <plugin>[:parameter=value][,...][;...]
                              Load one or many post plugin(s).
                              Parameters are comma separated.
                              This option can be used more than one time.
     --disable-post           Don't enable post plugin(s).
     --no-splash              Don't display the splash screen.
     --stdctl                 Control xine by the console, using lirc commands.
  -T, --tvout <backend>        Turn on tvout support. Backend can be:
                              ati
     --list-plugins [=type]   Display the list of all available plugins,
                              Optional <type> can be:
                   audio_out, video_out, demux, input, sub, post,
                   audio_decoder, video_decoder.
     --bug-report [=mrl]      Enable bug report mode:
                                Turn on verbosity, gather all output
                                messages and write them into a file named
                                BUG-REPORT.TXT.
                                If <mrl> is given, xine will play the mrl
                                then quit (like -pq).


examples for valid MRLs (media resource locator):
  File:  'path/foo.vob'
        '/path/foo.vob'
        'file://path/foo.vob'
        'fifo://[[mpeg1|mpeg2]:/]path/foo'
        'stdin://[mpeg1|mpeg2]' or '-' (mpeg2 only)
  DVD:   'dvd://VTS_01_2.VOB'
  VCD:   'vcd://<track number>'

I am quite new to linux and am ecstatic to have gotten this far...
I have tried every combination of quotations that I can think of.  I
also made sure to run xine from the directory the images are located.

Any help would be greatly appreciated.

Jason

Scott Peterson's script:

>
> I use a tool called dvdbackup that rips an exact copy of a dvd to
> disk. I then use mkisofs to convert it to a single file.
>
> dvd backup is available at: http://dvd-create.sourceforge.net/
>
> The script I use to do the rip and convert to iso is below (I think I
> got the root of it from this list). There have been other posts to the
> list that describe how to integrate this into Myth's menus. I don't
> personally do that as the ripping takes a while and the mythfrontend
> is locked up while it is in progress. I just flip over to a console
> and run my dvd2iso manually.
>
> As well, Xine is able to play iso files directly using a command line
> like:
>
> xine --fullscreen --hide-gui --no-splace dvd://%s/ (where %s is the file
> name)
>
> You can integrate this into MythVideo by adding a new file type of
> "iso" and adding the above command line as what is executed for an
> iso. The iso files will need to be put into the directory where
> MythVideo is configured to look.
>
> Works great here. The whole "DVD Jukebox" is my goal too.
>
> Cheers
> Scott Petersen
>
> ---------------Start of dvd2iso script------------------------
>
> #!/bin/bash
>
> #script to backup full dvd's including menu's
> #needs the dvdbackup tool from
> http://dvd-create.sourceforge.net/index.shtml
>
> # set these to match your system settings
> dvddevice="/dev/cdrom1"
>
> # temp storage while creating iso image (could use tmp if that is on a
> big partition)
> tmpstorage="/temp/dvdbackup${RANDOM}"
>
> # Directory to store the resulting ISO file
> # If you are using MythTV, set this to be the directory set up for
> MythVideo
> isodir="."
>
> # Make a unique temporary directory to store the backup
> # *** Add check to see if directory exists
> mkdir -p ${tmpstorage}
>
> #make a complete copy of the dvd
> /usr/bin/dvdbackup -i $dvddevice -o $tmpstorage -M
>
> #get the DVD name from the foldername created by dvdbackup
> naam=`ls $tmpstorage`
>
> #Make an ISO image of the backup in the video directory
> /usr/bin/mkisofs -dvd-video -udf -V "$naam" $tmpstorage"/"$naam >
> $isodir"/"$naam".iso"
>
> #Remove temporary directory
> rm -rf ${tmpstorage}


More information about the mythtv-users mailing list