无法在QML中播放视频

时间:2017-05-18 10:55:26

标签: qt qml

我正在使用Qt 5.8在ubuntu 14.04上工作,并尝试使用Qt多媒体模块在我的应用程序中播放视频。我把" QT + =快速多媒体" in" .pro"。

ContentVideo.qml

import QtQuick 2.1
import QtMultimedia 5.0

Rectangle {
    width: 400
    height: 400
    color:"black"

    MediaPlayer {
        id: mediaPlayer
        autoPlay: true
        autoLoad: true
        source:"/home/macos/Desktop/FroggerHighway.mp4"
    }

    VideoOutput {
        id:videoOutput
        source:mediaPlayer
        anchors.fill: parent
    }
}

main.qml

import QtQuick 2.1
import QtQuick.Window 2.1

Window {
    id: root
    color: "black"
    width: 400
    height: 400
    visible: true
    ContentVideo {
        anchors.fill: parent
    }
}

我的视频没有运行,我的黑屏没有任何错误。 QT QML EXAMPLES视频正在我的电脑上运行。任何帮助将不胜感激,谢谢。

6 个答案:

答案 0 :(得分:1)

MediaPlayer.source是一个URI,我认为您指定的值不是有效的URI。尝试在mp4文件的路径前添加“file://”。

答案 1 :(得分:1)

我刚刚遇到了与你相同的问题,似乎QtMultimedia将在运行时从系统中的gstreamer中寻找解码器,所以我安装了视频编解码器包:

sudo apt-get install gstreamer1.0-libav gstreamer1.0-vaapi

然后qml视频播放器现在正常工作

答案 2 :(得分:0)

如果QML视频示例在没有任何问题的情况下正常运行,则可能是由于缺少编码您视频的编解码器而导致的问题。检查您是否拥有全部Multimedia Dependencies。我猜测所提供的视频样本是以开放格式编码的,默认情况下由您的发行版提供支持。

答案 3 :(得分:0)

.mp4不适用于qtMediaplayer!试试QT-VLC

答案 4 :(得分:0)

QT+= multimedia添加到您的.pro文件中。

答案 5 :(得分:0)

我在Arch和Debian上也遇到了同样的问题。安装以下软件包后,一切正常。

ARCH:

  • extra / gstreamer
  • aur / gstreamer0.10
  • extra / gst-plugins-base-libs
  • extra / gst-plugins-good
  • extra / gst-libav
  • extra / qt5-tools

已安装yay

yay -S gstreamer gstreamer0.10 gst-plugins-base-libs gst-plugins-good gst-libav qt5-tools

Debian:

  • libqt5multimedia5-plugins
  • gstreamer1.0-plugins-good
  • gstreamer1.0-libav
  • libqt5multimediagsttools5

已安装apt

apt install libqt5multimedia5-plugins 
相关问题