Wie kann ich mit ffmpeg coverart von flac nach opus kopieren?

1059
Tupsi

Ich versuche, einige Flac-Dateien zu konvertieren, die alle Coverart in opus mit ffmpeg eingebettet haben. Bis auf die Coverart wird alles gut kopiert, aber ich kann auch nicht das Cover verschieben. Ich habe alle Arten von -mapmetadata-Sachen ausprobiert, die ich bisher finden konnte, aber kein Glück, das Ergebnis fehlt immer der Coverart.

Während das Original .flac berichtet, hat es einen Videostream mit der Coverart

Duration: 00:02:53.51, start: 0.000000, bitrate: 910 kb/s Stream #0:0: Audio: flac, 44100 Hz, stereo, s16 Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc 

Die erstellten Opus-Dateien haben keine Grafiken:

size= 2815kB time=00:02:53.51 bitrate= 132.9kbits/s speed= 104x video:0kB audio:2793kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.811556% 

Ich habe versucht -vcodec copy, -mapmetadata 0, -mapmetadata 0: s: 0 bisher ohne Glück. Hat scheinbar nichts mit opus zu tun, da ich das gleiche Problem habe, wenn ich in aac konvertiere.

Gibt es eine Möglichkeit, das Cover aus der flac-Datei zu holen und mit ffmpeg in die neue Datei zu verschieben, oder muss ich es zuerst extrahieren und es dann mit zusätzlichen Befehlen wieder in die neue Datei kleben ?

6
Haben Sie es mit `-map 0` * und *` -vcodec copy` versucht? Das Bild wird als regulärer Stream und nicht als Metadaten registriert. Gyan vor 7 Jahren 0
Ich habe bereits -vcodec kopiert, wie oben erwähnt. -map 0 gibt mir einen Fehler, Tupsi vor 7 Jahren 0

2 Antworten auf die Frage

2
Gyan

Diese Funktion zum Hinzufügen von Cover-Grafiken zu Opus- oder Ogg-Dateien ist noch nicht in ffmpeg implementiert. Bestehendes Ticket .

also würde ich zuerst das cover in eine datei ablegen (mit ffmpeg?), es in opus konvertieren und dann das cover wieder mit einem anderen programm in die opus-datei nähen? Tupsi vor 7 Jahren 0
ja ok, es ist einfach, ich habe gerade Opusenc gefunden und es tut mir gut, was ich brauche. Trotzdem danke für die Hinweise! Tupsi vor 7 Jahren 0
1
user935687

ffmpeg bewahrt die Coverart nicht für Opus-Outfile auf, sondern für Flac-Outfile.

behelfsmäßig:

$ ffmpeg -i 01.mp3 -f flac - | opusenc - 01.opus