mkvsplitter
Video
Score 56%
Description:

Splits MKV files based on chapter timecodes. Should be more efficient to use this for this task than the mkvmerge gui.

Requires python2, pykde4, mkvtoolnix, mplayer(optional, for previews).

Feedback would be appreciated on how to improve it.

todo:
- separate queue based program to perform the actual splitting (mkvmerge performance suffers terribly when you run multiple mkvmerge processes concurrently)
- tooltips
- error handling
- chapter editing?
Last changelog:

6 years ago

0.3.2
- fix for files with spaces
0.3.1
- fixed config dialog related issues.
0.3
- now using standard icons from your icon theme
- added a menu
- open files after starting app (cli switch still exists but is no longer mandatory)
- exposed options with menu settings->configure (settings stored at ~/.mkvsplitter.conf)
- various other tweaks/fixes
0.2.1
- Re-included a file I forgot.
- A couple very small changes.
0.2
- added a progress bar
- added a couple configuration options near the top of mkvsplitter.py (I'll make them more accessible later, I suppose)
- Probably other small changes.

0.1 - earliest working version.

pejakm

6 years ago

Here's a working version patch:

http://pastebin.com/RndqLrfD

Report

C

dwidmann

6 years ago

No more issues, I presume?
Oh, and thank you very much for creating the PKGBUILD for it!

Report

pejakm

6 years ago

No problem, I'm glad I can help.

Report

pejakm

6 years ago

Here are console log of what's happening if I start mkvsplitter:

1. Started the app and clicked on configure menu entry - nothin happened.
2. Opened an mkv file (which has chapters), but mkvsplitter showed no chapters
3. Clicked on "Preview chapter"

Quote:$ mkvsplitter
mkv-splitter(14553) KSambaSharePrivate::findSmbConf: KSambaShare: Could not find smb.conf!
Traceback (most recent call last):
File "/usr/bin/mkvsplitter", line 188, in configure
c = ConfigureDialog(self)
File "/usr/lib/mkvsplitter/configuredialog.py", line 26, in __init__
self.config=self.read_config()
File "/usr/lib/mkvsplitter/configuredialog.py", line 100, in read_config
config['default_close_after_split'] = False
TypeError: 'str' object does not support item assignment
True



Now running command: mkvextract chapters -s /mnt/media/Video/Filmovi/Nightwish - End of an Era/Nightwish - End of an Era.mkv



Traceback (most recent call last):
File "/usr/bin/mkvsplitter", line 175, in open_file
self.load_file()
File "/usr/bin/mkvsplitter", line 185, in load_file
self.chapters = self.read_chapters()
File "/usr/bin/mkvsplitter", line 235, in read_chapters
right = line.split('=')[1]
IndexError: list index out of range



Now running command: mplayer -chapter 0-0 /mnt/media/Video/Filmovi/Nightwish - End of an Era/Nightwish - End of an Era.mkv



File not found: '/mnt/media/Video/Filmovi/Nightwish'
Failed to open /mnt/media/Video/Filmovi/Nightwish.
Traceback (most recent call last):
File "/usr/bin/mkvsplitter", line 292, in preview_chapter
run_command("mplayer -chapter %s-%s %s" % (current_row+1, current_row+1, self.input_file))
File "/usr/lib/mkvsplitter/qtruncommandmkvsplitter.py", line 73, in run_command
run_command_nolog(command)
File "/usr/lib/mkvsplitter/qtruncommandmkvsplitter.py", line 86, in run_command_nolog
if results['ecode'] != 0:
KeyError: 'ecode'

Report

pejakm

6 years ago

You should put URL to file in quotes, to allow mkvextract to parse it correctly:

Quote:$ mkvextract chapters -s /mnt/media/Video/Filmovi/Nightwish - End of an Era/Nightwish - End of an Era.mkv
Error: Unrecognized command line option '-'.

Report

C

dwidmann

6 years ago

Okay, will do. (I guess I only missed this because I've very meticulous about making sure none of my files have spaces in them)

Report

pejakm

6 years ago

Quote:$ ./mkvsplitter.py
It seems the configobj file is missing from your installation. This is strange.
configobj seems to be missing from your installation. This is strange.
Traceback (most recent call last):
File "./mkvsplitter.py", line 44, in <module>
config = ConfigObj('%s/.mkvsplitter.conf' % os.environ['HOME'])
NameError: name 'ConfigObj' is not defined

Report

C

dwidmann

6 years ago

Try re-downloading it ... within about 15 minutes of the upload I re-uploaded it because that file (configobj.py) was missing. You must have been _very_ quick to download that file :) (I should have bumped the version, but I made the faulty assumption that nobody would have been so quick to download it)

Report

pejakm

6 years ago

You should be more careful when releasing a new version - doublecheck everything, then pack and upload.

Report

C

dwidmann

6 years ago

The reason I missed that is because for me that's a system library (installed with the python-configobj package)

Report

pejakm

6 years ago

Then simply state python-configobj as dependency, you will make yourself easier job maintaining this.

Report

C

dwidmann

6 years ago

I'm not sure which all distribution package it though, and it's just one file, so I figured it might be easier to just include it.

Report

pejakm

6 years ago

Also, configure dialog does not show up:

Quote:$ ./mkvsplitter.py
mkv-splitter(22212) KSambaSharePrivate::findSmbConf: KSambaShare: Could not find smb.conf!
Traceback (most recent call last):
File "./mkvsplitter.py", line 188, in configure
c = ConfigureDialog(self)
File "/home/mladen/Programi/PKGBUILDs/mkvsplitter/pkg/usr/lib/mkvsplitter/configuredialog.py", line 26, in __init__
self.config=self.read_config()
File "/home/mladen/Programi/PKGBUILDs/mkvsplitter/pkg/usr/lib/mkvsplitter/configuredialog.py", line 100, in read_config
config['default_close_after_split'] = False
TypeError: 'str' object does not support item assignment

Report

pejakm

6 years ago

Quote:$ ./mkvsplitter.py
mydirrequester seems to be missing from your installation. This is strange.

Also you didn't change version string in mkvsplitter.py file.

If I use mydirrequester.py from previous release it works, but GUI isn't started.

Report

C

dwidmann

6 years ago

Shoot, missed a couple of things.

Report

C

dwidmann

6 years ago

And .... Fixed. I think.

Report

pejakm

6 years ago

Quote:AttributeError: 'Splitter' object has no attribute 'input_file'

And, you should pack your files with version number ("mkvsplitter-0.1.tar.gz").

Report

6 years ago

0.3.2
- fix for files with spaces
0.3.1
- fixed config dialog related issues.
0.3
- now using standard icons from your icon theme
- added a menu
- open files after starting app (cli switch still exists but is no longer mandatory)
- exposed options with menu settings->configure (settings stored at ~/.mkvsplitter.conf)
- various other tweaks/fixes
0.2.1
- Re-included a file I forgot.
- A couple very small changes.
0.2
- added a progress bar
- added a couple configuration options near the top of mkvsplitter.py (I'll make them more accessible later, I suppose)
- Probably other small changes.

0.1 - earliest working version.

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.3.2
updated Aug 04 2011
added Jul 19 2011
downloads today
0
page views today 0