videomorph
videomorph copied to clipboard
A user-friendly Video Converter based on FFMPEG and written in Python/PyQt5.
VideoMorph
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, and also extract the audio to a file with MP3 format.
VideoMorph is a video converter, just that. If you're looking for a video editor, VideoMorph isn't for you.
VideoMorph is a GUI wrapper for Ffmpeg, based on general ideas from python-video-converter, and presets idea from QWinFF.
GUI Screenshot
Requirements
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:
Installation
You can install, and use VideoMorph on Linux, and on Windows systems. There are several ways you can use to install the application. Let's take a look at them.
Installing From the Binary Packages
If you're using Linux or Windows, then you can install VideoMorph by using the binary package for your current system.
On Linux
You can install VideoMorph on Ubuntu by running the following steps:
-
Download the
.deb
package -
Open a terminal, and run the following commands:
$ sudo apt install ffmpeg python3 python3-pyqt5
$ sudo dpkg -i videomorph_x.x_all.deb
That would 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.
On Windows
To install VideoMorph on your Windows system, you can:
-
Download the installer that corresponds to your architecture
-
Run the installer as
administrator
-
Follow on-screen instructions
Installing Form the Source Packages
You can install VideoMorph from the source packages. Let's take a look at how to do this.
On Linux
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 on 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 intallation.
On Ubuntu, you can also install VideoMorph by using the install.sh
script provided in the source package, as follows:
$ tar -xvf videomorph-x.x.tar.gz
$ cd videomorph-x.x
$ sudo ./install.sh
This command will install VideoMorph, and its dependencies, (Ffmpeg, and PyQt5), from your distro's current repository.
On Windows
To install VideoMorph from the source package on your Windows system, you need to:
-
Download the
.zip
source package -
Decompress the
.zip
file -
Open your Windows' command-line (
cmd.exe
), and type the following commands:
C:/> cd videomorph-x.x
C:/> pip install -r requirements.txt
C:/> python3 setup.py build
C:/> python3 setup.py install
This will install VideoMorph on your system, but you'll need to manually install Ffmpeg.
Note: It's possible that you have to run the second, and the fourth command as an administrator
.
Using Portable Editions
To use a Portable Edition (PE) of VideoMorph, you just 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
)
How to Use VideoMorph
How to Contribute to the Source
If you're a Python Developer, and want to contribute to VideoMorph's source code, then you can follow the steps described in this section.
Any other type of contributions are also welcome. You can also 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
Even a report on a typo in the GUI would be welcome, so it's your turn to talk. But remember that VideoMorph is just a video converter, not a video editor.
Setting up the Dev Environment
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.
Commits
The members of the VideoMorph Development Team that have the capability to commit changes into the repo are:
Internal Contributions Procedure
-
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) against 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 Contributions Procedure
External contributors must:
-
Fork the repo on GitHub
-
Work on modifications
-
Push modifications to the forked repo
-
Make a PR against the
develop
branch -
Wait for review, feedback, and approval
Branch Naming Conventions
The name for a branch will be like:
username_i000_topic
Where:
-
username
corresponds to the GitHub username -
i000
represents the issue number the branch is dealing with. If there is no issue to map the branch theni000
will be used -
topic
, stands for a descriptive name that reflects the main goal of the branch (e.g:john_i024_feature_mov_format
)
Coding, and Docstrings Style
-
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 other can be used to ensure that coding style guides are met
Commit Messaging Style
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 a explanatory body, sometimes with the subject line is enough. For more details see: How to Write a Git Commit Message
Licensing
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 and Contributors
Authors:
-
Ozkar L. Garcell
-
Leodanis Pozo Ramos
Contributors:
Copyright
Copyright 2018-2020 VideoMorph Development Team.