# 视频流

VideoOutput元素不仅限于与MediaPlayer元素结合使用。它还可以与各种视频源一起使用以显示视频流。

例如,可以使用VideoOutput来显示用户Camera的实时视频流。为此,将把它与两个组件结合起来:CameraCaptureSession

import QtQuick
import QtMultimedia

Window {
    width: 1024
    height: 768
    visible: true

    CaptureSession {
        id: captureSession
        camera: Camera {}
        videoOutput: output
    }

    VideoOutput {
        id: output
        anchors.fill: parent
    }

    Component.onCompleted: captureSession.camera.start()
}

CaptureSession组件提供了一种读取摄像机流、捕获静止图像或录制视频的简单方法。

作为MediaPlayer组件,CaptureSession元素提供了videoOutput属性。因此可以使用这个属性来配置自己的可视化组件。

最后,当应用程序加载完毕后,就可以开始摄像了:

Component.onCompleted: captureSession.camera.start()

提示

根据操作系统,此应用程序可能需要敏感信息类的访问权限。 如果使用qml二进制文件运行此示例应用程序,将自动请求这些权限。

但是,如果将其作为独立程序运行,可能需要首先请求这些权限(例如:在MacOS下,需要一个与应用程序捆绑在一起的专用.plist文件)。

最后更新: 1/18/2022, 7:48:50 AM