Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / GStreamer + Qt

GStreamer + Qt

Advanced: Тема повышенной сложности или важная.
iLya84aПостоялецwww29 авг. 201814:25#0
Здравствуйте!
Задача у меня простая - рендерить видео от камеры Basler в QOpenGLWidget.
Т.к. в перспективе планируется усложнение функционала (в том числе совершенно разные источники данных), решил не изобретать велосипед и взял GStreamer.
Разобрался с SDK камеры и успешно воткнул её в пайплайн GStreamer - видео рендерится в отдельном окне, которое менеджит сам GStreamer. Научился даже перехватывать отрисовку в этом окне.
Теперь пытаюсь скрестить это всё с Qt. Начинают сыпаться не слишком информативные ошибки:
GLib-CRITICAL **: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed
ERROR:gstglbufferpool.c:131:gst_gl_buffer_pool_set_config: assertion failed: (priv->allocator)
и всё вылетает.
Кому-нибудь удалось подружить GStreamer и Qt (пока только на Windows)? Хотя бы просто рендерить видео-файл (videotestsrc) в QOpenGLWidget/QOGLWidget

animertПостоялецwww29 авг. 201816:58#1
Есть qt-gstreamer на github, хотя давно не обновлялся
iLya84aПостоялецwww29 авг. 201817:28#2
animert
> хотя давно не обновлялся
Совершенно верно:
The QtGStreamer C++ bindings are very out of date and unmaintained.
Один разу уже садился за исходники. Сейчас попробую второй раз. Спасибо!

Даже, если эта тема превратится в мой монолог, я буду продолжать постить о прогрессе. Потом кому-нибудь пригодится.

Правка: 29 авг. 2018 17:36

iLya84aПостоялецwww4 дек. 201822:28#3
Сделал. Материала уже на целую статью. Если кому-нибудь это будет интересно, скажите.
MAMOHT-92Постоялецwww5 дек. 20180:29#4
iLya84a
если были какие-то проблемы, и ты их решил, то конечно поделись.
Ghost2Постоялецwww5 дек. 20183:31#5
Это все вместе с кодом гуглится по запросу phonon gstreamer backend.
На винде же лучше эту каку вообще не использовать.
™­•-=MASTER=-•™Пользовательwww6 дек. 20189:36#6
Ghost2
> На винде же лучше эту каку вообще не использовать.
Что лучше использовать под виндой для стрима потокового видео (покадрово)? Точнее нужно стримить видео с андройда на винду и винде его уже обрабатывать.. Если что-то готовое самому кадры складывать в буфер на определённой длинны, потом его жать каким-то MPEG-ом, потом отправлять и пока отправляется - жать следующую партию? А что на счёт MJPEG?
Ghost2Постоялецwww6 дек. 201816:26#7
™­•-=MASTER=-•™

Можно ffmpeg, если хочется попроще. Можно DirectShow.

pahaaПостоялецwww7 дек. 20181:34#8
QMediaRecorder + QVideoProbe не?
там довольно много по этой теме: http://doc.qt.io/qt-5/videooverview.html

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр