Estando em um servidor Ubuntu 10.04 eu instalei os pacotes ffmpeg com o apt. O ffmpeg está trabalhando depois e fazendo como deveria. Quase.
Para fins de teste, enviei alguns audiofiles. Um deles, um arquivo aif, não está sendo interpretado corretamente. Enquanto no meu cavalo de batalha (Mac SnowLeopard) ffmpeg diz o formato como
Stream #0.0: Audio: pcm_s24be, 44100 Hz, 2 channels, s32, 2116 kb/s
meu servidor Ubuntu diz que é:
Stream #0.0: Audio: pcm_s24be, 44100 Hz, stereo, s16, 2116 kb/s
qual é o bitdepth errado. O Ubuntu não consegue converter o arquivo com a mensagem de erro
[pcm_s24be @ 0xcd4b580]invalid PCM packet
Error while decoding stream #0.0
o que certamente não é verdade. O arquivo é perfeitamente válido.
Existe algum problema conhecido para o ffmpeg interpretar o formato aif? Como posso descobrir qual versão do ffmpeg aif-codec está usando? Alguma idéia de como abordar essa questão?
saída ffprobe:
FFprobe version SVN-r20090707, Copyright (c) 2007-2009 Stefano Sabatini
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
built on Jan 20 2010 00:13:01, gcc: 4.4.3 20100116 (prerelease)
Input #0, aiff, from 'testfile.aif':
Duration: 00:00:04.00, start: 0.000000, bitrate: 2117 kb/s
Stream #0.0: Audio: pcm_s24be, 44100 Hz, stereo, s16, 2116 kb/s
atualização 2:
Forçar a conversão com -sample_fmt s32 não muda nada.
A coisa mais estranha é: mesmo sem usar o -sample_fmt s32 eu acabei de perceber que a conversão está funcionando e cria audiofiles válidos. Existe apenas a mensagem de erro acima.