Привет!
В общем дело такое: с помощью ffmpeg тяну видео со звуком, звук в формате AAC.
У первого готового аудио фрейма полученного с помощью avcodec_decode_audio4 первые 4096 байт - нули, дальше что-то ненулевое идет:
[4096] 0x0d '' unsigned char [4097] 0xf0 'р' unsigned char [4098] 0xad '' unsigned char [4099] 0xba 'є' unsigned char
Причем эти 4 значения заполняют всю остальную часть фрейма, оставшиеся 4096 байт...
Я так думал, что начинаться должно с ADTS, но первые ненулевые байты на него совсем непохожи...
Пытаюсь проиграть это видео
Помогите разобраться, что я делаю не так.
Заранее спасибо!
Paltr
avcodec_decode_audio4 выдает готовые аудиосэмплы в формате декодировщика. В AAC по моему фрейм 1024 float сэмпла, как раз твой моно буфер.
[4096] 0x0d '' unsigned char [4097] 0xf0 'р' unsigned char [4098] 0xad '' unsigned char [4099] 0xba 'є' unsigned char
0xbaadf00d - это гуглится, очень полезная инфа.
Ghost2
Ну просто получается, что первый фрейм - нули, второй, как заметил Wraith, baadf00d... При этом пример работы ffmpegа такие же значения выдает...
Wraith
Спасибо, я и не заметил сразу. Просто не понятно, с чем оно так - сейчас нормально погуглить нет возможности - с телефона пишу...
Paltr
Я вообще не знаю как в ffmpeg декодер AAC (они обычно стабильнее), но энкодер там глючный и считается экспериментальным даже в самой крайней версии. Может пол часа работать, а потом упасть при индексации какой-то таблицы минус единицей. Попробуй выхлоп av_read_frame скормить какой нибудь libfaad.
Если badfood прет, то может просто неправильно декодируешь. Покажи код.
PS. Вообще, если есть сомнения на счет правильности работы ffmpeg, можно сначала за юзать саму утилиту ffmpeg. Выкорчевать, например, из видео файла только звук и посмотреть, все ли он верно разжал. Ну или просто ffplay.
Ghost2
> Если badfood прет, то может просто неправильно декодируешь. Покажи код.
Да не - все правильно, я пробовал с другими реализациями на ffmpeg'е это видео проигрывать - там мусор тот же. Видимо буду acm декодеру поток скармливать, а под ios и прочими - Queue System'ам и прочим.
Спасибо большое за желание помочь!
ни у кого не наблюдался рассинхрон видео и звука при использовании AAC?