cainmagi / FFmpeg-Encoder-Decoder-for-Python

This is a C++ based FFmpeg Encoder/Decoder for Python 3.6+ & numpy 1.19+. Both Linux & Win versions are provided. Theoretically you do not need to install FFmpeg for using this library.

Home Page:https://cainmagi.github.io/FFmpeg-Encoder-Decoder-for-Python/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FFmpeg-Encoder-Decoder-for-Python

This is a mpegCoder adapted from FFmpeg & Python-c-api. Using it you could get access to processing video easily. Just use it as a common module in python like this.

import mpegCoder
Branch Description
master πŸ”— The source project of mpegCoder, Windows version.
master-linux πŸ”— The source project of mpegCoder, Linux version.
example-client-check πŸ”— A testing project of the online video stream demuxing.
example-client-player πŸ”— A testing project of the simple online video stream player.

Source project of mpegCoder (Windows)

The following instructions are used for building the project on Windows with Visual Studio 2019.

  1. Clone the master branch which only contains the codes of mpegCoder:

    git clone --single-branch -b master https://github.com/cainmagi/FFmpeg-Encoder-Decoder-for-Python.git
  2. Download the FFMpeg dependencies, including include and lib. Users could download dependencies manually by checking the release page πŸ”—. However, we recommend users to use the following script to get the dependencies quickly:

    python webtools.py

    This script requires users to install urllib3. The tqdm is also recommended to be installed.

  3. The following configurations should be set for All (both debug and release) and x64. Open the project by MpegCoder.sln. Then configure the following paths of the include directories and the library directories. In both configurations, the first item is required to be modified according to your python path, the second item is required to be modified according to your numpy path.

    Path Screenshot
    includes Configure includes
    libs Configure libs
  4. Modify the linker configs. We only need to change the item python3x.lib according to the python version you have. Configure linker

  5. Run the Release, x64 build. The built file should be saved as x64\Release\mpegCoder.pyd.

  6. The mpegCoder.pyd should be used together with the FFMpeg shared libraries, including:

    avcodec-59.dll
    avformat-59.dll
    avutil-57.dll
    swresample-4.dll
    swscale-6.dll

Update reports

Has been moved to πŸ“‘ CHANGELOG.md

Version of currently used FFmpeg library

Current FFMpeg version is 5.0.

Dependency Version
libavcodec 59.18.100.0
libavformat 59.16.100.0
libavutil 57.17.100.0
libswresample 4.3.100.0
libswscale 6.4.100.0

About

This is a C++ based FFmpeg Encoder/Decoder for Python 3.6+ & numpy 1.19+. Both Linux & Win versions are provided. Theoretically you do not need to install FFmpeg for using this library.

https://cainmagi.github.io/FFmpeg-Encoder-Decoder-for-Python/

License:GNU General Public License v3.0


Languages

Language:C++ 94.7%Language:Python 5.0%Language:C 0.3%