qml — Воспроизведение видео RTSP с библиотекой Qt VLC в переполнении стека

Я пытаюсь подключить VlcVideoPlayer из библиотеки VLCQt на любое видео, передаваемое с URL с протокол ртс.

В настоящее время это мой код:

import QtQuick 2.0
import VLCQt 1.0
VlcVideoPlayer {
property var first: true
id: vidwidget
anchors.fill: parent
objectName: "vlcMediaPlayer"url: "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov" // "http://samples.mplayerhq.hu/A-codecs/AAC/ct_faac.mp4"volume: 100
aspectRatio: "16:10"autoplay: true
}

Работает с https: // , но когда я пытаюсь изменить его на ИУП: //, моя консоль только распечатывает

QML debugging is enabled. Only use this in a safe environment.
VLC-Qt "1.1.0" initialised
Using libvlc version: "2.2.2 Weatherwax"Format: chroma: I420 width: 240 height: 162 pitches: 0 lines: 0
YV12 3 0
libvlc Error: "Track identifier not found"libvlc: Failed to change zoom
libvlc: Failed to set on top
libvlc: Failed to change source AR

и ничего не происходит — видео не появляется.

Когда я пытался показать текущее время видео с console.log(time)Время менялось, поэтому я думаю, что оно воспроизводит видео, но оно не отображается.

Кто-нибудь имеет опыт работы с этим? Где я делаю ошибку?

Спасибо за вашу помощь!

//Редактировать:

Сначала я не заметил, но получаю аудио, а не видео.

0

Решение

Итак, я решил это после некоторого поиска на эта страница, Я нашел что-то вроде VlcQmlPlayer, функции почти такие же, как в VlcQmlVideoPlayer, за исключением того, что он более новый и его источник является подклассом VlcQmlVideoOutput, Поэтому я зарегистрировал несколько типов для QML:

qmlRegisterUncreatableType<Vlc>("Vlc", 1, 1, "Vlc", QStringLiteral("Vlc cannot be instantiated directly"));
qmlRegisterUncreatableType<VlcQmlSource>("VlcSource", 1, 1, "VlcSource", QStringLiteral("VlcQmlSource cannot be instantiated directly"));
qmlRegisterUncreatableType<VlcTrackModel>("VlcTrackModel", 1, 1, "VlcTrackModel", QStringLiteral("VlcTrackModel cannot be instantiated directly"));
qmlRegisterType<VlcQmlVideoOutput>("VlcVideoOutput", 1, 1, "VlcVideoOutput");
qmlRegisterType<VlcQmlPlayer>("VlcPlayer", 1, 1, "VlcPlayer");

и после этого я использовал его в QML, как это

import VlcPlayer 1.1
import Vlc 1.1
import VlcVideoOutput 1.1

VlcVideoOutput {
source:
VlcPlayer {
id: vlcPlayer
url: "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov"}
}
0

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

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

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