QML中的一个源,两个视频输出
One source, two video output in QML
我需要在 VideoOutput 组件中分别显示原始视频和预处理视频(来自单一来源)。但是,只有一个 VideoOutputs 显示来源!似乎一次只有一个输出可以有源。这是我的代码:
import QtMultimedia 5.9
Item {
// ...
Camera {
id: camera
}
VideoOutput {
id: videooutput1
source: camera
// ...
}
VideoOutput {
id: videooutput2
source: camera
// ...
}
}
有没有办法在多个视频输出之间共享一个源?还是我遗漏了什么?
您可以使用 ShaderEffectSource 复制 QML 项目:
Item {
// ...
Camera {
id: camera
}
VideoOutput {
id: videooutput1
source: camera
// ...
}
ShaderEffectSource {
id: videooutput2
sourceItem: videooutput1
}
}
另一种方案如下(我个人更喜欢这种方案):
Item {
MediaPlayer {
id: mediaplayer
autoPlay: true
source: "url to your source"
videoOutput: [videooutput1, videooutput2]
}
VideoOutput {
id: videooutput1
anchors.fill: parent
}
Window {
visible: true
width: 480; height: 320
VideoOutput {
id: videooutput2
anchors.fill: parent
}
}
}
我需要在 VideoOutput 组件中分别显示原始视频和预处理视频(来自单一来源)。但是,只有一个 VideoOutputs 显示来源!似乎一次只有一个输出可以有源。这是我的代码:
import QtMultimedia 5.9
Item {
// ...
Camera {
id: camera
}
VideoOutput {
id: videooutput1
source: camera
// ...
}
VideoOutput {
id: videooutput2
source: camera
// ...
}
}
有没有办法在多个视频输出之间共享一个源?还是我遗漏了什么?
您可以使用 ShaderEffectSource 复制 QML 项目:
Item {
// ...
Camera {
id: camera
}
VideoOutput {
id: videooutput1
source: camera
// ...
}
ShaderEffectSource {
id: videooutput2
sourceItem: videooutput1
}
}
另一种方案如下(我个人更喜欢这种方案):
Item {
MediaPlayer {
id: mediaplayer
autoPlay: true
source: "url to your source"
videoOutput: [videooutput1, videooutput2]
}
VideoOutput {
id: videooutput1
anchors.fill: parent
}
Window {
visible: true
width: 480; height: 320
VideoOutput {
id: videooutput2
anchors.fill: parent
}
}
}