gstreamer и Qt с nvidia на ARM

Я кросс-скомпилировал Qt 5.5.1 для своей платы ARM и пытался воспроизводить видео файлы, используя gstreamer и Qt. У меня есть следующий конвейер на gstreamer, который работает нормально.

gst-launch-1.0 filesrc location=tracked.mp4 !
qtdemux name=demux demux.video_0! queue ! h264parse ! omxh264dec !
nveglglesink -e

Теперь я пытаюсь воспроизвести то же видео с примерами видеоплеера, поставляемого с qt multimedia, и получаю видео, которое отображается в оттенках серого, но воспроизводится 4 раза по экранам. Я не уверен, почему, но у моей платы ARM есть 4 процессора. Смотрите прикрепленный скриншот.

введите описание изображения здесь

Кто-нибудь сталкивался с этой проблемой и, возможно, имеет представление о том, как успешно запустить такие конвейеры gstreamer с Qt?

0

Решение

Образец Qt обычно используют decodebin или же playbin играть в видео.
Так что это не является нормой для того, чтобы Qt воспроизводил видео по-другому с вашим конвейером.
Попробуйте воспроизвести это видео в GStreamer с decodebin или же playbinи проверьте, происходит ли такое же явление.

Еще один момент, который вы используете nveglglesink для конвейера, но Qt всегда использует свой собственный элемент приемника (qtvideorendersink или что-то).
Существует вероятность того, что ваш декодированный формат плохо обрабатывается приемником qt.
(«Серые и повторяющиеся изображения» явление обычно происходит, потому что элемент приемника неправильно обрабатывает формат).
Если это так, преобразуйте в другой формат, прежде чем отправка в приемник Qt может решить эту проблему.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]