ffmpeg/libvorbis를 사용하여 이미지가 포함된 FLAC를 OGG로 변환하면 손상된 파일이 생성됩니다.

ffmpeg/libvorbis를 사용하여 이미지가 포함된 FLAC를 OGG로 변환하면 손상된 파일이 생성됩니다.

나는스크립트내 음악 컬렉션의 지정된 하위 집합을 추출합니다. 내 음악의 대부분은 FLAC입니다. 공간(및 지원되는 형식)이 대상 장치(스마트폰, 자동차 라디오 등)에서 문제가 될 수 있으므로 MP3로 "다운" 변환할 수도 있습니다.

나는 그것을 알아요전메타데이터가 보존되도록 FLAC를 OGG로 변환하는 방법:

ffmpeg -v quiet -y -i "${infile}" \
       -codec:a libvorbis -qscale:a 6 -map_metadata 0 \
       "${outfile}"

그러나 FLAC에 표지 이미지가 포함되어 있으면 결과 파일이 내 Android 앱에서 재생되지 않는 것으로 나타났습니다. 내가 해냈어약간의 파기;단점은 이 경우 ffmpeg가 손상된 OGG를 생성하는 것 같다는 것입니다.

이것은 버그입니까, 아니면 다른 매개변수를 선택해야 합니까?

답변1

나는 이것이 오래된 게시물이라는 것을 알고 있지만 동일한 문제가 있었을 때 발견했습니다. 여러 번 시도한 후에도 OGG로 변환할 때 FLAC 파일에 포함된 표지 아트를 저장하기 위해 ffmpeg를 얻는 방법을 여전히 찾을 수 없습니다.

드디어 해결책을 찾았어요G스트리머그리고 다른 사람들의 시간을 절약하기 위해 이것을 게시하기로 결정했습니다.

gst-launch-1.0 -v -m filesrc location='inputfilename.flac' ! decodebin ! audioconvert ! vorbisenc quality=0.6 ! oggmux ! filesink location='outputfilename.ogg'

GStreamer 솔루션은 잘 작동하고 표지 아트는 OGG 파일에 포함되어 있으며 FLAC의 재생 게인 태그는 보존되며 표지는 내 파일 관리자와 Linux 및 Android의 음악 플레이어의 썸네일에 표시됩니다.

Bash, PHP 또는 기타 스크립트에 GStreamer 명령을 쉽게 포함하여 여러 파일을 반복할 수 있습니다.

관련 정보