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