LINUX.ORG.RU

Qt5 + QVideoWidget + FrameBuffer

 , ,


0

2

Попробовал вот это под X-ми и там всё прекрасно запускается. Попробовал то же самое под FrameBuffer и там ни шиша нет. Только трёхэтажные ругательства.

Пошерстил по интернету. И не нашёл ничего, где говорилось бы про видео под FrameBuffer из Qt.

Причём то, что не связано с видео, ну там, всякие метки, кнопочки и т.д. Всё работает нормально. А вот видео отображать Qt ни в какую не желает.

Если же просто сделать что то вроде videosrc ! autovideosink, то тогда видео есть.

Получалось ли у кого-нибудь стартануть видео из-под Qt во FrameBuffer?


Ответ на: комментарий от czan

если ничего не путаю, это переводится как Qt Window System, т.е при старте приложения с -qws стартует огрызок Xorg (более мудрые тут поправят), естественно эта поддержка должна быть собрана в toolchain, как это делается смотри qt embeded arm qt build и тому подобное, но статьи будут очень старые и все придется пилить большим напильником

Silerus ★★★★
()
Последнее исправление: Silerus (всего исправлений: 1)

Наврал, qws - это для совсем старых вещей, сейчас qpa сборка както так (учти что это нейронка, может врать):

# Типичная конфигурация для встраиваемых систем
./configure \
    -prefix /opt/qt5-embedded \
    -platform linux-g++ \
    -xplatform linux-arm-gnueabi-g++ \  # или ваша кросс-компиляция
    -release \
    -opensource \
    -confirm-license \
    -qt-zlib \
    -qt-libjpeg \
    -qt-libpng \
    -qt-freetype \
    -no-opengl \
    -no-glib \
    -no-cups \
    -no-dbus \
    -no-xcb \
    -no-eglfs \          # если не используем EGLFS
    -linuxfb \           # важно: включаем linuxfb
    -no-compile-examples \
    -nomake tests \
    -nomake examples \
    -sysroot /path/to/sysroot

make -j4
sudo make install

запуск:

# Самый простой способ
./myapp -platform linuxfb

# Через переменную окружения
export QT_QPA_PLATFORM=linuxfb
./myapp

# С дополнительными параметрами
./myapp -platform linuxfb:fb=/dev/fb0:size=800x480
Silerus ★★★★
()
Ответ на: комментарий от Silerus

Да, примерно так я и собрал Qt для поддержки FrameBuffer линуксовый. Осталось разобраться вообще существуют ли в природе Qt-программы, которые дружат с видео под FrameBuffer.

czan
() автор топика
Ответ на: комментарий от unC0Rr

зачем что-то вызывать, когда cmake . В cmake подобные способы сборки не используются. Раньше использовали qmake для сборки, но с появлением cmake все изменилось. Что до настроек, то я использую Qt Creator и там полно вариантов.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 3)
Ответ на: комментарий от nicholas_ru

Зачем ты пишешь в темы, в которых не разбираешься совсем?

Кусок кода, приведённый выше – это сценарий для сборки САМОЙ Qt, а не проектов на её основе. В кутешных проектах, да, можно использовать и qmake, и cmake по выбору. А сборка самого фреймворка – это отдельная дисциплина Специальной Олимпиады с кучей граблей (вот, например, мои: раз, два, кстати, с помощью ЛОРа проблемы успешно решил).

Да, и твои советы ТСу, какую мажорную версию Qt ему брать, тут совсем мимо кассы. Зависит от проекта и стратегии его развития. Вон, @roxton своё творение написал так, что оно работает на трёх ветках (от 4 до 6). У меня пока получается на двух, но надеюсь тоже до трёх дойти. Надо просто код писать аккуратно, а не скакать по версиям.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

не оскорбляй.Чем выше версия Qt, тем она совместимее.Переходишь на личности, без уместных доводов.И поддержка Qt 6.x осуществляется, так как 5-ая. Перенос на Qt 6.x предлагается самим сообществом.4-ая версия вообще давно не поддерживается. Пару программ я лично написал и опыт кое-какой имеется.Зачем тогда они предлагают сценарии для переноса с версии на версию, если они не имеют проблем совместимости.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 5)
Ответ на: комментарий от nicholas_ru

Констатация того, что ты не понимаешь (судя по написанному тобой), о чём идёт речь, не является ни оскорблением, ни переходом на личности.

без уместных доводов

Я тебе довод привёл, но ты его не прочитал, похоже. Ещё раз: ты понимаешь разницу между сборкой кутешных проектов и сборкой самой Qt? А если понимаешь, то к чему тут твои рассуждения про qmake vs cmake?

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)