Video metadata parser
Project description
enzyme
Python module to parse metadata in video files
[Project page](https://github.com/Diaoul/enzyme)
[Initial project by Freevo](http://doc.freevo.org/2.0/Kaa#head-919960011a3523a465d1cacc57f2f8e7b0e8ad00), full list of authors in the AUTHORS file
Usage
You can parse any video file. If a parse error occurs, it will throw a ParseError exception. To see what data has been parsed, you can print the object:
>>> import enzyme >>> p = enzyme.parse('/mnt/movies/My Rips/Harry Potter and the Prisoner of Azkaban (2004)/Harry Potter And The Prisoner Of Azkaban (2004) - 1080p BluRay DTS x264.mkv') >>> print p | title: Harry Potter And The Prisoner Of Azkaban (2004) - 1080p BluRay DTS x264 | type: Matroska | timestamp: 1320680617 | mime: video/x-matroska | length: 8502.176 +-- Video Track #1 | | title: Harry Potter And The Prisoner Of Azkaban (2004) - 1080p BluRay DTS x264 | | language: eng | | codec: AVC1 | | width: 1920 | | height: 1080 | | fps: 23.9760247425 | | aspect: 1.77777777778 | | trackno: 1 | | id: 0 | | codec_private: <unprintable data, size=41> +-- Audio Track #1 | | title: DTS French | | language: fre | | channels: 6 | | samplerate: 48000.0 | | codec: 8193 | | trackno: 2 | | id: 0 +-- Audio Track #2 | | title: DTS English | | language: eng | | channels: 6 | | samplerate: 48000.0 | | codec: 8193 | | trackno: 3 | | id: 1 | | default: False +-- Audio Track #3 | | title: AC3 Spanish | | language: spa | | channels: 6 | | samplerate: 48000.0 | | codec: 8192 | | trackno: 4 | | id: 2 | | default: False +-- Audio Track #4 | | title: AC3 Italian | | language: ita | | channels: 6 | | samplerate: 48000.0 | | codec: 8192 | | trackno: 5 | | id: 3 | | default: False +-- Audio Track #5 | | title: AC3 Dutch | | language: dut | | channels: 6 | | samplerate: 48000.0 | | codec: 8192 | | trackno: 6 | | id: 4 | | default: False +-- Subtitle #1 | | default: False | | language: eng | | trackno: 7 | | title: Complete(srt) | | id: 0 | | codec: S_TEXT/UTF8 +-- Subtitle #2 | | default: False | | language: fre | | trackno: 8 | | title: Complete(srt) | | id: 1 | | codec: S_TEXT/UTF8 +-- Subtitle #3 | | language: fre | | trackno: 9 | | title: Forced French | | id: 2 | | codec: S_TEXT/UTF8 +-- Subtitle #4 | | default: False | | language: spa | | trackno: 10 | | title: Complete(srt) | | id: 3 | | codec: S_TEXT/UTF8 +-- Subtitle #5 | | default: False | | language: spa | | trackno: 11 | | title: Forced Spanish | | id: 4 | | codec: S_TEXT/UTF8 +-- Subtitle #6 | | default: False | | language: ita | | trackno: 12 | | title: Complete(srt) | | id: 5 | | codec: S_TEXT/UTF8 +-- Subtitle #7 | | default: False | | language: ita | | trackno: 13 | | title: Forced Italian | | id: 6 | | codec: S_TEXT/UTF8 +-- Subtitle #8 | | default: False | | language: dut | | trackno: 14 | | title: Complete(srt) | | id: 7 | | codec: S_TEXT/UTF8 +-- Subtitle #9 | | default: False | | language: dut | | trackno: 15 | | title: Forced Dutch | | id: 8 | | codec: S_TEXT/UTF8 +-- Subtitle #10 | | default: False | | language: fin | | trackno: 16 | | title: Complete(srt) | | id: 9 | | codec: S_TEXT/UTF8 +-- Subtitle #11 | | default: False | | language: nor | | trackno: 17 | | title: Complete(srt) | | id: 10 | | codec: S_TEXT/UTF8 +-- Chapter #1 | | enabled: 1 | | name: 00:00:00.000 | | pos: 0.0 | | id: 0 +-- Chapter #2 | | enabled: 1 | | name: 00:01:40.100 | | pos: 100.1 | | id: 1 +-- Chapter #3 | | enabled: 1 | | name: 00:06:36.229 | | pos: 396.229 | | id: 2 +-- Chapter #4 | | enabled: 1 | | name: 00:12:45.932 | | pos: 765.932 | | id: 3 +-- Chapter #5 | | enabled: 1 | | name: 00:14:52.517 | | pos: 892.517 | | id: 4 +-- Chapter #6 | | enabled: 1 | | name: 00:16:12.513 | | pos: 972.513 | | id: 5 +-- Chapter #7 | | enabled: 1 | | name: 00:18:56.218 | | pos: 1136.218 | | id: 6 +-- Chapter #8 | | enabled: 1 | | name: 00:23:50.387 | | pos: 1430.387 | | id: 7 +-- Chapter #9 | | enabled: 1 | | name: 00:28:50.729 | | pos: 1730.729 | | id: 8 +-- Chapter #10 | | enabled: 1 | | name: 00:31:21.838 | | pos: 1881.838 | | id: 9 +-- Chapter #11 | | enabled: 1 | | name: 00:38:50.161 | | pos: 2330.161 | | id: 10 +-- Chapter #12 | | enabled: 1 | | name: 00:44:45.308 | | pos: 2685.308 | | id: 11 +-- Chapter #13 | | enabled: 1 | | name: 00:47:37.813 | | pos: 2857.813 | | id: 12 +-- Chapter #14 | | enabled: 1 | | name: 00:49:39.935 | | pos: 2979.935 | | id: 13 +-- Chapter #15 | | enabled: 1 | | name: 00:53:42.845 | | pos: 3222.845 | | id: 14 +-- Chapter #16 | | enabled: 1 | | name: 00:57:28.403 | | pos: 3448.403 | | id: 15 +-- Chapter #17 | | enabled: 1 | | name: 01:01:23.722 | | pos: 3683.722 | | id: 16 +-- Chapter #18 | | enabled: 1 | | name: 01:03:22.924 | | pos: 3802.924 | | id: 17 +-- Chapter #19 | | enabled: 1 | | name: 01:07:10.985 | | pos: 4030.985 | | id: 18 +-- Chapter #20 | | enabled: 1 | | name: 01:11:53.476 | | pos: 4313.476 | | id: 19 +-- Chapter #21 | | enabled: 1 | | name: 01:19:10.079 | | pos: 4750.079 | | id: 20 +-- Chapter #22 | | enabled: 1 | | name: 01:22:29.945 | | pos: 4949.945 | | id: 21 +-- Chapter #23 | | enabled: 1 | | name: 01:27:30.871 | | pos: 5250.871 | | id: 22 +-- Chapter #24 | | enabled: 1 | | name: 01:30:13.366 | | pos: 5413.366 | | id: 23 +-- Chapter #25 | | enabled: 1 | | name: 01:34:19.028 | | pos: 5659.028 | | id: 24 +-- Chapter #26 | | enabled: 1 | | name: 01:36:56.894 | | pos: 5816.894 | | id: 25 +-- Chapter #27 | | enabled: 1 | | name: 01:42:24.472 | | pos: 6144.472 | | id: 26 +-- Chapter #28 | | enabled: 1 | | name: 01:45:40.334 | | pos: 6340.334 | | id: 27 +-- Chapter #29 | | enabled: 1 | | name: 01:50:03.597 | | pos: 6603.597 | | id: 28 +-- Chapter #30 | | enabled: 1 | | name: 01:55:33.343 | | pos: 6933.343 | | id: 29 +-- Chapter #31 | | enabled: 1 | | name: 02:00:07.409 | | pos: 7207.409 | | id: 30 +-- Chapter #32 | | enabled: 1 | | name: 02:03:16.055 | | pos: 7396.055 | | id: 31 +-- Chapter #33 | | enabled: 1 | | name: 02:06:02.513 | | pos: 7562.513 | | id: 32 +-- Chapter #34 | | enabled: 1 | | name: 02:08:42.924 | | pos: 7722.924 | | id: 33 +-- Chapter #35 | | enabled: 1 | | name: 02:09:47.405 | | pos: 7787.405 | | id: 34
0.1
Initial release
Add some unittests
Remove any dependency
Keep only video parsers
Fork Freevo’s kaa.metadata module (many thanks to its authors)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
enzyme-0.1.tar.gz
(70.6 kB
view hashes)