VideoOutput QML 类型

渲染视频 (或摄像头取景器)。 更多...

import 语句: import QtMultimedia
继承:

Item

特性

方法

详细描述

Rectangle {
    width: 800
    height: 600
    color: "black"
    MediaPlayer {
        id: player
        source: "file://video.webm"
        videoOutput: videoOutput
    }
    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }
}
					

The VideoOutput item supports untransformed, stretched, and uniformly scaled video presentation. For a description of stretched uniformly scaled presentation, see the fillMode property description.

另请参阅 MediaPlayer and Camera .

特性文档编制

contentRect : rectangle

This property holds the item coordinates of the area that would contain video to render. With certain fill modes, this rectangle will be larger than the visible area of the VideoOutput .

This property is useful when other coordinates are specified in terms of the source dimensions - this applied for relative (normalized) frame coordinates in the range of 0 to 1.0.

Areas outside this will be transparent.

endOfStreamPolicy : enumeration [since 6.9]

This property specifies the policy to apply when the video stream ends. This occurs at the end of media playback or upon deactivation of the camera, screen, or window capture.

The endOfStreamPolicy can be one of:

常量 描述
ClearOutput The video output is cleared.
KeepLastFrame The video output continues displaying the last frame. Use the method clearOutput () to clear the output manually.

默认值为 ClearOutput .

该特性在 Qt 6.9 引入。

fillMode : enumeration

Set this property to define how the video is scaled to fit the target area.

  • Stretch - the video is scaled to fit.
  • PreserveAspectFit - the video is scaled uniformly to fit without cropping
  • PreserveAspectCrop - the video is scaled uniformly to fill, cropping if necessary

The default fill mode is PreserveAspectFit.

mirrored : bool [since 6.9]

Determines whether the displayed video is mirrored around its vertical axis. We recommend using this property if the transformation of the source video stream, such as from a front camera, does not align with the application's business logic. The mirroring is applied after orientation .

The property change affects the mapping of coordinates from the source to the viewport.

默认值为 false .

该特性在 Qt 6.9 引入。

orientation : int

This property determines the angle in, degrees, at which the displayed video is rotated clockwise in video coordinates, where the Y-axis points downwards on the display. The orientation transformation is applied before mirrored .

The orientation change affects the mapping of coordinates from the source to the viewport.

Only multiples of 90 degrees are supported, that is 0, 90, -90, 180, 270, etc., otherwise, the specified value is ignored.

In some cases, the source video stream requires a certain orientation to be corrected. This includes sources like a camera viewfinder, where the displayed viewfinder should match the reality, no matter what rotation the rest of the user interface has.

We recommend using this property to compensate a user interface rotation, or align the output view with other application business requirements.

默认值为 0 .

sourceRect : rectangle

This property holds the area of the source video content that is considered for rendering. The values are in source pixel coordinates, adjusted for the source's pixel aspect ratio.

Note that typically the top left corner of this rectangle will be 0,0 while the width and height will be the width and height of the input content. Only when the video source has a viewport set, these values will differ.

The orientation setting does not affect this rectangle.

另请参阅 QVideoFrameFormat::viewport ().

videoSink : object

This property holds the underlaying C++ QVideoSink object that is used to render the video frames to this VideoOutput 元素。

Normal usage of VideoOutput from QML should not require using this property.

方法文档编制

[since 6.9] void clearOutput ()

Clears the video output by removing the currently displayed video frame. This method is recommended when you need to remove the last video frame after detaching the video output from the source or after the source stream ends with the video output's endOfStreamPolicy 特性被设为 KeepLastFrame .

This method was introduced in Qt 6.9.