All Projects → sheldonkwoodward → pymkv

sheldonkwoodward / pymkv

Licence: MIT License
A Python wrapper for mkvmerge. It provides support for muxing, splitting, linking, chapters, tags, and attachments through the use of mkvmerge.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pymkv

ffmp4muxer
No description or website provided.
Stars: ✭ 28 (-45.1%)
Mutual labels:  muxer
videoslimmer
Utility to remove unwanted audio and subtitles from mkv files.
Stars: ✭ 23 (-54.9%)
Mutual labels:  mkvtoolnix
Androidcamera
🔥🔥🔥自定义Android相机(仿抖音 TikTok),其中功能包括视频人脸识别贴纸,美颜,分段录制,视频裁剪,视频帧处理,获取视频关键帧,视频旋转,添加滤镜,添加水印,合成Gif到视频,文字转视频,图片转视频,音视频合成,音频变声处理,SoundTouch,Fmod音频处理。 Android camera(imitation Tik Tok), which includes video editor,audio editor,video face recognition stickers, segment recording,video cropping, video frame processing, get the first video frame, key frame, v…
Stars: ✭ 2,112 (+4041.18%)
Mutual labels:  muxer

pymkv

PyPI Version License Code Quality

pymkv is a Python wrapper for mkvmerge and other tools in the MKVToolNix suite. It provides support for muxing, splitting, linking, chapters, tags, and attachments through the use of mkvmerge.

About pymkv

pymkv is a Python 3 library for manipulating MKV files with mkvmerge. Constructing mkvmerge commands manually can quickly become confusing and complex. To remedy this, I decided to write this library to make mkvmerge more scriptable and easier to use. Please open new issues for any bugs you find, support is greatly appreciated!

Installation

mkvmerge must be installed on your computer, it is needed to process files when creating MKV objects. It is also recommended to add it to your $PATH variable but a different path can be manually specified. mkvmerge can be found and downloaded from here or from most package managers.

To install pymkv from PyPI, use the following command:

$ pip install pymkv

You can also clone the repo and run the following command in the project root to install the source code as editable:

$ pip install -e .

Documentation

The documentation for pymkv can be found here or in the project's docstrings.

Roadmap

pymkv was a project started a few years ago when I was first learning Python. There were a number of things that I did that could use improvement. The planned changes and future features are outlined below. Keep an eye on the Github Projects page for the current roadmap status.

Documentation

The current documentation for pymkv is lacking. Instead of manually managing a GitHub Wiki, Sphinx will be setup to automatically generate documentation from docstrings. The docstrings will also need to be updated and improved to ensure this documentation is complete.

Tests

After completing documentation for the existing features, unit tests need to be written to "lock in" the existing functionality. Generating mkvmerge commands can be complex and it is easy to subtly modify an existing feature when adding a new one. Unit tests will ensure that features remain the same and help prevent bugs in the future.

Cleanup

The existing code base could use some tidying, better commenting, debugging, and a general styling overhaul. Setting up pre-commit and the Black code formatter will help keep the code base more readable and maintainable.

Features

Once these first three steps are complete, pymkv will be ready to start adding new features. The goal is for pymkv to implement the functionality of mkvmerge and other MKVToolNix tools as closely as possible. New features and bugs will be added to the GitHub issues page. As pymkv progresses through the previous steps, this roadmap will be expanded to outline new features.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].