2013-12-17 6 views
3

Я хочу декодировать интернет-аудиопоток, но я не хочу записывать данные на диск, поэтому данные находятся только в памяти.FFmpeg avformat_open_input с файлом, находящимся в памяти

Но когда я хочу декодировать данные в raw-data, я должен инициализировать формат-контекст, поэтому мне нужно использовать avformat_open_input. Но для этой функции требуется подробное расположение файла.

У кого-нибудь есть решение, как я могу получить данные, хранящиеся в памяти, в формате-контексте, чтобы декодировать эти данные в необработанные данные?

ответ

1

Вам не нужен файл, просто используйте URL-адрес интернет-аудиоисточника для открытия. например:

AVFormatContext *ic = avformat_alloc_context(); 
err = avformat_open_input(&ic, "rtmp://www.something.com/a.mp4", NULL, NULL);