동일한 노래(둘 다 M4A 형식)가 포함된 두 파일은 해시를 계산할 때 두 가지 다른 결과를 출력합니다.
md5sum
f149e2d2a232a410fcf61627578c101a new.m4a
ad26ed675342f0f45dcb5f9de9d586df old.m4a
동일한 바이트 수를 포함합니다.
ls -l
-rw-rw-r-- 1 cdc cdc 2978666 Jun 26 19:49 new.m4a
-rwxrwxr-x 1 cdc cdc 2978666 Jun 26 19:49 old.m4a
이는 exiftool
생성 날짜(생성 날짜)만 다릅니다.페이스트빈그리고new.m4a
페이스트빈을 위한 old.m4a
).
나는 Audacity의 도구를 사용하여 두 파일을 비교했습니다(뒤집고 혼합하여 서로 유사성을 제거함). 결과는 아무것도 남지 않았기 때문에 침묵입니다. 즉, 두 파일 사이에 차이가 없음을 의미합니다.
명령은 cmp
다음을 제공합니다.
cmp -l
54 375 23
55 51 305
56 41 112
58 375 23
59 51 305
60 45 116
170 375 23
171 51 305
172 41 112
174 375 23
175 51 305
176 41 112
270 375 23
271 51 305
272 41 112
274 375 23
275 51 305
276 41 112
cmp -b
new.m4a old.m4a differ: byte 54, line 1 is 375 M-} 23 ^S
오직진짜차이점은 해당 old.m4a
파일이 2020년 12월에 다운로드된 파일이고, new.m4a
몇 시간 전에 다운로드되었다는 점입니다.
필요한 경우 다운로드할 수 있습니다.new.m4a
여기그리고old.m4a
여기. 처음에는 둘 다 아티스트의 Bandcamp 페이지에서 다운로드되었습니다.
추신: 내 인간의 귀는 그 둘이 동일하다고 말합니다.
답변1
인쇄된 메타데이터는 exiftool
파일 데이터의 일부입니다. 즉:
$ diff <(exiftool old.m4a) <(exiftool new.m4a)
2c2
< File Name : old.m4a
---
> File Name : new.m4a
18,19c18,19
< Create Date : 2020:12:31 18:13:30
< Modify Date : 2020:12:31 18:13:34
---
> Create Date : 2021:06:26 18:57:37
> Modify Date : 2021:06:26 18:57:41
32,33c32,33
< Track Create Date : 2020:12:31 18:13:30
< Track Modify Date : 2020:12:31 18:13:30
---
> Track Create Date : 2021:06:26 18:57:37
> Track Modify Date : 2021:06:26 18:57:37
40,41c40,41
< Media Create Date : 2020:12:31 18:13:30
< Media Modify Date : 2020:12:31 18:13:30
---
> Media Create Date : 2021:06:26 18:57:37
> Media Modify Date : 2021:06:26 18:57:37
(이것은 저장되는 고기 데이터가 아닌 디스크에 저장된 날짜와 같이 두 파일의 파일 날짜가 동일하도록 만든 후입니다.존재하다문서)
생성 시 md5 합계모두데이터가 사용됩니다. 바이트가 다르기 때문에 체크섬도 다릅니다.
즉,오디오 데이터그것은 동일합니다.
이 외에도 cmp
16진수 덤프를 수행하여 원시 차이점을 확인할 수도 있습니다.
예를 들어(처음 50바이트 건너뛰기, 최대 300개 유형의 16진수):
$ diff <(od -j 50 -N 300 -t x1 old.m4a) <(od -j 50 -N 300 -t x1 new.m4a)
1c1
< 0000062 00 00 dc 13 c5 4a dc 13 c5 4e 00 00 ac 44 00 71
---
> 0000062 00 00 dc fd 29 21 dc fd 29 25 00 00 ac 44 00 71
8c8
< 0000242 68 64 00 00 00 07 dc 13 c5 4a dc 13 c5 4a 00 00
---
> 0000242 68 64 00 00 00 07 dc fd 29 21 dc fd 29 21 00 00
14,15c14,15
< 0000402 00 20 6d 64 68 64 00 00 00 00 dc 13 c5 4a dc 13
< 0000422 c5 4a 00 00 ac 44 00 71 bc 00 55 c4 00 00 00 00
---
> 0000402 00 20 6d 64 68 64 00 00 00 00 dc fd 29 21 dc fd
> 0000422 29 21 00 00 ac 44 00 71 bc 00 55 c4 00 00 00 00
예를 들어:
OLD: 00 00 dc 13 c5 4a dc 13 c5 4e 00 00 ac 44 00 71
|___________||___________|
---
NEW: 00 00 dc fd 29 21 dc fd 29 25 00 00 ac 44 00 71
|___________||___________|
그런 다음 다음을 통해 날짜로 변환하십시오.
m4a는 Apple Mac OS X HFS+ 타임스탬프(1904년 1월 1일 자정 GMT 이후의 초 수)를 사용합니다.
old:
dc 13 c5 4a => 3692283210 => Thursday, December 31, 2020 18:13:30
dc 13 c5 4e => 3692283214 => Thursday, December 31, 2020 18:13:34
new:
dc fd 29 21 => 3707578657 => Saturday, June 26, 2021 18:57:37
dc fd 29 25 => 3707578661 => Saturday, June 26, 2021 18:57:41