M4A 원자를 파일에 삽입하는 데 문제가 있습니다. 원본 파일에는 udta 구조가 없으므로 기존 M4A 파일을 사용하여 추가했습니다. 기존 M4A 파일을 가이드로 사용하여 추가했습니다. udta 원자 M4A 태깅 문제
- : 여기 내가 원자를 추가하기 위해 무슨 짓을했는지 첫 번째 trak 원자 끝까지
- 내 udta 원자 삽입
- 평소대로 나머지를 복사하십시오.
원래 파일과 태그가있는 파일의 유일한 차이점은 mdat 아톰이 태그를 수용하기 위해 약간 아래로 이동했기 때문입니다. 이것은 다른 원자들에서 그 위치에 대한 어떤 언급이 있다고 믿게하지만, 나는 그것을 발견 할 수 없다.
원본 파일 :
Atom ftyp @ 0 of size: 36, ends @ 36
Atom moov @ 36 of size: 30156, ends @ 30192
Atom mvhd @ 44 of size: 108, ends @ 152
Atom iods @ 152 of size: 33, ends @ 185
Atom trak @ 185 of size: 30007, ends @ 30192
Atom tkhd @ 193 of size: 92, ends @ 285
Atom mdia @ 285 of size: 29907, ends @ 30192
Atom mdhd @ 293 of size: 32, ends @ 325
Atom hdlr @ 325 of size: 37, ends @ 362
Atom minf @ 362 of size: 29830, ends @ 30192
Atom smhd @ 370 of size: 16, ends @ 386
Atom dinf @ 386 of size: 36, ends @ 422
Atom dref @ 394 of size: 28, ends @ 422
Atom stbl @ 422 of size: 29770, ends @ 30192
Atom stts @ 430 of size: 24, ends @ 454
Atom stsd @ 454 of size: 106, ends @ 560
Atom mp4a @ 470 of size: 90, ends @ 560
Atom esds @ 506 of size: 54, ends @ 560
Atom stsz @ 560 of size: 26888, ends @ 27448
Atom stsc @ 27448 of size: 40, ends @ 27488
Atom stco @ 27488 of size: 2704, ends @ 30192
Atom mdat @ 30192 of size: 2495503, ends @ 2525695
수정 된 파일 :
이Atom ftyp @ 0 of size: 36, ends @ 36
Atom moov @ 36 of size: 30323, ends @ 30359
Atom mvhd @ 44 of size: 108, ends @ 152
Atom iods @ 152 of size: 33, ends @ 185
Atom trak @ 185 of size: 30007, ends @ 30192
Atom tkhd @ 193 of size: 92, ends @ 285
Atom mdia @ 285 of size: 29907, ends @ 30192
Atom mdhd @ 293 of size: 32, ends @ 325
Atom hdlr @ 325 of size: 37, ends @ 362
Atom minf @ 362 of size: 29830, ends @ 30192
Atom smhd @ 370 of size: 16, ends @ 386
Atom dinf @ 386 of size: 36, ends @ 422
Atom dref @ 394 of size: 28, ends @ 422
Atom stbl @ 422 of size: 29770, ends @ 30192
Atom stts @ 430 of size: 24, ends @ 454
Atom stsd @ 454 of size: 106, ends @ 560
Atom mp4a @ 470 of size: 90, ends @ 560
Atom esds @ 506 of size: 54, ends @ 560
Atom stsz @ 560 of size: 26888, ends @ 27448
Atom stsc @ 27448 of size: 40, ends @ 27488
Atom stco @ 27488 of size: 2704, ends @ 30192
Atom udta @ 30192 of size: 167, ends @ 30359
Atom meta @ 30200 of size: 159, ends @ 30359
Atom ilst @ 30212 of size: 147, ends @ 30359
Atom ©ART @ 30220 of size: 35, ends @ 30255
Atom data @ 30228 of size: 27, ends @ 30255
Atom ©nam @ 30255 of size: 63, ends @ 30318
Atom data @ 30263 of size: 55, ends @ 30318
Atom ©alb @ 30318 of size: 41, ends @ 30359
Atom data @ 30326 of size: 33, ends @ 30359
Atom mdat @ 30359 of size: 2495503, ends @ 2525862
노트의 또 다른 한가지는 태그 파일이 내가 참고 자료로 사용하고 있는지 여기
는 AtomicParsley의 출력입니다 udta-> meta 아래에 hdlr 아톰이 있지만이 태그의 사본을 추가해도 도움이되지 않습니다. udta 원자와 moov의 크기 데이터를 수동으로 제거하면 파일이 다시 작동합니다. 나는 태그 파일을 재생하려고하면, 나는 다양한 프로그램에서 이러한 오류를 얻을 :
mplayer:
[aac @ 0x204d720] channel element 0.0 is not allocated
[aac @ 0x204d720] channel element 0.0 is not allocated
[aac @ 0x204d720] channel element 3.13 is not allocated
[aac @ 0x204d720] channel element 2.14 is not allocated
[aac @ 0x204d720] channel element 2.9 is not allocated
[aac @ 0x204d720] Prediction is not allowed in AAC-LC.
[aac @ 0x204d720] channel element 3.1 is not allocated
[aac @ 0x204d720] channel element 0.3 is not allocated
....
totem:
** Message: Error: Could not decode stream.
gstfaad.c(1319): gst_faad_chain(): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstFaad:faad0:
decoding error: Bitstream value not allowed by specification
banshee:
[Error 08:26:27.610] GStreamer stream error: Decode
[Error 08:26:27.960] GStreamer stream error: Decode
[Error 08:26:28.252] GStreamer resource error: NotFound
오, MP3의 이외의 파일에 ID3 태그를 인식 프로그램의 다른 99 %를하고자하는 방법 ...
그래, 그 매력처럼 작동! –