LINUX.ORG.RU

ffmpeg & mt (ffmpeg-mt?)


0

0

Вопрос: какие функции из библиотек ffmpeg нельзя вызывать одновременно в разных потоках? avcodec_open/avcodec_close - это видно невооруженным глазом. В xuggle есть заметка, что нельзя одновременно декодировать/кодировать (медиа) потоки в разных потоках (процесса) для одного файла. Но в моей программе в разных потоках одновременно идет работа с несколькими разными файлами. Причем когда начинаю читать фреймы из одного файла, приложение падает в вызове декодирования фрейма из другого файла (хотя я пока не совсем разобрался, возможно первый поток тоже уже начинает декодировать кадр параллельно с другим потоком) И собственно, почему ffmpeg не хочет сделать нормальной поддержки многопоточности обработки ведь есть проект ffmpeg-mt в которой пытаются решить эту загвостку? Я имею ввиду не ответы - "не нравиться - не пользуйся" или там "самый умный чтоли - мужики уже несколько лет либу пишут, все еще не сделали многопоточность - значит нельзя", "посмотри diffы из ffmpeg-mt и догадайся", а ответы типа "ffmpeg использует глобальную таблицу/структуру, которую если копировать то наступит пипец компу" или там с "таймингом проблемы возникают" и т.д.


а как ты вообще себе представляешь синхронизацию фреймов , которые жестко привязаны ко времени ?

kto_tama ★★★★★
()
Ответ на: комментарий от kto_tama

Извиняюсь, что влажу, но эта тема мне также не безразлична.

>а как ты вообще себе представляешь синхронизацию фреймов , которые жестко привязаны ко времени ?

Что вы имеете ввиду под жесткой привязкой? Timestamp кадра всегда относительный.

Dead ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.