Como o ffmpeg mapeia os metadados?

2

Eu tenho minha biblioteca de músicas na minha máquina no formato flac e ogg. No entanto, para poder ouvir a música no carro, eu converto os arquivos flac / ogg para mp3 usando ffmpeg . Há alguns problemas que não entendo como corrigir:

  1. ffmpeg parece ler automaticamente as tags dos arquivos ogg / flac e convertê-las em tags mp3. Para um arquivo flac, tudo que eu preciso fazer é ffmpeg -i input.flac output.mp3 e isso é feito. Para um arquivo ogg, eu preciso de um parâmetro de linha de comando adicional: ffmpeg -i input.ogg -map_metadata 0:s:0 output.mp3 . Agora, o problema é que quando eu tenho várias tags sob a mesma chave, por exemplo, várias ARTIST= tags ffmpeg as mescla como uma única tag TPE1 no arquivo mp3 (o que é muito útil), mas coloca uma única ; entre dois valores. Por exemplo, se o arquivo ogg / flac tiver duas tags de artista como ARTIST=Artist One e ARTIST=Artist Two , o arquivo mp3 terá um TPE1 , que é lido como Artist One;Artist Two , que é um pouco conectado. Eu queria saber como eu posso dizer a ffmpeg para usar outro delimitador para unir dois campos, por exemplo, ; (para que a tag TPE1 resultante acima leia Artist One; Artist Two )?
  2. Eu inseri as imagens da capa dos álbuns nos arquivos flac / ogg. Isso é feito com precisão usando a opção --import-picture-from de metaflac para arquivos flac e definindo COVERART tag igual à saída de base64 --wrap=0 cover_image para os arquivos ogg. Agora, na conversão para mp3 usando ffmpeg como explicado acima, tudo funciona bem com flac e a imagem da capa também é incorporada automaticamente no arquivo de saída, mas para arquivos ogg, o mp3 resultante não terá a imagem. Estou fazendo algo errado?
por PBM 02.12.2015 / 14:32

0 respostas