Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not identifying truncated .mp3 in Linux #2172

Open
realiteer opened this issue Jan 10, 2025 · 1 comment
Open

Not identifying truncated .mp3 in Linux #2172

realiteer opened this issue Jan 10, 2025 · 1 comment

Comments

@realiteer
Copy link

The Linux version is not identifying truncated .mp3 files. When scanning the same .mp3 in Windows or Mac, it is identified as truncated.

Here is what we see in Windows (includes "IsTruncated=Yes"):

MediaInfo[sectionsByType={General=Sections[sections=[Section[values={Audio codecs=MPEG Audio, Audio_Channels_Total=2, Audio_Format_List=MPEG Audio, Audio_Format_WithHint_List=MPEG Audio, Commercial name=MPEG Audio, Complete name=src\test\resources\media\truncated.mp3, Conformance errors=1, Count=351, Count of audio streams=1, Count of stream of this kind=1, Duration=00:00:03.239, File creation date=2024-10-22 21:33:36.793 UTC, File creation date (local)=2024-10-22 14:33:36.793, File extension=mp3, File last modification date=2024-10-22 21:33:36.793 UTC, File last modification date (local)=2024-10-22 14:33:36.793, File name=truncated, File name extension=truncated.mp3, File size=49.86 KiB, Folder name=src\test\resources\media, Format=MPEG Audio, Format/Extensions usually used=m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3, General compliance=File size 51055 is less than expected size at least 51059 (offset 0xC68E), Internet media type=audio/mpeg, IsTruncated=Yes, Kind of stream=General, MPEG-Audio=Yes, Overall bit rate=128 kb/s, Overall bit rate mode=Constant, Proportion of this stream=0.00088, Stream identifier=0, Stream size=45.0 Bytes (0%), Writing library=LAME3.100}]]], Audio=Sections[sections=[Section[values={Bit rate=128 kb/s, Bit rate mode=Constant, Channel(s)=2 channels, Commercial name=MPEG Audio, Compression mode=Lossy, Count=285, Count of stream of this kind=1, Duration=00:00:03.239, Format=MPEG Audio, Format profile=Layer 3, Format settings=Joint stereo / MS Stereo, Format version=Version 1, Frame count=124, Frame rate=38.281 FPS (1152 SPF), Internet media type=audio/mpeg, Kind of stream=Audio, Mode=Joint stereo, Mode extension=MS Stereo, Samples count=142848, Samples per frame=1152, Sampling rate=44.1 kHz, Stream identifier=0, Stream size=50.61 KiB, Writing library=LAME3.100}]]]}]

And here is what we see in Linux (does not include "IsTruncated"):

MediaInfo[sectionsByType={General=Sections[sections=[Section[values={Audio codecs=MPEG Audio, Audio_Format_List=MPEG Audio, Audio_Format_WithHint_List=MPEG Audio, Commercial name=MPEG Audio, Complete name=/opt/drps/pipeline/dept/CHD/WIP/Preservation Systems/01-Original Acquisition/MediaInfoFixed/1-Collection/b0001/f0001/ORIGINAL_MASTER/truncated.mp3, Count=331, Count of audio streams=1, Count of stream of this kind=1, Duration=00:00:03.239, File extension=mp3, File last modification date=UTC 2024-11-20 23:44:20, File last modification date (local)=2024-11-20 16:44:20, File name=truncated, File name extension=truncated.mp3, File size=49.86 KiB, Folder name=/opt/drps/pipeline/dept/CHD/WIP/Preservation Systems/01-Original Acquisition/MediaInfoFixed/1-Collection/b0001/f0001/ORIGINAL_MASTER, Format=MPEG Audio, Format/Extensions usually used=m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3, Internet media type=audio/mpeg, Kind of stream=General, Overall bit rate=128 kb/s, Overall bit rate mode=Constant, Proportion of this stream=0.00088, Stream identifier=0, Stream size=45.0 Bytes (0%), Writing library=LAME3.100}]]], Audio=Sections[sections=[Section[values={Bit rate=128 kb/s, Bit rate mode=Constant, Channel(s)=2 channels, Commercial name=MPEG Audio, Compression mode=Lossy, Count=280, Count of stream of this kind=1, Duration=00:00:03.239 (00:00:03:10), Format=MPEG Audio, Format profile=Layer 3, Format settings=Joint stereo / MS Stereo, Format version=Version 1, Frame count=124, Frame rate=38.281 FPS (1152 SPF), Internet media type=audio/mpeg, Kind of stream=Audio, Mode=Joint stereo, Mode extension=MS Stereo, Samples count=142848, Samples per frame=1152, Sampling rate=44.1 kHz, Stream identifier=0, Stream size=50.61 KiB, Writing library=LAME3.100}]]]}]

@JeromeMartinez JeromeMartinez transferred this issue from MediaArea/MediaInfo Jan 11, 2025
@cjee21
Copy link
Contributor

cjee21 commented Feb 2, 2025

This issue caught my attention so I tested by creating a truncated MP3 on Windows and opening it in MediaInfo CLI 24.12 on both Windows 11 and Ubuntu 24.04 but I got similar output from both.

Windows:

>MediaInfo.exe test_truncated.mp3 --output=XML
<?xml version="1.0" encoding="UTF-8"?>
<MediaInfo
    xmlns="https://mediaarea.net/mediainfo"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://mediaarea.net/mediainfo https://mediaarea.net/mediainfo/mediainfo_2_0.xsd"
    version="2.0">
<creatingLibrary version="24.12" url="https://mediaarea.net/MediaInfo">MediaInfoLib</creatingLibrary>
<media ref="test_truncated.mp3">
<track type="General">
<AudioCount>1</AudioCount>
<FileExtension>mp3</FileExtension>
<Format>MPEG Audio</Format>
<FileSize>1000000</FileSize>
<Duration>194.880</Duration>
<OverallBitRate_Mode>CBR</OverallBitRate_Mode>
<OverallBitRate>320000</OverallBitRate>
<StreamSize>44</StreamSize>
<File_Created_Date>2025-02-02 05:55:04.857 UTC</File_Created_Date>
<File_Created_Date_Local>2025-02-02 13:55:04.857</File_Created_Date_Local>
<File_Modified_Date>2025-02-02 05:55:29.917 UTC</File_Modified_Date>
<File_Modified_Date_Local>2025-02-02 13:55:29.917</File_Modified_Date_Local>
<Encoded_Library dt="binary.base64">TEFNRTMuMTDCgEAERy3CkcKzFyAvIEM3w4U=</Encoded_Library>
<extra>
<IsTruncated>Yes</IsTruncated>
<ConformanceErrors>
<MPEGAudio>
<GeneralCompliance>File size 1000000 is less than expected size at least 1000004 (offset 0xF3FF0)</GeneralCompliance>
</MPEGAudio>
</ConformanceErrors>
</extra>
</track>
<track type="Audio">
<Format>MPEG Audio</Format>
<Format_Version>1</Format_Version>
<Format_Profile>Layer 3</Format_Profile>
<Format_Settings_Mode>Joint stereo</Format_Settings_Mode>
<Format_Settings_ModeExtension>MS Stereo</Format_Settings_ModeExtension>
<Duration>194.880</Duration>
<BitRate_Mode>CBR</BitRate_Mode>
<BitRate>320000</BitRate>
<Channels>2</Channels>
<SamplesPerFrame>1152</SamplesPerFrame>
<SamplingRate>48000</SamplingRate>
<SamplingCount>9354240</SamplingCount>
<FrameRate>41.667</FrameRate>
<FrameCount>8120</FrameCount>
<Compression_Mode>Lossy</Compression_Mode>
<StreamSize>7795200</StreamSize>
<Encoded_Library dt="binary.base64">TEFNRTMuMTDCgEAERy3CkcKzFyAvIEM3w4U=</Encoded_Library>
</track>
</media>
</MediaInfo>

Linux:

:~$ mediainfo test_truncated.mp3 --output=XML
<?xml version="1.0" encoding="UTF-8"?>
<MediaInfo
    xmlns="https://mediaarea.net/mediainfo"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://mediaarea.net/mediainfo https://mediaarea.net/mediainfo/mediainfo_2_0.xsd"
    version="2.0">
<creatingLibrary version="24.12" url="https://mediaarea.net/MediaInfo">MediaInfoLib</creatingLibrary>
<media ref="test_truncated.mp3">
<track type="General">
<AudioCount>1</AudioCount>
<FileExtension>mp3</FileExtension>
<Format>MPEG Audio</Format>
<FileSize>1000000</FileSize>
<Duration>194.880</Duration>
<OverallBitRate_Mode>CBR</OverallBitRate_Mode>
<OverallBitRate>320000</OverallBitRate>
<StreamSize>44</StreamSize>
<File_Modified_Date>2025-02-02 05:55:29 UTC</File_Modified_Date>
<File_Modified_Date_Local>2025-02-02 13:55:29</File_Modified_Date_Local>
<Encoded_Library dt="binary.base64">TEFNRTMuMTDCgEAERy3CkcKzFyAvIEM3w4U=</Encoded_Library>
<extra>
<IsTruncated>Yes</IsTruncated>
<ConformanceErrors>
<MPEGAudio>
<GeneralCompliance>File size 1000000 is less than expected size at least 1000004 (offset 0xF3FF0)</GeneralCompliance>
</MPEGAudio>
</ConformanceErrors>
</extra>
</track>
<track type="Audio">
<Format>MPEG Audio</Format>
<Format_Version>1</Format_Version>
<Format_Profile>Layer 3</Format_Profile>
<Format_Settings_Mode>Joint stereo</Format_Settings_Mode>
<Format_Settings_ModeExtension>MS Stereo</Format_Settings_ModeExtension>
<Duration>194.880</Duration>
<BitRate_Mode>CBR</BitRate_Mode>
<BitRate>320000</BitRate>
<Channels>2</Channels>
<SamplesPerFrame>1152</SamplesPerFrame>
<SamplingRate>48000</SamplingRate>
<SamplingCount>9354240</SamplingCount>
<FrameRate>41.667</FrameRate>
<FrameCount>8120</FrameCount>
<Compression_Mode>Lossy</Compression_Mode>
<StreamSize>7795200</StreamSize>
<Encoded_Library dt="binary.base64">TEFNRTMuMTDCgEAERy3CkcKzFyAvIEM3w4U=</Encoded_Library>
</track>
</media>
</MediaInfo>

Diff:

diff --git a/windows.xml b/linux.xml
index 43918d2..82f28e8 100644
--- a/windows.xml
+++ b/linux.xml
@@ -15,10 +15,8 @@
 <OverallBitRate_Mode>CBR</OverallBitRate_Mode>
 <OverallBitRate>320000</OverallBitRate>
 <StreamSize>44</StreamSize>
-<File_Created_Date>2025-02-02 05:55:04.857 UTC</File_Created_Date>
-<File_Created_Date_Local>2025-02-02 13:55:04.857</File_Created_Date_Local>
-<File_Modified_Date>2025-02-02 05:55:29.917 UTC</File_Modified_Date>
-<File_Modified_Date_Local>2025-02-02 13:55:29.917</File_Modified_Date_Local>
+<File_Modified_Date>2025-02-02 05:55:29 UTC</File_Modified_Date>
+<File_Modified_Date_Local>2025-02-02 13:55:29</File_Modified_Date_Local>
 <Encoded_Library dt="binary.base64">TEFNRTMuMTDCgEAERy3CkcKzFyAvIEM3w4U=</Encoded_Library>
 <extra>
 <IsTruncated>Yes</IsTruncated>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants