Я работаю над приложениями Qt, которым нужно отображать видео с помощью GStreamer и элемента qmlglsink.
Работает нормально на ноутбуке с Ubuntu 18.04 со встроенной графикой, используя предоставленный пример, Единственным изменением в этом примере является установка «горизонтальной скорости» видеотестера c на 5.
Однако при запуске примера на ноутбуке с Ubuntu 19.04 с графикой Nvidia выходные данные начинают разрываться. Видно внизу видеотестср c. (Примечание: работает Ubuntu 19.04 на виртуальной машине, вывод в порядке)
Это становится еще более понятным при замене videotestsr c на filer c (и добавление необходимых декодеров и т. д. c). По какой-то причине часть видео становится затемненной, а проблему с разрывом еще проще увидеть.
Количество меняется в каждом кадре, на экране почти никогда не бывает одного полного кадра.
Я не совсем уверен, что я делаю что-то не так с синхронизацией между элементами, или это ошибка.
Я думаю, это может быть связано с этим и этим . Здесь они говорят об уже удаленных / перезаписывающих буферах, пока Qt все еще рисует их, что может объяснить видимые здесь артефакты.
Моя настройка:
- Ubuntu 19.04 под управлением X- Сервер
- Ноутбук Nvidia GTX1050 под управлением проприетарных драйверов версии 418
- Gstreamer и плагинов сообщение об ошибке в GStreamer, пожалуйста, дайте мне знать!