질문
2개의 파일이 있습니다.
audio.opus
(연장도 가능합니다.opus.ogg
:)cover.jpg
.
이것을 삽입된 "표지" 이미지로 어떻게 ffmpeg
넣을 수 있나요 ?cover.jpg
audio.opus
제한
- 오디오를 다시 인코딩하고 싶지 않습니다(불행히도
opusenc --picture
범위를 벗어난 것 같습니다). - 이미지(jpeg)를 다시 인코딩하고 싶지는 않지만 큰 문제는 아니지만,
- 이미지를 동영상으로 변환하고 싶지 않아요(!)
ffmpeg
저는 이 작업을 수행하기 위해 다른 도구 대신 사용하는 것을 선호합니다 .- 나는 mp3를 듣고 싶지 않아요.
예상되는 결과
올바르게 완료되면 다음과 같아야 합니다.
$ opusinfo audio_with_cover.opus
Processing file "audio_with_cover.opus"...
New logical stream (#1, serial: 39a74bbb): type opus
Encoded with libopus 1.3.1
User comments section follows...
ENCODER=opusenc from opus-tools 0.1.10
METADATA_BLOCK_PICTURE=3|image/jpeg||1280x720x24|<45952 bytes of image data>
ENCODER_OPTIONS=--bitrate 56
Opus stream 1:
Pre-skip: 312
[...]
또는 다음에서 ffprobe
:
$ ffprobe audio_with_cover.opus
[ogg @ 0x55675650ca80] 761 bytes of comment header remain
Input #0, ogg, from 'audio_with_cover.opus':
Duration: 00:02:25.64, start: 0.000000, bitrate: 71 kb/s
Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp
Metadata:
ENCODER : opusenc from opus-tools 0.1.10
ENCODER_OPTIONS : --bitrate 56
Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x720, 90k tbr, 90k tbn (attached pic)
Metadata:
comment : Cover (front)
불가능한?
이것이 불가능하다는 것을 아시는 경우 알려주시면 에 기능 요청을 개설하겠습니다 ffmpeg
.
답변1
간단하게 작동하는 솔루션을 찾을 수 없어서 사용하기 쉬운 opus 태그 편집기를 사용 ffmpeg
했습니다 . opustags
배포판 opustags
이나 sudo apt install opustags
이와 유사한 것에 설치됩니다.
표지 아트를 추가하려면 명령을 사용하여 opustags --set-cover cover.jpg audio.opus -i
opus 파일에 표지 아트를 빠르게 추가합니다.
빠른 보너스로 Extract Cover Art를 사용할 수 있습니다 opustags --output-cover cover.jpg audio.opus
.
두 번째 해결책
내가 작업 솔루션이라고 말할 때 ffmpeg
JPEG 파일을 다시 인코딩하지 않는다는 뜻이지만 그다지 신경 쓰지 않아도 됩니다. ffmpeg
이미지를 다시 인코딩하지만 OPUS 파일은 유지하는 솔루션을 찾았습니다 . 이미지를 다시 인코딩할 때의 단점은 표지 아트의 품질이 극도로 압축된다는 것입니다. JPEG 이미지의 품질을 향상시킬 수 있는 방법을 찾을 수 없습니다. 명령은 다음과 같습니다 ffmpeg -i audio.ogg -i cover.jpg -c:a copy -disposition attached_pic audio_1.ogg
.
두 번째 솔루션 편집
솔루션에 대해 더 높은 품질의 썸네일을 만들려면 ffmpeg
Theora 파일로 변환된 이미지의 CRF를 2로 설정하고 를 사용할 수 있습니다 ffmpeg -i audio.ogg -i cover.jpg -c:a copy -q:v 2 -disposition attached_pic audio_1.ogg
. Theora 파일은 손실이 있으므로 이 명령을 사용할 때 썸네일은 항상 원본 파일과 동일합니다. .
답변2
-metadata:s:a METADATA_BLOCK_PICTURE=...
다음을 사용하여 이미지 데이터를 수동으로 추가 할 수 있습니다 .Xiph Vorbis 주석 구조.
먼저 일치하는 헤더 블록(이미지 크기 등이 동일하게 유지되는 경우 재사용 가능)을 생성한 다음 이를 Base64로 인코딩된 이미지 데이터와 연결해야 합니다.
자세한 내용은 다음을 참조하세요.https://superuser.com/a/1816195/1860118