VideoMorph is a video converter based on ffmpeg, and written with Python 3, and PyQt5. With VideoMorph you can convert your favorite videos to the currently more popular video formats, like MPG, MP4, AVI, WEBM, DVD, VCD, FLV, MOV, OGV, WMV, MKV and also extract the audio to a file with MP3 or OGA formats.
VideoMorph is a video converter, just that. Consists on a GUI wrapper for Ffmpeg, based on general ideas from python-video-converter, and presets idea from QWinFF. If you're looking for a video editor, we're sorry but VideoMorph isn't for you.
- VideoMorph
VideoMorph uses the following libraries and programs:
You need to install these programs and libraries for VideoMorph to work properly.
On Windows systems, you also need:
You can install and use VideoMorph on GNU/Linux and on Windows systems. There are several ways you can use to install the application. Let's take a look at them. We haven't tried properly yet on macOS :-|
If you're using GNU/Linux or Windows, then you can install VideoMorph by using the appropriate binary package for your system.
You can install VideoMorph on Debian/Ubuntu and derivatives by running the following steps:
-
Download the
.deb
package -
Open a terminal, and run the following commands as root or using sudo:
$ sudo apt install ffmpeg python3 python3-pyqt6
$ cd <directory containing VideoMorph binary>
$ sudo dpkg -i videomorph_x.x_all.deb
That should be enough to get VideoMorph (and its dependencies) installed on your system.
You can also install VideoMorph's .deb
package, by using GDebi, which is a GUI Packages Installer that will manage the dependencies for you.
To install VideoMorph on your Windows system, you can:
-
Download the installer that corresponds to your architecture
-
Run the installer as an
administrator
-
Follow on-screen instructions
You can install VideoMorph from the source packages. Let's take a look at how to do this.
To install the application from the source package on a GNU/Linux system, do the following:
- Download the
.tar.gz
package - Open a terminal, and type in this:
$ tar -xvf videomorph-x.x.tar.gz
$ cd videomorph-x.x
$ sudo pip3 install -r requirements.txt
$ python3 setup.py build
$ sudo python3 setup.py install
The preceding commands will install VideoMorph, and part of its dependencies into your system. To complete the installation, you need to manually install Ffmpeg or use the Ffmpeg's packages from your distro's current repository.
Note: If you install Ffmpeg from its sources, then you need to make sure that the commands ffmpeg
, and ffprobe
are in your system's PATH. To verify this, just run the following commands:
$ which ffmpeg
/usr/bin/ffmpeg
$ which ffprobe
/usr/bin/ffprobe
If you don't get a similar output, then you need to check your Ffmpeg installation.
On Debian/Ubuntu derivatives, you can also install VideoMorph by using the install.sh
script provided in the source package as root or using sudo:
$ tar -xvf videomorph-x.x.tar.gz
$ cd videomorph-x.x
$ sudo ./install.sh
This command will install VideoMorph, and its dependencies, (Ffmpeg, and PyQt6), from your distro's current repository.
To install VideoMorph from the source package on your Windows system, first, make sure you have Python3 installed, then run the following steps:
- Download and decompress the
.zip
source package - Open your Windows' command-line (
cmd.exe
), and type the following commands:
PS> cd videomorph-x.x
PS> pip install -r requirements.txt
PS> python3 setup.py build
PS> python3 setup.py install
This will install VideoMorph on your system, but you'll need to install Ffmpeg manually.
Note: It's possible that you have to run the second and the fourth command as an administrator
.
To use a Portable Edition (PE) of VideoMorph, you need to:
- Download the PE package that matches your current system
- Decompress the
.tar.gz
or the.zip
file (Linux and Windows respectively) in any directory - Double-click on VideoMorph's executable (
videomorph
orvideomorph.exe
)
If you want to contribute to VideoMorph's development cycle, you can follow the steps described in this section.
Reach out to contribute with:
- Translations
- Artwork and GUI improvements
- Customized conversion profiles or presets
- Tutorials on how to use VideoMorph
- Documentation
- Feature requests
- Bug reports
Any other type of contributions are also welcome, even a report about a typo is very welcome, so it's your turn to talk, but remember: VideoMorph is just a video converter, not a video editor.
To set up the development environment, and contribute code to VideoMorph, just open a command-line, and type in:
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt
You also need to install the Ffmpeg library on your system.
The members of the VideoMorph Development Team that can commit changes into the repo are:
- Work on new features, bug fixes, and other changes on a separated local branch
- Once the work is done,
push
the whole branch to thevideomorph-dev
repo - Create a Pull Request (PR) targeting the
develop
branch - Wait for review, feedback, and approval
- Merge the approved PR into the
develop
branch - Delete the temporarily branch
Note: The preceding procedure is intended to be used by the members of the VideoMorph Development Team.
External contributors must:
- Fork the repo on GitHub
- Work on modifications
- Push modifications to the forked repo
- Make a PR targeting the main VideoMorph
develop
branch - Wait for review, feedback, and approval
The name for a branch will be like:
username_i000_topic
Where:
username
corresponds to the GitHub usernamei000
represents the issue number the branch is dealing with. If there is no issue to map the branch theni000
will be usedtopic
, stands for a descriptive name that reflects the main goal of the branch (e.g:john_i024_feature_mov_format
)
- VideoMorph's code will follow the coding style guidelines described in PEP8
- Docstrings in VideoMorph's code will follow the guidelines described in PEP257
- Tools like
pylint
,pep8
,flake
, and others can be used to ensure that coding style guides are met
General rules for writing commit messages:
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why vs how
Add support for MOV format
Add support for MOV format with several presets to give more
default conversion options to the user.
Keep in mind that not all commits require an explanatory body, sometimes with the subject line is enough.
For more details see: How to Write a Git Commit Message
VideoMorph is licensed under Apache License Version 2.0.
Following the idea of python-video-converter, VideoMorph only uses the Ffmpeg binaries, so it doesn't need to be licensed under LGPL/GPL.
Authors:
Contributors:
- Leonel Salazar Videaux
- Maikel Llamaret Heredia [Rest in peace dear friend.]
- Carlos Parra Zaldivar [Rest in peace dear friend.]
- Osmel Cruz
Copyright 2016-2022 VideoMorph Development Team.