ffmpeg는 변환 중에 FRONT_COVER 이미지 메타데이터를 복사하지 않습니다.

ffmpeg는 변환 중에 FRONT_COVER 이미지 메타데이터를 복사하지 않습니다.

mp3 → mp3(또는 flac → mp3) 변환을 수행할 때 -map_metadata입력 파일에서 출력 파일로 메타데이터를 복사하는 데 사용할 수 있습니다 .

ffmpeg -hide_banner -loglevel warning -nostats -i "${source}" -map_metadata 0 -vn -ar 44100 -b:a 256k -f mp3 "${target}"

하지만 사용해 보니 모든 메타데이터가 올바르게 복사되지 않는 것을 발견했습니다. 도구를 사용하다eyeD3, 입력 및 출력 파일을 확인하고 다음을 확인했습니다.

$ eyeD3 input.mp3 
input.mp3  [ 4.15 MB ]
--------------------------------------------------------------------------------
Time: 01:46 MPEG1, Layer III    [ 320 kb/s @ 44100 Hz - Stereo ]
--------------------------------------------------------------------------------
ID3 v2.3:
title: Track title
artist: Artist Name
album: Album Name
album artist: Various Artists
composer: Composer Name
recording date: 2019
eyed3.id3:WARNING: Non standard genre name: Soundtracks
track: 17/37        genre: Soundtracks (id None)
disc: 1/1
FRONT_COVER Image: [Size: 86555 bytes] [Type: image/jpeg]
Description: 

PRIV: [Data: 42 bytes]
Owner Id: Google/StoreId
PRIV: [Data: 40 bytes]
Owner Id: Google/StoreLabelCode
--------------------------------------------------------------------------------
$ eyeD3 path/to/output.mp3 
/tmp/test.mp3                                                       [ 3.26 MB ]
--------------------------------------------------------------------------------
Time: 01:46 MPEG1, Layer III    [ 256 kb/s @ 44100 Hz - Stereo ]
--------------------------------------------------------------------------------
ID3 v2.4:
title: Track title
artist: Artist Name
album: Album Name
album artist: Various Artists
composer: Composer Name
recording date: 2019
eyed3.id3:WARNING: Non standard genre name: Soundtracks
track: 17/37        genre: Soundtracks (id None)
disc: 1/1
PRIV: [Data: 40 bytes]
Owner Id: Google/StoreLabelCode
PRIV: [Data: 42 bytes]
Owner Id: Google/StoreId
--------------------------------------------------------------------------------

특히, 이미지를 올바르게 복사하지 못합니다 FRONT_COVER. 어떻게든 도중에 이미지가 삭제됩니다.

FRONT_COVER Image변환 중에 복사되었는지 확인하는 방법은 무엇입니까 ?

답변1

표지는 특수 구성의 비디오 스트림으로 처리됩니다. 를 사용하면 -vn처리가 비활성화됩니다.

사용 ffmpeg -hide_banner -loglevel warning -nostats -i "${source}" -map_metadata 0 -c:v copy -disposition:v:0 attached_pic -ar 44100 -b:a 256k -f mp3 "${target}"

관련 정보