используя python3, gtk3. Я работаю над приложением для компьютерного зрения, которому нужно манипулировать и отображать (воспроизводить) кадры из видео.Воспроизведение видео путем извлечения и манипулирования по кадре: создает новый pixbuf в каждом кадре, чтобы идти или есть более простой способ?
В настоящее время я создаю новый Pixbuf
со статическим методом new_from_data
, питаемой последовательность байтов, созданных из Numpy массива, который содержал манипулируют кадр, и у меня возникли проблемы с производительностью, например, не будучи в состоянии играть видео со скоростью 20 кадров в секунду.
Интересно: это путь для решения этой проблемы? Является ли создание нового Pixbuf для каждого кадра относительно дешевым или дорогим? Должен ли я использовать другие методы, например, используя new_from_stream
? (не знакомы с ним)
Попробуйте GStreamer? Я не знаю, сколько будет работать ваша установка ... – andlabs
Объем работы не является проблемой – fstab
Да, создание нового Pixbuf для каждого фрейма очень, очень, дорого. К сожалению, у меня нет хорошего ответа на потоковое видео на лету, потому что оно в значительной степени зависит от того, как вы генерируете фреймы, и других требований, но этот способ, конечно, не самый лучший способ. – ptomato