Xine Playback Problem


Forum: Multimedia
Topic: Xine Playback Problem
started by: jaygeedsl

Posted by jaygeedsl on Mar. 07 2008,09:47
Maybe it's too early in my learning curve to be using apps from the testing area but I can't get the latest green-rated Xine release to playback the DVD I normally use for DVD playback testing.

In sequence: load xine; insert DVD; click on DVD navigator; drive makes a half-hearted attempt to start; following error report appears:-

"The source can't be read maybe you don't have enough rights for this or source doesn't contain data (e.g. no disk in drive) (error reading NAV packet)".

All the plug-ins appear to have been loaded.

Any help would be appreciated.

Posted by ^thehatsrule^ on Mar. 07 2008,14:23
See if it includes libdvdcss2 and libdvdread
Posted by Jason W on Mar. 07 2008,16:35
jaygeedsl,
 Xine will play unencrypted DVDs out of the box, but will not play encrypted DVDs without libdvdcss.  Since the legality of libdvdcss is dubious, it is best not to include it in a package for redistribution.  I have not looked but I do not think libdvdcss is included in a MyDSL extension.  The .deb for libdvdcss found below will install cleanly in DSL:

< http://download.videolan.org/pub/libdvdcss/1.2.9/deb/ >

It can easily be made of course into a .dsl extension for your own use.  Also, make sure you have /dev/dvd symlinked to your dvd drive, or just choose /dev/scd0 or /dev/scd1 as your dvd drive in Xine config menu.

Also, if you are not already aware, use the "dsl dma" cheatcode for smooth playback.  Or if you haven't yet, and do not want to reboot, issue as root:

# hdparm -d1 /dev/hdc        (or /dev/hdd)

Posted by curaga on Mar. 07 2008,17:08
Currently libdvdcss is illegal only in USA and France..
Posted by jaygeedsl on Mar. 07 2008,23:42
^thehatsrule^

No sign of libdvdcssn or libdvdread in /ramdisk/opt/xine/lib

Jason W

Config file amended as follows:

media.dvd.device:/dev/scd1
media.dvd.region:2
gui.experience_level:Advanced
audio.output.speaker_arrangement:Stereo 2.0

Bit puzzled by the "dsl dma" cheatcode reference. Is this mandatory? If so which of my two hds should be referenced?

I didn't mention in my first post that the last line of the Xine plugin report Is ""skipping unreadable plugin directory /home/dsl/.xine/plugins".

Playback situation unchanged.

Posted by Jason W on Mar. 08 2008,01:44
jaygeedsl -

You didn't mention if you installed libdvdcss.   Libdvdcss is the only external library needed to play dvds in Xine, and it is needed for most dvds.  External libdvdread and libdvdnav libraries are no longer needed, though.  

I duplicated your setup and had no problem playing dvds on my machine.      

Enabling dma is not mandatory but helpful especially if you have older, slower dvd drives like I do.  You only need to enable dma for your dvd drive and not your hard drives to improve playback.

Have you tried other dvds besides the one you mentioned?  Mine work and I am puzzled as to why yours doesn't.  Also, the version of DSL you are running and in what mode (live, frugal, etc) may help in troubleshooting.

Posted by jaygeedsl on Mar. 08 2008,06:48
Quote
Libdvdcss is the only external library needed to play dvds in Xine

In view of that info I've just downloaded libdvdcss2_1.2.9-1_i386deb. Unfortunately this puts me firmly into handholding mode having hitherto only yummed rpms in F8.
Quote
You only need to enable dma for your dvd drive and not your hard drives to improve playback.

Understood.
Quote
Have you tried other dvds besides the one you mentioned?

No. Was trying to keep the number of variables to a minimum.
Quote
Also, the version of DSL you are running and in what mode (live, frugal, etc) may help in troubleshooting

Running DSL-4.2.4 on a Kingmax 4GB USB flash drive plugged into a Dell Dimension 2.4GHz desktop with 1GB RAM, two HDDs and a TestCorp DVD-R/CD-RW optical drive.

Posted by Jason W on Mar. 08 2008,07:38
jaygee -
 I appreciate your interest in this extension, and I am happy to answer questions you may have about it.  We were all new to DSL once, and learning takes time.  Though the function of Xine.uci has nothing that is DSL-specific, things such as codecs and libdvdcss are not installed automatically when you install Xine as they are in other distros.
 Anyway, if libdvdcss is not installed, there are all kinds of wierd errors that will come up.  With it installed, no errors.  Since you have not installed it yet, I bet that is the culprit.  Let me know if libdvdcss does not fix the situation.

Posted by curaga on Mar. 08 2008,08:05
jaygee: use deb2dsl on it to create a .dsl extension out of it..
Posted by jaygeedsl on Mar. 08 2008,21:28
Jason W

I'll keep you posted. Thanks for your help.

curaga

Thanks for the hint.

I've attempted to follow the procedure at < http://www.damnsmalllinux.org/wiki/index.php/Creating_a_dsl_Extension >
but have - again - fallen at the first. Although file libdvdcss2_1.2.9-1_i386deb is in /home/dsl entering "deb2dsl" in a terminal gets "command not found".

My learning curve reservations are proving to be true and I don't  really want to take up board time/space with basic DSL procedures which I should have hoisted in by now. My problem with the command line lies in the short term memory deficiency area. If something can't simply be GUI'd I have to give it a miss else it becomes counter productive in resource terms. I'll put Xine on the back burner pro tem.

Posted by Jason W on Mar. 08 2008,22:24
One more tip -

If you have the libdvdcss2_1.2.9-1_i386.deb in your /home/dsl directory, then follow these steps.  

First, load the dsl-dpkg.dsl from the System area of the MyDSL menu.  You can issue the command  " sudo apt-get update", but it is not required for this one .deb.  
Second, install the libdvdcss2_1.2.9-1_i386.deb package with the command:

sudo dpkg -i libdvdcss2_1.2.9-1_i386.deb

That will install the libdvdcss package.  You have to have .deb packages installed before you can convert them to a .dsl extension.  

Now convert your installed libdvdcss to a .dsl with the command:

deb2dsl

Hopefully this will have you up and going.

Posted by jaygeedsl on Mar. 09 2008,18:17
Jason

Very kind of you to offer further help. Unfortunately I'm no further forward. Story follows.

I loaded dsl-dpkg.dsl and installed libdvdcss as advised.

My responses to the subsequent command "deb2dsl" were:

fullname = libdvdcss.dsl
MyDSL menu name = Xine XternalLib
x app? = n
full path of executable = /opt/bin/xine (derived from answer to "which xine")

This gave the following response:

mkdir: Cannot create directory "/tmp/mydsl.menu": File exists
tar: Removing leading "/" from member names
usr/lib/libdvdcss.s0.2.0.8
usr/lib/libdvdcss.s0.2
tmp/mydsl.menu/libdvdcss
libdvdcss.dsl Successfully created

I then did a Save/Restore for luck before a shutdown with backup and a subsequent restart.

No sign of Xine XternalLib in the MyDSL menu.

The only reference to libdvdcss* is a file libdvdscss.dsl in /home/dsl/. File is supposedly 15.03Kbs but only contains 2 characters.

No change to the DVD playback response.

Probably best to call time on this?

Posted by Jason W on Mar. 09 2008,18:47
Forgot to mention, the deb2dsl script calls for you to give a path to the executable and menu entry.  You do not need a menu entry for libdvdcss, and it is just a library not an executable.  The deb2dsl script can be hacked to create a .dsl without a menu entry, and there are other ways of creating a .dsl as well.  

But for now it would be best to just install the .deb package and  go with that.  You can then later create a .dsl out of it.

Posted by jaygeedsl on Mar. 09 2008,23:57
Jason

Quote
But for now it would be best to just install the .deb package and  go with that.  You can then later create a .dsl out of it.


Success at last.

After installing the .deb package and leaving it at that I changed the config file path to Win32 codecs from "usr/lib/codecs" to "usr/lib" if that is significant.

I'm getting an error message "amount of dropped frame is too high...". Presumably I need to set the "dsl dma" cheatcode?

Your help is much appreciated.

Posted by jaygeedsl on Mar. 10 2008,09:26
Quote
I'm getting an error message "amount of dropped frame is too high...". Presumably I need to set the "dsl dma" cheatcode?

Setting the "dsl dma" cheat code hasn't solved the problem. The Xine FAQ mentions many other possible causes. The XP and F8 OSs on the box my USB drive is plugged into make full use of my NVidia card so it's no big deal not using DSL for regular dvd playback.

Incidentally I added the following lines to .filetool.lst for persistence:  

home/dsl/.xine/config
usr/lib/libdvdcss.so.2
usr/lib/libdvdcss.so.2.0.8

No doubt that's not the optimum solution but it seems to work.

Posted by ^thehatsrule^ on Mar. 10 2008,14:42
If you want to pursue this, you'll probably want to use video acceleration via a full xserver & chipset driver, with changing the video output plugin in Xine to something other than software X11 that supports the acceleration.
Posted by jaygeedsl on Mar. 10 2008,18:44
^thehatsrule^

Thanks for the guidance but I'd be stretching myself too far to attempt something like that at this stage and I do have upcoming time restraints.

Posted by Jason W on Mar. 10 2008,22:59
jaygeedsl,
 ^thehatsrule^ is right.   If you are using one of the XFree/Xorg extensions, Xine will default to the Xv video driver which uses hardware acceleration and performs very well.  If you just boot DSL and then load Xine, it will use the Xshm driver which is much slower.  Xine will on its own use xv when it can without having to specify it.  Use the XFree or Xorg extensions and Xine will playback much faster.  Just be sure to specify nv as your video card driver in your XFree/Xorg config file.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.