나는스크립트내 음악 컬렉션의 지정된 하위 집합을 추출합니다. 내 음악의 대부분은 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 명령을 쉽게 포함하여 여러 파일을 반복할 수 있습니다.