[FFmpeg-trac] #3524(avcodec:new): FFmpeg MD5 output different with same data
FFmpeg
trac at avcodec.org
Thu Apr 3 21:51:57 CEST 2014
#3524: FFmpeg MD5 output different with same data
--------------------------------------+-----------------------------------
Reporter: ahthovaikied | Owner:
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: aac | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
--------------------------------------+-----------------------------------
Comment (by ahthovaikied):
Now that my segfault problem is gone, here is the other half of the
results:
Second machine (core i7 3537U), with audio and video:
{{{
$ ./ffmpeg -i h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv
-f md5 -
ffmpeg version N-62058-gfd2bcfc Copyright (c) 2000-2014 the FFmpeg
developers
built on Apr 3 2014 21:19:55 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu2)
configuration: --enable-gpl --enable-version3 --enable-nonfree
--disable-runtime-cpudetect --disable-ffserver --disable-encoder=vorbis
--disable-encoder=aac --enable-x11grab --enable-libfdk-aac --enable-
libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
libopus --enable-librtmp --enable-libtheora --enable-libvorbis --enable-
libvpx --enable-libx264 --enable-libxvid --disable-debug --cpu=core-avx-i
libavutil 52. 71.100 / 52. 71.100
libavcodec 55. 56.107 / 55. 56.107
libavformat 55. 36.101 / 55. 36.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, matroska,webm, from
'h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : libebml v1.0.0 + libmatroska v1.0.0
creation_time : 2011-01-07 07:42:53
Duration: 00:00:57.61, start: 0.000000, bitrate: 613 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x528 [SAR 1:1 DAR
80:33], 25 fps, 25 tbr, 1k tbn, 47.95 tbc
Metadata:
title : -=[champ_is_here]=-
Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp
Metadata:
title : -=[champ_is_here]=-
Stream #0:2(hin): Audio: mp3, 48000 Hz, stereo, s16p, 160 kb/s
Metadata:
title : -=[champ_is_here]=-
Output #0, md5, to 'pipe:':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : Lavf55.36.101
Stream #0:0(eng): Video: rawvideo (I420 / 0x30323449), yuv420p,
1280x528 [SAR 1:1 DAR 80:33], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Metadata:
title : -=[champ_is_here]=-
Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Metadata:
title : -=[champ_is_here]=-
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> rawvideo)
Stream #0:1 -> #0:1 (aac -> pcm_s16le)
Press [q] to stop, [?] for help
MD5=997b3168ffc48bbd83ae869a43e59232 0kB time=00:00:56.86 bitrate=
0.0kbits/s
frame= 1439 fps=403 q=0.0 Lsize= 0kB time=00:00:57.60 bitrate=
0.0kbits/s
video:1424610kB audio:11256kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
}}}
Second machine (core i7 3537U), no video:
{{{
$ ./ffmpeg -i h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv
-vn -f md5 -
ffmpeg version N-62058-gfd2bcfc Copyright (c) 2000-2014 the FFmpeg
developers
built on Apr 3 2014 21:19:55 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu2)
configuration: --enable-gpl --enable-version3 --enable-nonfree
--disable-runtime-cpudetect --disable-ffserver --disable-encoder=vorbis
--disable-encoder=aac --enable-x11grab --enable-libfdk-aac --enable-
libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
libopus --enable-librtmp --enable-libtheora --enable-libvorbis --enable-
libvpx --enable-libx264 --enable-libxvid --disable-debug --cpu=core-avx-i
libavutil 52. 71.100 / 52. 71.100
libavcodec 55. 56.107 / 55. 56.107
libavformat 55. 36.101 / 55. 36.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, matroska,webm, from
'h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : libebml v1.0.0 + libmatroska v1.0.0
creation_time : 2011-01-07 07:42:53
Duration: 00:00:57.61, start: 0.000000, bitrate: 613 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x528 [SAR 1:1 DAR
80:33], 25 fps, 25 tbr, 1k tbn, 47.95 tbc
Metadata:
title : -=[champ_is_here]=-
Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp
Metadata:
title : -=[champ_is_here]=-
Stream #0:2(hin): Audio: mp3, 48000 Hz, stereo, s16p, 160 kb/s
Metadata:
title : -=[champ_is_here]=-
Output #0, md5, to 'pipe:':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : Lavf55.36.101
Stream #0:0(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Metadata:
title : -=[champ_is_here]=-
Stream mapping:
Stream #0:1 -> #0:0 (aac -> pcm_s16le)
Press [q] to stop, [?] for help
MD5=cd7298a49504ca810b8e8e8cdcd417b2
size= 0kB time=00:00:57.60 bitrate= 0.0kbits/s
video:0kB audio:11256kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
}}}
Second machine (core i7 3537U), no audio:
{{{
$ ./ffmpeg -i h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv
-an -f md5 -
ffmpeg version N-62058-gfd2bcfc Copyright (c) 2000-2014 the FFmpeg
developers
built on Apr 3 2014 21:19:55 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu2)
configuration: --enable-gpl --enable-version3 --enable-nonfree
--disable-runtime-cpudetect --disable-ffserver --disable-encoder=vorbis
--disable-encoder=aac --enable-x11grab --enable-libfdk-aac --enable-
libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
libopus --enable-librtmp --enable-libtheora --enable-libvorbis --enable-
libvpx --enable-libx264 --enable-libxvid --disable-debug --cpu=core-avx-i
libavutil 52. 71.100 / 52. 71.100
libavcodec 55. 56.107 / 55. 56.107
libavformat 55. 36.101 / 55. 36.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, matroska,webm, from
'h264_720p_hp_3.1_600kbps_aac_mp3_dual_audio_harry_potter.mkv':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : libebml v1.0.0 + libmatroska v1.0.0
creation_time : 2011-01-07 07:42:53
Duration: 00:00:57.61, start: 0.000000, bitrate: 613 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x528 [SAR 1:1 DAR
80:33], 25 fps, 25 tbr, 1k tbn, 47.95 tbc
Metadata:
title : -=[champ_is_here]=-
Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp
Metadata:
title : -=[champ_is_here]=-
Stream #0:2(hin): Audio: mp3, 48000 Hz, stereo, s16p, 160 kb/s
Metadata:
title : -=[champ_is_here]=-
Output #0, md5, to 'pipe:':
Metadata:
title : Harry Potter 4[Eng-Hindi]Dual.Audio BRRIP
720p-=[champ_is_here]=-
encoder : Lavf55.36.101
Stream #0:0(eng): Video: rawvideo (I420 / 0x30323449), yuv420p,
1280x528 [SAR 1:1 DAR 80:33], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Metadata:
title : -=[champ_is_here]=-
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
MD5=eeb51ec63c5c7db6ce70e9cebe7cb7e6 0kB time=00:00:50.28 bitrate=
0.0kbits/s
frame= 1439 fps=418 q=0.0 Lsize= 0kB time=00:00:57.56 bitrate=
0.0kbits/s
video:1424610kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
}}}
The MD5 match when ignoring the audio stream. It seems you are right and
this is a decoding difference in the audio, thank you for pointing me
this.
I think you can close this bug then.
Do you know if there is a way to compute the MD5 of the streams with
FFmpeg '''before''' decoding? A full file checksum is not an option
because I need to be able to select only some streams for the calculation.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3524#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list