Description: This program copies all streams from a DVD and muxes them into an mkv container. You can specify titles/chapters also. This results in a DVD quality, playable backup with all audio/subtitles included. Naturally, though it's fast and the quality is unchanged, the files are still quite huge, but the way storage devices have been increasing in capacity in recent years this is beginning to become a sane idea
Apart from PyKDE, it also depends on mplayer, mencoder, vobcopy (only if you want to copy to disk first), kdesu (only in absence of a disc automounter (that mounts to /media/LABEL)), lsdvd (only for previewing title/chapter lengths), mkvmerge (from mkvtoolnix), and dvdxchap(from ogmtools).
This program generally doesn't use much CPU, but it can eat up a lot of IO. To counter this, I recommend running with "ionice -c 2 -n 7" if you want balanced performance, or - to really slow it down - you could use "ionice -c 3" - though it will probably take a lot longer that way.Last changelog:
1.3.2- - various fixes - video re-encode feature (for fixing problematic streams) 1.3.1- - various small fixes 1.3- - dependency checking - re-encode broken video - fail more gracefully most of the time - corrected the logging directory - many other changes and fixes - probably added plenty of bugs... We'll see 1.2 - made public
What's the problem?
[lassi@darkstar] ~ > python eunektes.py
QGtkStyle was unable to detect the current GTK+ theme.
Traceback (most recent call last):
File "eunektes.py", line 91, in run
self.check_output()
File "eunektes.py", line 73, in check_output
output = subprocess.check_output(self.command,shell=True)
AttributeError: 'module' object has no attribute 'check_output'
Traceback (most recent call last):
File "eunektes.py", line 829, in <module>
eunektes = Eunektes()
File "eunektes.py", line 205, in __init__
self.update_device_title()
File "eunektes.py", line 314, in update_device_title
title_name = self.get_title_name(self.device_combo.currentText())
File "eunektes.py", line 458, in get_title_name
title_name = self.run_command_with_output_nolog("""blkid -o export %s | grep LABEL | cut -d '=' -f 2""" % device)
File "eunektes.py", line 307, in run_command_with_output_nolog
output = subprocess.check_output(command,shell=True)
AttributeError: 'module' object has no attribute 'check_output'
uh-oh. I suppose I didn't notice something. It looks like subprocess.check_output wasn't introduced until python version 2.7. Which version are you running?
Oops, guess I missed a couple of things. I'll fix that ASAP.
Also, hence far I've been focusing on making everything work correctly ... I haven't gotten around to making sure 'the user' is doing sane things yet ;)
Ratings & Comments
11 Comments
What's the problem? [lassi@darkstar] ~ > python eunektes.py QGtkStyle was unable to detect the current GTK+ theme. Traceback (most recent call last): File "eunektes.py", line 91, in run self.check_output() File "eunektes.py", line 73, in check_output output = subprocess.check_output(self.command,shell=True) AttributeError: 'module' object has no attribute 'check_output' Traceback (most recent call last): File "eunektes.py", line 829, in <module> eunektes = Eunektes() File "eunektes.py", line 205, in __init__ self.update_device_title() File "eunektes.py", line 314, in update_device_title title_name = self.get_title_name(self.device_combo.currentText()) File "eunektes.py", line 458, in get_title_name title_name = self.run_command_with_output_nolog("""blkid -o export %s | grep LABEL | cut -d '=' -f 2""" % device) File "eunektes.py", line 307, in run_command_with_output_nolog output = subprocess.check_output(command,shell=True) AttributeError: 'module' object has no attribute 'check_output'
uh-oh. I suppose I didn't notice something. It looks like subprocess.check_output wasn't introduced until python version 2.7. Which version are you running?
Python 2.6.6
Nice app, just could you please use ~/ instead of /home/blackwaltz in the script? Not everyone has this account ;)
And one more thing: the scipt should not fail that hardly when there is no DVD present in the drive :)
Oops, guess I missed a couple of things. I'll fix that ASAP. Also, hence far I've been focusing on making everything work correctly ... I haven't gotten around to making sure 'the user' is doing sane things yet ;)
Cool, thanks. I made PKGBUILD for ArchLinux: http://aur.archlinux.org/packages.php?ID=45574
Cool, thanks for saving me the trouble(I run Arch also). Consider adding mplayer, mencoder, ffmpeg, and libdvdcss as dependencies also.
Does it add DVD menus as well? I remember reading that mkv supported dvd menus. Either way, this looks pretty neat.
I'm pretty sure that's planned but not currently implemented.
Okay, that was vague, I meant to say that is a planned feature for mkv, not this app.