Skip to content

Commit be56a94

Browse files
committed
3.2.0
1. Change the behavior of downloading the dependencies, now the files are pulled from Github. 2. Pack the dependency checking tool into the package. 3. Provide a detailed dependency list. 4. Drop the support of python 3.5. Support python 3.10.
1 parent f05464c commit be56a94

File tree

9 files changed

+184
-60
lines changed

9 files changed

+184
-60
lines changed

LICENSE

100644100755
File mode changed.

README.md

100644100755
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ The script will keep updated with the newest releases of the pre-compiled module
2323

2424
| `mpegCoder` | Uploaded |
2525
| :-----------: | :--------: |
26+
| `3.2.0` | :heavy_check_mark: |
2627
| `3.1.0` | :heavy_check_mark: |
2728

2829
To learn more about `mpegCoder`, please review the [documentation][docs].

README_PYPI.md

100644100755
File mode changed.

mpegCoder-pypi.code-workspace

100644100755
File mode changed.

requirements.txt

100644100755
File mode changed.

scripts/init_linux.py

100644100755
Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/python
2+
# -*- coding: UTF8-*- #
13
'''
24
mpegCoder
35
---------
@@ -11,7 +13,23 @@
1113
'''
1214

1315
import os
16+
import sysconfig
1417
import ctypes
18+
import webtools
19+
20+
__verion__ = '3.2.0'
21+
PY_VERSION = sysconfig.get_python_version()
22+
23+
24+
def get_release_name(mpegcoder_ver='3.x', python_ver='3.6'):
25+
'''Get the name of the mpegCoder released module.'''
26+
python_ver = python_ver.replace('.', '')
27+
mpegcoder_ver = mpegcoder_ver.replace('.', '_')
28+
return 'mpegCoder_{mp_ver}_{platform}_py{py_ver}.tar.xz'.format(
29+
mp_ver=mpegcoder_ver,
30+
py_ver=python_ver,
31+
platform='Linux'
32+
)
1533

1634

1735
class DynamicLibLoader:
@@ -45,42 +63,55 @@ def add_dependencies(self, *names):
4563
self.add_dependency(name)
4664

4765

66+
# Check existence of the dependency
4867
basedir = os.path.abspath(os.path.dirname(__file__))
68+
if not os.path.isfile(os.path.join(basedir, 'mpegCoder.so')):
69+
webtools.download_tarball(
70+
'cainmagi', 'FFmpeg-Encoder-Decoder-for-Python',
71+
'{0}-linux'.format(__verion__),
72+
get_release_name(__verion__, PY_VERSION),
73+
path=target_path, mode='auto', verbose=True, token=''
74+
)
75+
if not os.path.isdir(os.path.join(basedir, 'lib')):
76+
webtools.download_tarball(
77+
'cainmagi', 'FFmpeg-Encoder-Decoder-for-Python',
78+
'deps-3.2.0', 'so-linux-ffmpeg_5_0.tar.xz',
79+
path=target_path, mode='auto', verbose=True, token=''
80+
)
81+
82+
4983
__dependencies = DynamicLibLoader(os.path.join(basedir, 'lib'))
5084
__dependencies.add_dependencies(
5185
'libva-drm.so.2', 'libva.so.2', 'libdrm.so.2'
5286
)
5387
__dependencies.add_dependencies(
54-
'libva-x11.so.2', 'libvdpau.so.1',
55-
'libXext.so.6', 'libXfixes.so.3', 'libX11.so.6', 'libxcb.so.1',
56-
'libXau.so.6', 'libXdmcp.so.6', 'libbsd.so.0'
57-
)
58-
__dependencies.add_dependencies(
59-
'libgssapi_krb5.so.2', 'libkrb5.so.3', 'libk5crypto.so.3',
60-
'libkrb5support.so.0', 'libkeyutils.so.1'
88+
'libva-x11.so.2', 'libvdpau.so.1', 'libXfixes.so.3',
89+
'libXext.so.6', 'libX11.so.6', 'libxcb.so.1', 'libXau.so.6',
90+
'libXdmcp.so.6', 'libbsd.so.0', 'libmd.so.0',
6191
)
6292
__dependencies.add_dependencies(
6393
'libsrt.so.1.4', 'libssh.so.4'
6494
)
6595
__dependencies.add_dependencies(
66-
'libtheoraenc.so.1', 'libtheoradec.so.1', 'libtheora.so.0',
67-
'libopenmpt.so.0', 'libmpg123.so.0',
68-
'libvorbisenc.so.2', 'libvorbisfile.so.3', 'libvorbis.so.0',
69-
'libogg.so.0', 'libnuma.so.1',
70-
'libopencore-amrwb.so.0', 'libfdk-aac.so.2', 'libmp3lame.so.0',
71-
'libopus.so.0',
72-
'libva-x11.so.2', 'libvdpau.so.1',
96+
'libopencore-amrwb.so.0', 'libogg.so.0', 'libmpg123.so.0',
97+
'libnuma.so.1',
7398
)
7499
__dependencies.add_dependencies(
75100
'libopenjp2.so.7',
76101
)
77102
__dependencies.add_dependencies(
78-
'libvpx.so.6', 'librav1e.so.0', 'libSvtAv1Enc.so.0',
79-
'libx264.so.164', 'libx265.so.199', 'libxvidcore.so.4'
103+
'libfdk-aac.so.2', 'libmp3lame.so.0', 'libopus.so.0',
104+
'libtheoraenc.so.1', 'libtheoradec.so.1', 'libopenmpt.so.0',
105+
'libvorbisenc.so.2', 'libvorbisfile.so.3', 'libvorbis.so.0',
106+
)
107+
__dependencies.add_dependencies(
108+
'libvpx.so.7', 'libdav1d.so.6', 'librav1e.so.0',
109+
'libSvtAv1Enc.so.1', 'libx264.so.164', 'libx265.so.199',
110+
'libxvidcore.so.4',
80111
)
81112
__dependencies.add_dependencies(
82-
'libavformat.so.58', 'libavcodec.so.58', 'libswresample.so.3',
83-
'libswscale.so.5', 'libavutil.so.56',
113+
'libavformat.so.59', 'libavcodec.so.59', 'libswresample.so.4',
114+
'libswscale.so.6', 'libavutil.so.57',
84115
)
85116

86117
from . import mpegCoder as mpegCoder_ # noqa: E402

scripts/init_win.py

100644100755
Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#!/usr/python
2+
# -*- coding: UTF8-*- #
13
'''
24
mpegCoder
35
---------
@@ -10,14 +12,49 @@
1012
* OS: Windows version
1113
'''
1214

13-
from . import mpegCoder as mpegCoder_
15+
import sysconfig
16+
import webtools
17+
18+
__verion__ = '3.2.0'
19+
PY_VERSION = sysconfig.get_python_version()
20+
21+
22+
def get_release_name(mpegcoder_ver='3.x', python_ver='3.6'):
23+
'''Get the name of the mpegCoder released module.'''
24+
python_ver = python_ver.replace('.', '')
25+
mpegcoder_ver = mpegcoder_ver.replace('.', '_')
26+
return 'mpegCoder_{mp_ver}_{platform}_py{py_ver}.tar.xz'.format(
27+
mp_ver=mpegcoder_ver,
28+
py_ver=python_ver,
29+
platform='Win'
30+
)
31+
32+
33+
# Check existence of the dependency
34+
basedir = os.path.abspath(os.path.dirname(__file__))
35+
# Check existence of the dependency
36+
if not os.path.isfile(os.path.join(basedir, 'mpegCoder.pyd')):
37+
webtools.download_tarball(
38+
'cainmagi', 'FFmpeg-Encoder-Decoder-for-Python',
39+
__verion__, get_release_name(__verion__, PY_VERSION),
40+
path=target_path, mode='auto', verbose=True, token=''
41+
)
42+
if not os.path.isfile(os.path.join(basedir, 'avcodec-59.dll')):
43+
webtools.download_tarball(
44+
'cainmagi', 'FFmpeg-Encoder-Decoder-for-Python',
45+
'deps-3.2.0', 'dll-win-ffmpeg_5_0.tar.xz',
46+
path=target_path, mode='auto', verbose=True, token=''
47+
)
48+
1449

1550
__all__ = (
1651
'setGlobal', 'readme',
1752
'MpegDecoder', 'MpegEncoder',
1853
'MpegClient', 'MpegServer'
1954
)
2055

56+
from . import mpegCoder as mpegCoder_ # noqa: E402
57+
2158
setGlobal = mpegCoder_.setGlobal
2259
readme = mpegCoder_.readme
2360
MpegDecoder = mpegCoder_.MpegDecoder

0 commit comments

Comments
 (0)