Дамп / загрузка метаданных с FFmpeg (WMA в MP3)

4375
Jan Suvak

Мне нужно конвертировать метаданные WMA в теги MP3 ID3. FFmpeg должен иметь возможность выгружать их в файл и загружать их обратно в другой, используя встроенные средства отображения. Я не могу найти синтаксис использования, хотя:

http://ffmpeg.org/ffmpeg.html#Metadata

Я не могу конвертировать файлы, используя FFmpeg напрямую, потому что он не работает на 1% из них, что важно для тысяч файлов. Некоторые ошибки:

ff asf bad header 0 at:264993 [asf @ 0046DA60] ff asf skip 2252 (unknown stream) [asf @ 0046DA60] ff asf bad header 0 at:267254 [mp3 @ 0003DA60] max_analyze_duration 5000000 reached at 5015510 Truncating packet of size 1024 to 563 [mp3 @ 0171b0c0] Header missing get_buffer() failed Error while decoding stream #0:0 

Я мог конвертировать их, используя Mplayer, в WAV, а затем из WAV в MP3, используя LAME, но потеряв при этом метаданные.

Я еще не определился с обходным решением, но я не буду использовать mplayer и останусь с ffmpeg. Я проанализировал / отобразил волну файлов в Audacity, и мне кажется, что я имею дело с 3 видами ошибок:

  1. Ошибка get_buffer () Ошибка при декодировании потока № 0: 0 [98% ошибок]:
    • кажется, вызвано окончанием файла "усеченного затухания" или отсутствующим кадром
    • это не для прослушивания и mp3-файл, кажется, в порядке
  2. ff asf skip, bad header, truncating, .. [только 2% ошибок]:
    • файл сломан каким-то образом, не всегда для прослушивания
    • Лишь немногие из них содержат микро-разрыв трещины
  3. max_analyze_duration достигнуто, заголовок отсутствует [только предупреждения]:
    • очень редко, может быть вызвано неправильным концом или большим заголовком (с включенной фотографией и т. д.)
    • файл результатов хорош для прослушивания

Mplayer использует ffmpeg и кажется, что он просто игнорирует ошибки. Я, вероятно, буду игнорировать ошибку get_buffer (), оставляя при этом ошибки других.

4
Какая операционная система? Какую именно команду FFmpeg вы используете? Пожалуйста, скопируйте полный вывод консоли. slhck 12 лет назад 0
Пожалуйста, не сосредотачивайтесь на перечисленных ошибках. Мне нужно знать пример командной строки для: FFmpeg может выгружать метаданные из медиа-файлов в простой INI-подобный текстовый файл в кодировке UTF-8, а затем загружать его обратно, используя muxer / demuxer метаданных. fyi: Windows 7 x64: ffmpeg-git-1d0ae92-win32-shared ffmpeg-git-1d0ae92-win64-shared ffmpeg-git-1d0ae92-win32-static ffmpeg-git-1d0ae92-win64-static Не удалось выполнить версию x64 для некоторых ffmpeg файлы вообще: ffmpeg.exe перестал работать диалоговое окно Windows ... Итак, я не могу использовать ffmpeg для конвертации, я хотел бы использовать его только для переноса тегов (wma в теги id3). Jan Suvak 12 лет назад 0
Я не знаю команду из головы, но почему вы не хотите исправить первоначальную проблему? :) Я предполагаю, что это последняя версия (~ декабрь) FFmpeg, хотя? slhck 12 лет назад 0
Я попробовал также некоторую старую версию от 30.11.2010 04:07:03 ... Что прекрасно работает, так это mplayer для wav, а затем хромает для mp3 ... Я не настаиваю на ffmpeg, я только что натолкнулся: http: / /www.mp3tag.de/en/, который имеет интерфейс командной строки, я узнаю больше позже ... Jan Suvak 12 лет назад 0
Кстати, http://www.mediacoderhq.com/ делает то же самое: mplayer и lame. Они просто отображают метаданные самостоятельно. Я могу использовать MS .NET для этой работы, но я все еще надеюсь, что для этого уже есть несколько бесплатных программ ... Jan Suvak 12 лет назад 0
Я думаю, мне придется получить теги от ffprobe как json (если я хорошо помню, и поддерживается json), а затем выбрать некоторые и установить параметры для lame. Я получу лучший контроль над тэгами, такими как BPM, Track / Album Gain и т. Д. Jan Suvak 12 лет назад 0
Похоже, хороший план - не уверен, смогу ли я помочь вам здесь на самом деле. Вы также можете проверить [mediainfo] (http://mediainfo.sourceforge.net/en). Он имеет интерфейс командной строки. slhck 12 лет назад 0
mp3-тег может быть полезен по-другому - вы можете сбросить его в папки по тегу и использовать его для повторной пометки Journeyman Geek 12 лет назад 0

1 ответ на вопрос

3
iphonedroid

Вы можете сбросить метаданные с помощью:

ffmpeg -i in.mov -f ffmetadata metadata.txt 

Вы можете импортировать метаданные с чем-то вроде (никогда не пробовал это):

ffmpeg -i in.mov -i metadata.txt -map_metadata 1 -c:a copy -id3v2_version 3 

Источник: http://jonhall.info/how_to/create_id3_tags_using_ffmpeg

Вы, вероятно, должны использовать `-f ​​ffmetadata -i metadata.txt` evilsoup 11 лет назад 0

Похожие вопросы