AttributeError: Undefined symbol "MediaInfo_Inform" since libmediainfo-update
zwaehnn opened this issue · 6 comments
Hi,
since an upgrade of libmediainfo on my FreeBSD-server from 22.12 to 22.12_1 pymediainfo isn't working anymore:
Traceback (most recent call last):
File "/root/test.py", line 2, in <module>
pymediainfo.MediaInfo.parse("/mnt/temp/mediafile.mkv")
File "/usr/local/lib/python3.9/site-packages/pymediainfo/__init__.py", line 431, in parse
lib, handle, lib_version_str, lib_version = cls._get_library(library_file)
File "/usr/local/lib/python3.9/site-packages/pymediainfo/__init__.py", line 315, in _get_library
cls._define_library_prototypes(lib)
File "/usr/local/lib/python3.9/site-packages/pymediainfo/__init__.py", line 245, in _define_library_prototypes
lib.MediaInfo_Inform.restype = ctypes.c_wchar_p
File "/usr/local/lib/python3.9/ctypes/__init__.py", line 387, in __getattr__
func = self.__getitem__(name)
File "/usr/local/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: Undefined symbol "MediaInfo_Inform"
Not really sure if this is the right place, but since this is a wrapper, I think it's better placed here and not with libmediainfo.
Downgrading libmediainfo to 22.12 works fine.
test.py:
import pymediainfo
pymediainfo.MediaInfo.parse("/mnt/temp/mediafile.mkv")
Hi @zwaehnn, I'm no FreeBSD expert. Does this 22.12_1 version correspond to this commit?
freebsd/freebsd-ports@23e0e7b
If so, could it be that they started packaging a wrong version of the library? Does the mediainfo
CLI binary work with this library?
Hi @sbraz, thanks for the reply.
I'm using the pkg-version of libmediainfo (https://www.freshports.org/multimedia/libmediainfo). The latest version (22.12_1) seems to correspond to this commit.
It could well be, that the issue has already been fixed, but the fix didn't arrive in the packaged version.
Since downgrading works for me, I think I'll just wait for the next update of libmediainfo and try it again.
But if anyone else has the same problem, hopefully there soon will be a google hit for the error message.
Oh, I linked the commit for mediainfo
, not libmediainfo
. Yours is correct indeed.
I very much doubt the issue has been fixed. Can you please try the mediainfo
binary?
Even if it works, you should report the issue upstream because the library doesn't seem to behave properly.
Hi,
mediainfo works with both both versions of libmediainfo:
# pkg info libmediainfo
libmediainfo-22.12_1
Name : libmediainfo
Version : 22.12_1
Installed on : Fri Feb 10 07:32:24 2023 CET
Origin : multimedia/libmediainfo
Architecture : FreeBSD:13:amd64
Prefix : /usr/local
Categories : multimedia
Licenses : BSD2CLAUSE
Maintainer : sunpoet@FreeBSD.org
WWW : https://mediaarea.net/en/MediaInfo
Comment : MediaInfo library
Options :
CURL : on
Shared Libs required:
libzen.so.0
libcurl.so.4
Shared Libs provided:
libmediainfo.so.0
Annotations :
FreeBSD_version: 1301000
repo_type : binary
repository : FreeBSD
Flat size : 28.3MiB
Description :
MediaInfo is a convenient unified display of the most relevant technical and
tag data for video and audio files.
Read http://mediaarea.net/en/MediaInfo/Support/Formats for supported formats.
WWW: https://mediaarea.net/en/MediaInfo
WWW: https://github.com/MediaArea/MediaInfoLib
# mediainfo -f Big\ Buck\ Bunny.mp4
General
Count : 332
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Count of audio streams : 2
Video_Format_List : AVC
Video_Format_WithHint_List : AVC
Codecs Video : AVC
Audio_Format_List : MPEG Audio / AC-3
Audio_Format_WithHint_List : MPEG Audio / AC-3
Audio codecs : MPEG Audio / AC-3
Complete name : Big Buck Bunny.mp4
File name extension : Big Buck Bunny.mp4
File name : Big Buck Bunny
File extension : mp4
Format : MPEG-4
Format : MPEG-4
Format/Extensions usually used : braw mov mp4 m4v m4a m4b m4p m4r 3ga 3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a f4b f4v
Commercial name : MPEG-4
Format profile : Base Media
Internet media type : video/mp4
Codec ID : isom
Codec ID : isom (isom/avc1)
Codec ID/Url : http://www.apple.com/quicktime/download/standalone.html
CodecID_Compatible : isom/avc1
File size : 276134947
File size : 263 MiB
File size : 263 MiB
File size : 263 MiB
File size : 263 MiB
File size : 263.3 MiB
Duration : 634533
Duration : 10 min 34 s
Duration : 10 min 34 s 533 ms
Duration : 10 min 34 s
Duration : 00:10:34.533
Duration : 00:10:34:16
Duration : 00:10:34.533 (00:10:34:16)
Overall bit rate : 3481426
Overall bit rate : 3 481 kb/s
Frame rate : 30.000
Frame rate : 30.000 FPS
Frame count : 19036
Stream size : 237535
Stream size : 232 KiB (0%)
Stream size : 232 KiB
Stream size : 232 KiB
Stream size : 232 KiB
Stream size : 232.0 KiB
Stream size : 232 KiB (0%)
Proportion of this stream : 0.00086
HeaderSize : 236989
DataSize : 275897900
FooterSize : 58
IsStreamable : Yes
Title : Big Buck Bunny, Sunflower version
Movie name : Big Buck Bunny, Sunflower version
Performer : Blender Foundation 2008, Janus Bager Kristensen 2013
Composer : Sacha Goedegebure
Genre : Animation
Encoded date : UTC 2013-12-16 17:44:39
Tagged date : UTC 2013-12-16 17:44:39
File last modification date : UTC 2023-02-09 21:20:44
File last modification date (local) : 2023-02-09 22:20:44
Comment : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
com : Jan Morgenstern
Video
Count : 382
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 1
ID : 1
Format : AVC
Format : AVC
Format/Info : Advanced Video Codec
Format/Url : http://developers.videolan.org/x264.html
Commercial name : AVC
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, CABAC : Yes
Format settings, Reference frames : 4
Format settings, Reference frames : 4 frames
Internet media type : video/H264
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 634533
Duration : 10 min 34 s
Duration : 10 min 34 s 533 ms
Duration : 10 min 34 s
Duration : 00:10:34.533
Duration : 00:10:34:16
Duration : 00:10:34.533 (00:10:34:16)
Bit rate : 3000000
Bit rate : 3 000 kb/s
Maximum bit rate : 16715296
Maximum bit rate : 16.7 Mb/s
Width : 1920
Width : 1 920 pixels
Height : 1080
Height : 1 080 pixels
Stored_Height : 1088
Sampled_Width : 1920
Sampled_Height : 1080
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Rotation : 0.000
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 30.000
Frame rate : 30.000 FPS
FrameRate_Num : 30
FrameRate_Den : 1
Frame count : 19036
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 237848132
Stream size : 227 MiB (86%)
Stream size : 227 MiB
Stream size : 227 MiB
Stream size : 227 MiB
Stream size : 226.8 MiB
Stream size : 227 MiB (86%)
Proportion of this stream : 0.86135
Writing library : x264 - core 115
Writing library : x264 core 115
Encoded_Library_Name : x264
Encoded_Library_Version : core 115
Encoding settings : cabac=1 / ref=4 / deblock=1:1:1 / analyse=0x3:0x133 / me=tesa / subme=10 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:0.60
Encoded date : UTC 2013-12-16 17:44:39
Tagged date : UTC 2013-12-16 17:44:42
Codec configuration box : avcC
Audio #1
Count : 285
Count of stream of this kind : 2
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
Stream identifier : 1
StreamOrder : 1
ID : 2
ID : 2
Format : MPEG Audio
Format : MPEG Audio
Commercial name : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Format settings : Joint stereo / MS Stereo
Mode : Joint stereo
Mode extension : MS Stereo
Internet media type : audio/mpeg
Codec ID : mp4a-6B
Duration : 634200
Duration : 10 min 34 s
Duration : 10 min 34 s 200 ms
Duration : 10 min 34 s
Duration : 00:10:34.200
Duration : 00:10:34.200
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 160000
Bit rate : 160 kb/s
Maximum bit rate : 165120
Maximum bit rate : 165 kb/s
Channel(s) : 2
Channel(s) : 2 channels
Samples per frame : 1152
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 30440448
Frame rate : 41.667
Frame rate : 41.667 FPS (1152 SPF)
Frame count : 26424
Compression mode : Lossy
Compression mode : Lossy
Stream size : 12683520
Stream size : 12.1 MiB (5%)
Stream size : 12 MiB
Stream size : 12 MiB
Stream size : 12.1 MiB
Stream size : 12.10 MiB
Stream size : 12.1 MiB (5%)
Proportion of this stream : 0.04593
Writing library : LAME3.99r
Writing library : LAME3.99r
Encoding settings : -m j -V 4 -q 3 -lowpass 17.5 -b 160
Encoded date : UTC 2013-12-16 17:44:42
Tagged date : UTC 2013-12-16 17:44:42
Audio #2
Count : 297
Count of stream of this kind : 2
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 1
Stream identifier : 2
StreamOrder : 2
ID : 3
ID : 3
Format : AC-3
Format : AC-3
Format/Info : Audio Coding 3
Format/Url : https://en.wikipedia.org/wiki/AC3
Commercial name : Dolby Digital
Commercial name : Dolby Digital
Format settings, Endianness : Big
Codec ID : ac-3
Duration : 634143
Duration : 10 min 34 s
Duration : 10 min 34 s 143 ms
Duration : 10 min 34 s
Duration : 00:10:34.143
Duration : 00:10:34.143
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 320000
Bit rate : 320 kb/s
Channel(s) : 6
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Channel positions : 3/2/0.1
Channel layout : L R C LFE Ls Rs
Samples per frame : 1536
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 30438864
Frame rate : 31.250
Frame rate : 31.250 FPS (1536 SPF)
Frame count : 19817
Compression mode : Lossy
Compression mode : Lossy
Stream size : 25365760
Stream size : 24.2 MiB (9%)
Stream size : 24 MiB
Stream size : 24 MiB
Stream size : 24.2 MiB
Stream size : 24.19 MiB
Stream size : 24.2 MiB (9%)
Proportion of this stream : 0.09186
Service kind : CM
Service kind : Complete Main
Encoded date : UTC 2013-12-16 17:44:42
Tagged date : UTC 2013-12-16 17:44:42
bsid : 8
Dialog Normalization : -31
Dialog Normalization : -31 dB
acmod : 7
lfeon : 1
dialnorm_Average : -31
dialnorm_Average : -31 dB
dialnorm_Minimum : -31
dialnorm_Minimum : -31 dB
dialnorm_Maximum : -31
dialnorm_Maximum : -31 dB
dialnorm_Count : 32
# pkg info libmediainfo
libmediainfo-22.12
Name : libmediainfo
Version : 22.12
Installed on : Fri Feb 10 07:33:56 2023 CET
Origin : multimedia/libmediainfo
Architecture : FreeBSD:13:amd64
Prefix : /usr/local
Categories : multimedia
Licenses : BSD2CLAUSE
Maintainer : sunpoet@FreeBSD.org
WWW : https://mediaarea.net/en/MediaInfo
Comment : MediaInfo library
Options :
CURL : off
Shared Libs required:
libzen.so.0
libtinyxml2.so.9
Shared Libs provided:
libmediainfo.so.0
Annotations :
FreeBSD_version: 1301000
Flat size : 7.63MiB
Description :
MediaInfo is a convenient unified display of the most relevant technical and
tag data for video and audio files.
Read http://mediaarea.net/en/MediaInfo/Support/Formats for supported formats.
See also: https://github.com/MediaArea/MediaInfoLib
WWW: https://mediaarea.net/en/MediaInfo
# mediainfo -F Big\ Buck\ Bunny.mp4
General
Count : 332
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Count of audio streams : 2
Video_Format_List : AVC
Video_Format_WithHint_List : AVC
Codecs Video : AVC
Audio_Format_List : MPEG Audio / AC-3
Audio_Format_WithHint_List : MPEG Audio / AC-3
Audio codecs : MPEG Audio / AC-3
Complete name : Big Buck Bunny.mp4
File name extension : Big Buck Bunny.mp4
File name : Big Buck Bunny
File extension : mp4
Format : MPEG-4
Format : MPEG-4
Format/Extensions usually used : braw mov mp4 m4v m4a m4b m4p m4r 3ga 3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a f4b f4v
Commercial name : MPEG-4
Format profile : Base Media
Internet media type : video/mp4
Codec ID : isom
Codec ID : isom (isom/avc1)
Codec ID/Url : http://www.apple.com/quicktime/download/standalone.html
CodecID_Compatible : isom/avc1
File size : 276134947
File size : 263 MiB
File size : 263 MiB
File size : 263 MiB
File size : 263 MiB
File size : 263.3 MiB
Duration : 634533
Duration : 10 min 34 s
Duration : 10 min 34 s 533 ms
Duration : 10 min 34 s
Duration : 00:10:34.533
Duration : 00:10:34:16
Duration : 00:10:34.533 (00:10:34:16)
Overall bit rate : 3481426
Overall bit rate : 3 481 kb/s
Frame rate : 30.000
Frame rate : 30.000 FPS
Frame count : 19036
Stream size : 237535
Stream size : 232 KiB (0%)
Stream size : 232 KiB
Stream size : 232 KiB
Stream size : 232 KiB
Stream size : 232.0 KiB
Stream size : 232 KiB (0%)
Proportion of this stream : 0.00086
HeaderSize : 236989
DataSize : 275897900
FooterSize : 58
IsStreamable : Yes
Title : Big Buck Bunny, Sunflower version
Movie name : Big Buck Bunny, Sunflower version
Performer : Blender Foundation 2008, Janus Bager Kristensen 2013
Composer : Sacha Goedegebure
Genre : Animation
Encoded date : UTC 2013-12-16 17:44:39
Tagged date : UTC 2013-12-16 17:44:39
File last modification date : UTC 2023-02-09 21:20:44
File last modification date (local) : 2023-02-09 22:20:44
Comment : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
com : Jan Morgenstern
Video
Count : 382
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 1
ID : 1
Format : AVC
Format : AVC
Format/Info : Advanced Video Codec
Format/Url : http://developers.videolan.org/x264.html
Commercial name : AVC
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, CABAC : Yes
Format settings, Reference frames : 4
Format settings, Reference frames : 4 frames
Internet media type : video/H264
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 634533
Duration : 10 min 34 s
Duration : 10 min 34 s 533 ms
Duration : 10 min 34 s
Duration : 00:10:34.533
Duration : 00:10:34:16
Duration : 00:10:34.533 (00:10:34:16)
Bit rate : 3000000
Bit rate : 3 000 kb/s
Maximum bit rate : 16715296
Maximum bit rate : 16.7 Mb/s
Width : 1920
Width : 1 920 pixels
Height : 1080
Height : 1 080 pixels
Stored_Height : 1088
Sampled_Width : 1920
Sampled_Height : 1080
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Rotation : 0.000
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 30.000
Frame rate : 30.000 FPS
FrameRate_Num : 30
FrameRate_Den : 1
Frame count : 19036
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 237848132
Stream size : 227 MiB (86%)
Stream size : 227 MiB
Stream size : 227 MiB
Stream size : 227 MiB
Stream size : 226.8 MiB
Stream size : 227 MiB (86%)
Proportion of this stream : 0.86135
Writing library : x264 - core 115
Writing library : x264 core 115
Encoded_Library_Name : x264
Encoded_Library_Version : core 115
Encoding settings : cabac=1 / ref=4 / deblock=1:1:1 / analyse=0x3:0x133 / me=tesa / subme=10 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=3000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:0.60
Encoded date : UTC 2013-12-16 17:44:39
Tagged date : UTC 2013-12-16 17:44:42
Codec configuration box : avcC
Audio #1
Count : 285
Count of stream of this kind : 2
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
Stream identifier : 1
StreamOrder : 1
ID : 2
ID : 2
Format : MPEG Audio
Format : MPEG Audio
Commercial name : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Format settings : Joint stereo / MS Stereo
Mode : Joint stereo
Mode extension : MS Stereo
Internet media type : audio/mpeg
Codec ID : mp4a-6B
Duration : 634200
Duration : 10 min 34 s
Duration : 10 min 34 s 200 ms
Duration : 10 min 34 s
Duration : 00:10:34.200
Duration : 00:10:34.200
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 160000
Bit rate : 160 kb/s
Maximum bit rate : 165120
Maximum bit rate : 165 kb/s
Channel(s) : 2
Channel(s) : 2 channels
Samples per frame : 1152
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 30440448
Frame rate : 41.667
Frame rate : 41.667 FPS (1152 SPF)
Frame count : 26424
Compression mode : Lossy
Compression mode : Lossy
Stream size : 12683520
Stream size : 12.1 MiB (5%)
Stream size : 12 MiB
Stream size : 12 MiB
Stream size : 12.1 MiB
Stream size : 12.10 MiB
Stream size : 12.1 MiB (5%)
Proportion of this stream : 0.04593
Writing library : LAME3.99r
Writing library : LAME3.99r
Encoding settings : -m j -V 4 -q 3 -lowpass 17.5 -b 160
Encoded date : UTC 2013-12-16 17:44:42
Tagged date : UTC 2013-12-16 17:44:42
Audio #2
Count : 297
Count of stream of this kind : 2
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 1
Stream identifier : 2
StreamOrder : 2
ID : 3
ID : 3
Format : AC-3
Format : AC-3
Format/Info : Audio Coding 3
Format/Url : https://en.wikipedia.org/wiki/AC3
Commercial name : Dolby Digital
Commercial name : Dolby Digital
Format settings, Endianness : Big
Codec ID : ac-3
Duration : 634143
Duration : 10 min 34 s
Duration : 10 min 34 s 143 ms
Duration : 10 min 34 s
Duration : 00:10:34.143
Duration : 00:10:34.143
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 320000
Bit rate : 320 kb/s
Channel(s) : 6
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Channel positions : 3/2/0.1
Channel layout : L R C LFE Ls Rs
Samples per frame : 1536
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 30438864
Frame rate : 31.250
Frame rate : 31.250 FPS (1536 SPF)
Frame count : 19817
Compression mode : Lossy
Compression mode : Lossy
Stream size : 25365760
Stream size : 24.2 MiB (9%)
Stream size : 24 MiB
Stream size : 24 MiB
Stream size : 24.2 MiB
Stream size : 24.19 MiB
Stream size : 24.2 MiB (9%)
Proportion of this stream : 0.09186
Service kind : CM
Service kind : Complete Main
Encoded date : UTC 2013-12-16 17:44:42
Tagged date : UTC 2013-12-16 17:44:42
bsid : 8
Dialog Normalization : -31
Dialog Normalization : -31 dB
acmod : 7
lfeon : 1
dialnorm_Average : -31
dialnorm_Average : -31 dB
dialnorm_Minimum : -31
dialnorm_Minimum : -31 dB
dialnorm_Maximum : -31
dialnorm_Maximum : -31 dB
dialnorm_Count : 32
Hi @sunpoet, since you're the author of the change to FreeBSD, do you have any idea why the change from CMake to autotools which you authored in freebsd/freebsd-ports@93d0a11 could affect pymediainfo which attempts to load libmediainfo.so
?
Quick update: libmediainfo has been updated to 22.12_2.
Everything seems to be working again.