FFmpeg Encoder Decoder For Python Versions Save

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.

3.2.4-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.2.4/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.6 3.7 3.8 3.9 3.10
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

3.2.3-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.2.3/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.6 3.7 3.8 3.9 3.10
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

3.2.2-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.2.2/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.6 3.7 3.8 3.9 3.10
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

3.2.1-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.2.1/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.6 3.7 3.8 3.9 3.10
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

3.2.0-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.2.0/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.6 3.7 3.8 3.9 3.10
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Important notes

From this version, the dependencies will not be packed with the .whl package. When users load the lib for the first time, the dependencies will be downloaded from Github.

3.2.0-linux

2 years ago

Instruction of this version

This is the first release version that contains all python built files. The details of the compilation are shown in the following table:

File FFMpeg Numpy Python GCC/G++ OS
mpegCoder_3_2_0_Linux_py310.tar.xz 5.0 1.22.3 3.10.4 10.2.1 Debian 11
mpegCoder_3_2_0_Linux_py39.tar.xz 5.0 1.22.3 3.9.12 10.2.1 Debian 11
mpegCoder_3_2_0_Linux_py38.tar.xz 5.0 1.22.3 3.8.13 10.2.1 Debian 11
mpegCoder_3_2_0_Linux_py37.tar.xz 5.0 1.21.5 3.7.13 10.2.1 Debian 11
mpegCoder_3_2_0_Linux_py36.tar.xz 5.0 1.19.5 3.6.15 10.2.1 Debian 11

Note that the above versions only show the environment when building mpegCoder. It does not mean that they are the dependencies of running mpegCoder. For example, users could use python 3.9.5 and numpy 1.19.5 to run mpegCoder.

Running the Linux version may be a little bit tricky. Users need to follow the step 5 and 6 in the instructions of the source code :page_facing_up:. We copy the instructions here:

  1. Extract the built module as mpegCoder.so, then you could import it in the same directory. If you have built FFMpeg by our script, you do not need any other dependencies when importing the libs. However, if not, you may need to download the lib dependencies :package: and add the lib folder to your LD_LIBRARY_PATH:

    mkdir -p /apps/ffmpeg-5.0
    cd /apps/ffmpeg-5.0
    wget -O- https://github.com/cainmagi/FFmpeg-Encoder-Decoder-for-Python/releases/download/deps-3.2.0/so-linux-ffmpeg_5_0.tar.xz | tar xJ -C "."
    echo "export LD_LIBRARY_PATH=/apps/ffmpeg-5.0/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
    export LD_LIBRARY_PATH=/apps/ffmpeg-5.0/lib:$LD_LIBRARY_PATH
    
  2. Running mpegCoder requires GLIBC>=2.29. This requirement is not satisfied in some cases. However, if you have built FFMpeg by our script, the requirement would be fulfilled (i.e. you could skip this step). If users are using our pre-built dependencies, users may need to solve this problem by

    ln -sf /apps/ffmpeg-5.0/lib-fix/libm-2.35.so /lib/x86_64-linux-gnu/libm.so.6
    

Then, users could import the package by

import mpegCoder

3.2.0

2 years ago

Instruction of this version

This is the first release version that contains all python built files. The details of the compilation are shown in the following table:

File FFMpeg Numpy Python VS OS
mpegCoder_3_2_0_Win_py310.tar.xz 5.0 1.22.3 3.10.4 2022 (v143) Windows 11 21H2
mpegCoder_3_2_0_Win_py39.tar.xz 5.0 1.22.3 3.9.12 2022 (v143) Windows 11 21H2
mpegCoder_3_2_0_Win_py38.tar.xz 5.0 1.22.3 3.8.13 2022 (v143) Windows 11 21H2
mpegCoder_3_2_0_Win_py37.tar.xz 5.0 1.21.5 3.7.12 2022 (v143) Windows 11 21H2
mpegCoder_3_2_0_Win_py36.tar.xz 5.0 1.19.5 3.6.15 2022 (v143) Windows 11 21H2

Note that the above versions only show the environment when building mpegCoder. It does not mean that they are the dependencies of running mpegCoder. For example, users could use python 3.9.5 and numpy 1.19.5 to run mpegCoder.

The dynamic libraries could be downloaded from dll-win-ffmpeg_5_0.tar.xz :package:. To make mpegCoder works, users need to place the dependencies in the same folder of mpegCoder, for example:

.
|---mpegCoder.pyd
|---avcodec-59.dll
|---avformat-59.dll
|---avutil-57.dll
|---swresample-4.dll
`---swscale-6.dll

Users could also place the .dlls in a folder that is added to the path. In this case, the mpegCoder.pyd could be imported independently.

Then, users could import the package by

import mpegCoder

deps-3.2.0

2 years ago

This release is used for storing the pre-compiled dependencies, including files and libs for FFMpeg. The version includes:

FFMpeg include libs dynamic libs
5.0 (windows) :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:
5.0 (linux) :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Some of the dependencies may be automatically downloaded by some scripts.

Backup for pre-built FFmpeg

The following archives are the pre-built FFMpeg on Linux. Because the FFMpeg does not release the shared library version for Linux. We have to use the scripts to build them. The following files are not actually used for building mpegCoder, but the dependencies are extracted from them.

File name FFMpeg ver. GCC ver. OS
linux-ffmpeg-shared-5.0.tar.xz 5.0 10.2.1 Debian 11

3.1.0-pypi

2 years ago

This is the second attempt for the PyPI release of mpegCoder. To find the details of this project, please check

https://pypi.org/project/mpegCoder/3.1.0-b/

The released pre-compiled versions will cover the following OSs:

Linux Windows
:heavy_check_mark: :heavy_check_mark:

and the following Python:

3.5 3.6 3.7 3.8 3.9
:heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_check_mark:

Important notes

For the Linux case, we use a small trick to avoid the requirement of manylinux. Although this package is tagged as manylinux, it should only work on Debian or Ubuntu.

3.1.0-linux

2 years ago

Instruction of this version

This is the first release version that contains all python built files. The details of the compilation are shown in the following table:

File FFMpeg Numpy Python GCC/G++ OS
mpegCoder_3_1_0_Linux_py39.tar.xz 4.4 1.21.1 3.9.6 8.3.0 Debian 10
mpegCoder_3_1_0_Linux_py38.tar.xz 4.4 1.21.1 3.8.11 8.3.0 Debian 10
mpegCoder_3_1_0_Linux_py37.tar.xz 4.4 1.21.1 3.7.11 8.3.0 Debian 10
mpegCoder_3_1_0_Linux_py36.tar.xz 4.4 1.19.5 3.6.14 8.3.0 Debian 10
mpegCoder_3_1_0_Linux_py35.tar.xz 4.4 1.18.5 3.5.10 8.3.0 Debian 10

Note that the above versions only show the environment when building mpegCoder. It does not mean that they are the dependencies of running mpegCoder. For example, users could use python 3.9.5 and numpy 1.19.5 to run mpegCoder.

Running the Linux version may be a little bit tricky. Users need to follow the step 5 and 6 in the instructions of the source code :page_facing_up:. We copy the instructions here:

  1. Extract the built module as mpegCoder.so, then you could import it in the same directory. If you have built FFMpeg by our script, you do not need any other dependencies when importing the libs. However, if not, you may need to download the lib dependencies :package: and add the lib folder to your LD_LIBRARY_PATH:

    mkdir -p /apps/ffmpeg-4.4
    cd /apps/ffmpeg-4.4
    wget -O- https://github.com/cainmagi/FFmpeg-Encoder-Decoder-for-Python/releases/download/deps-3.0.0/so-linux-ffmpeg_4_4.tar.xz | tar xJ -C "."
    echo "export LD_LIBRARY_PATH=/apps/ffmpeg-4.4/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
    export LD_LIBRARY_PATH=/apps/ffmpeg-4.4/lib:$LD_LIBRARY_PATH
    
  2. Running mpegCoder requires GLIBC>=2.29. This requirement is not satisfied in some cases. However, if you have built FFMpeg by our script, the requirement would be fulfilled (i.e. you could skip this step). If users are using our pre-built dependencies, users may need to solve this problem by

    ln -sf /apps/ffmpeg-4.4/lib-fix/libm-2.31.so /lib/x86_64-linux-gnu/libm.so.6
    

Then, users could import the package by

import mpegCoder