2016-11-25 4 views
0

Я встретил очень странное явление в декодировании mp3 в pcm данные в ios pad. Я протестировал код на окнах 10, он работает правильно. Однако, с тем же mp3-файлом и тем же кодом, который запускается на панели ios, данные pcm становятся полным белым шумом.mp3 decode error with ffmpeg in ios

Я сравниваю входные сжатые данные (mp3) и декодированные данные в памяти обеих систем. входные данные все-таки (без кадра молчания), но декодированные данные совершенно разные.

так, я могу сказать, что есть ошибка в FFmpeg на платформах IOS для декодирования audio.the версии я использовал ffmpeg2.6

кто отвечают одно и то же?

+0

любой, кто встречает ту же проблему? – LL2012

ответ

0

Я не сталкивался с теми проблемами, которые вы описали еще из 2.0.4, вплоть до 3.2 из ffmpeg.

декодированного аудио в AVFrame определяется с помощью:

AVFrame 
    uint8_t* data[8]   pointer to audio samples 
           Stereo S16P will use planar data not interleaved audio 
    int   linesize[8]  length of each line 
    int   nb_samples 
    int   format   enum AVSampleFormat 
    int   sample_rate  44100, 48000, etc 
    int   channels  number of audio channels 

Подробнее здесь: https://www.ffmpeg.org/doxygen/3.0/structAVFrame.html

без какой-либо информации от себя (то есть свой собственный код образца) это трудно сказать, почему вы получаете белый шум ,

+0

Привет, спасибо, что ответили. Я дважды проверяю эту проблему на ios. есть библиотека третьей части, также называемая ffmpeg внутри. Таким образом, вызов во время выполнения получает хаос. две версии ffmpeg, запущенные на одной системе. Так возникают различные проблемы. – LL2012

+0

Похоже, что проблема ffmpeg-2.6.3 возникает постоянно, так как я удаляю другие библиотеки, которые могут вызвать хаос. Хорошо, мой сценарий очень прост. одноканальный, 16 бит, частота дискретизации 32000 mp3. нет необходимости перепродавать. Обычно декодирование осуществляется путем вызова avcodec_decode_audio4. однако выход не является правильным pcm по сравнению с одним на окнах. – LL2012

+0

Возможно, это хорошая идея, чтобы перестроить библиотеки ffmpeg, используя другую версию. Надеюсь, вам удастся это исправить. – WLGfx