DVDs with many titles take a LONG time to thumbnail

Bug #74312 reported by Tristan Brindle
4
Affects Status Importance Assigned to Milestone
KungFu
Fix Released
High
Jason Gerard DeRose

Bug Description

Disc 2 of Fight Club (region 2) has 60 short titles containing the usual DVD extras such deleted scenes and so on. Kung Fu takes a very long time -- over 10 minutes -- to create thumbnails for this disc.

This problem is exacerbated by the fact that Kung Fu automatically starts scanning the DVD drive upon startup, and doesn't offer the user any option to cancel thumbnail generation.

Changed in kungfu:
assignee: nobody → jderose
importance: Undecided → High
status: Unconfirmed → Confirmed
Revision history for this message
Jason Gerard DeRose (jderose) wrote :

Thank you for your bug report.

I already knew that this is a problem in KungFu, although I haven't personally encountered a DVD for which it is such a terrible problem, so your report helps alert me to the severity. Obviously 10 minutes to create the thumbnails is beyond ridiculous. Plus, Fight Club is a great movie, so KungFu better work well with it. ;)

Part of the problem lies in KungFu, part of the problem in GStreamer (specifically dvdreadsrc).

KungFu should (1) allow the user to abort the thumbnail generation process, while maintaining what is currently completed and (2) have a progress bar showing titles completed to total titles. I'll make sure to add both of these for 0.2.0.

On the GStreamer side, dvdreadsrc is just really slow at this sort of thing, in part because I have to go down to STATE_READY to be able to change the title, and then back up to STATE_PAUSED to read the title duration or create the thumbnail. My new dvdsrc element allows switching the title without this, which should help.

Thoggen gets around this in part by using libdvdread directly to retrieve information about the DVD. To do the same with KungFu, I need to either (1) write Python bindings for libdvdread, which as far as I know don't exist yet, or (2) add some sort of DVD-table-of-contents signal (and/or property) to dvdsrc so that I can access this information through the regular GStreamer API. I plan to do the latter.

First I'll see what I can do about some quick improvements on the KungFu side. I'll post a comment here once a fix as available in kungfu/trunk.

Revision history for this message
Brendan Martens (shrift) wrote :

I noticed that you did some work on dvdsrc, does that mean that the issue in this bug has been improved? If so, is it possible to get that library and have kungfu use it? Reading DVDs is pretty slow for me as well...

Great work on this app, I love it so far!

Revision history for this message
Jason Gerard DeRose (jderose) wrote :

If dvdsrc is installed, KungFu will use it, but it wont yet speed up thumbnail creation. The current thumbnail pipeline is tailored to dvdreadsrc, which means it has to drop down to STATE_READY to change the title. I need to write a new pipeline tailored to dvdsrc to get any speed improvement. Then I will choose the pipeline based on what src element is being used.

I certainly welcome any testing of dvdsrc, but I'll warn you that it's still pretty experimental. If you want to try my latest code, install the Bazaar package and then checkout my most recent code with:

bzr checkout http://bazaar.launchpad.net/~jderose/kungfu/dvdsrc

Then cd into the dvdsrc directory and type:

./autogen.sh
./configure --prefix=/usr/
make
sudo make install

I haven't figured out how to get things working if installed into /usr/local, so I've been just installing it into /usr, but this is really *not* what you want to do generally. The build stuff in dvdsrc is ugly right now.

To uninstall dvdsrc, you will need to manually remove the files
/usr/lib/gstreamer-0.10/libgstdvdsrc.*
Please be very careful doing this, as you could accidentally delete files that belong to some package.

Changed in kungfu:
status: Confirmed → In Progress
Revision history for this message
Jason Gerard DeRose (jderose) wrote :

KungFu now has a thumbnailing progressbar and a Stop button. This is about all I can do till I write a thumnailing pipeline optimized for dvdsrc (and people start using dvdsrc, which means me packaging it).

Anyway, I just pushed these revisions to https://launchpad.net/people/jderose/+branch/kungfu/trunk

This was the last thing on my todo-list for 0.2.0, so after some testing tomorrow, I'll make the release.

I'm not closing this bug yet because the problem hasn't been solved, but at least KungFu wont now make you wait for 10 minutes before you can do anything. ;)

Revision history for this message
Jason Gerard DeRose (jderose) wrote :

It turns out there is a way to change the title on dvdreadsrc without dropping to STATE_READY, which I thought I remember trying quite a while ago without success. The speed improvement is quite substantial: 5x on some DVDs I've tested, and I think it will be greater on some unusual DVDs.

Tristan, would you mind testing this package on the Fight Club special feature DVD that you were having problems with?

http://jasonderose.org/kungfu/releases/kungfu_0.2.2-0ubuntu1_all.deb

Thanks!

I'm going to close the bug. I still hope to improve this more with dvdsrc, but at least for now the thumbnailing speed should be pretty reasonable for most people.

Changed in kungfu:
status: In Progress → Fix Released
Revision history for this message
Tristan Brindle (tristan-brindle) wrote :

Hi Jason,

I can report that preview speed has indeed been massively improved -- it does the first 59 titles in under a minute now. Excellent.

Unfortunately pesky track 60 has uncovered another bug (Kung Fu doesn't recover when it can't create a thumbnail for a particular title), but I'll file that separately.

Tristan

Revision history for this message
Jason Gerard DeRose (jderose) wrote :

A 10x improvement in speed is good, but now another problem....

Anyway, thanks for testing this and for the bug reports. I'll address this other problem in the new bug report you've filed.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.