并排播放两个视频:视频不显示

     2023-03-25     30

关键词:

【中文标题】并排播放两个视频:视频不显示【英文标题】:Playing two videos side by side:Videos not showing 【发布时间】:2021-09-26 17:59:45 【问题描述】:

我正在尝试构建一个 GUI,它由在窗口上不同位置播放的多个视频组成,所有视频都具有 alpha 通道,因为有些视频与其他视频重叠,基于外部设备固件提供的说明。

我正处于项目的最初阶段,所以我只想在同一个屏幕上播放两个视频,然后从那里开始。 (虽然如果你知道一个很好的例子来分享我的最终目标,那也太棒了)。

我看到的适用于这个项目的层次结构是一个 QMainWindow,它包含一个 QGraphicsView,它包含一个 QGraphicsScene,它包含两个 QGraphicsVideoItem,它们是 QMediaPlayer 的“输出”。 (我是不是已经采取了错误的方式?)

打开一个窗口,大小合适,但没有播放视频。我做了很多测试,例如添加布局、更改某些指令的顺序等。但没有。

import sys
from PyQt5.QtMultimedia import *
from PyQt5.QtMultimediaWidgets import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


class VideoWindow(QMainWindow):
     def __init__(self):
        super(VideoWindow, self).__init__()
        self.setWindowTitle('QMediaPlayer TEST')
        self.resize(1920, 1080)

        self.vista = QGraphicsView(self)
        self.vista.setGeometry(QRect(0, 0, 1920, 1080))

        self.scene = QGraphicsScene(self.vista)
        self.scene.setSceneRect(0, 0, 1920, 1080)

        self.graphvitem1 = QGraphicsVideoItem()
        self.graphvitem2 = QGraphicsVideoItem()


        self.mediaPlayer1 = QMediaPlayer(None, QMediaPlayer.VideoSurface)
        self.mediaPlayer1.setVideoOutput(self.graphvitem1)
        self.mediaPlayer1.setMedia(QMediaContent(QUrl.fromLocalFile("/Users/elemental/Desktop/pyvids/v1na.mp4")))

        self.graphvitem1.setPos(100, 100)
        self.scene.addItem(self.graphvitem1)


        self.mediaPlayer2 = QMediaPlayer(None, QMediaPlayer.VideoSurface)
        self.mediaPlayer2.setVideoOutput(self.graphvitem2)
        self.mediaPlayer2.setMedia(QMediaContent(QUrl.fromLocalFile("/Users/elemental/Desktop/pyvids/v1na2.mp4")))

        self.graphvitem2.setPos(100, 500)
        self.scene.addItem(self.graphvitem2)


        self.mediaPlayer1.play()
        self.mediaPlayer2.play()
        self.vista.show()


if __name__ == '__main__':
     app = QApplication([])
     window = VideoWindow()
     window.show()
     sys.exit(app.exec_())

【问题讨论】:

【参考方案1】:

你没有在视图上设置场景。

虽然constructor of QGraphicsView 可以接受 QGraphicsScene(将自动在其上设置),但 QGraphicsScene 构造函数没有这样的便利(因为场景可以在多个视图之间共享),并且将视图添加为参数只会将该视图设置为父视图。

        self.scene = QGraphicsScene(self.vista)
        self.vista.setScene(self.scene)

【讨论】:

没错。忘记设置场景了。使用此指令,它可以正常工作。非常感谢。

android代码并排合并两个视频并使其成为一个视频(只想要一个音频)

】android代码并排合并两个视频并使其成为一个视频(只想要一个音频)【英文标题】:androidcodetomergetwovideossidebysideandmakeitasonevideo(wantonlyoneaudio)【发布时间】:2015-09-2908:21:21【问题描述】:任何人都可以帮助我!我有两个视频。... 查看详情

Android videoview控件不显示视频,只播放音频

】Androidvideoview控件不显示视频,只播放音频【英文标题】:Androidvideoviewcontrolisnotdisplayingvideo,onlyaudioisplayed【发布时间】:2012-12-1316:24:25【问题描述】:我正在尝试从android中的url播放视频,为此我在片段类中使用videoview控件,但... 查看详情

MobileVLCKit 播放视频流不显示

】MobileVLCKit播放视频流不显示【英文标题】:MobileVLCKitPlayingvideostreamingnotdisplays【发布时间】:2016-01-2115:42:43【问题描述】:我使用MobileVLCKit框架在iOS中实现了MobileVLCKit。我有一个问题,当我声明播放器@Interface时,流和语音运行... 查看详情

排除 youtube api 播放列表中显示“视频不可用”的所有视频

】排除youtubeapi播放列表中显示“视频不可用”的所有视频【英文标题】:Excludeallvideosinyoutubeapiplaylistwhichsays"Thevideoisnotavailable"【发布时间】:2016-09-0100:53:51【问题描述】:我正在使用以下api来获取youtube频道的播放列表:... 查看详情

iOS 视频编辑 - 是不是可以使用 iOS 4 AVFoundation 类将两个视频文件合并(并排而不是一个接一个)为一个?

...辑-是不是可以使用iOS4AVFoundation类将两个视频文件合并(并排而不是一个接一个)为一个?【英文标题】:iOSVideoEditing-Isitpossibletomerge(sidebysidenotoneafterother)twovideofilesintooneusingiOS4AVFoundationclasses?iOS视频编辑-是否可以使用iOS4AVFoundati... 查看详情

React-native-video 不显示视频播放器

】React-native-video不显示视频播放器【英文标题】:React-native-videonotshowingthevideoplayer【发布时间】:2018-09-2605:13:33【问题描述】:我正在使用react-native-video包来获取视频播放器,我可以在其中播放我的youtube视频。我试过了,但只... 查看详情

使用多个 AVPlayer 时如何检测哪个视频结束了?

...【发布时间】:2019-11-0912:55:52【问题描述】:我在屏幕上并排播放两个视频,所以我有两个AVPlayer实例。我正在使用工作正常的通知检测视频播放结束。我的选择器(playerDidFinishPlaying)在两个视频结束时都会被调用。Notific 查看详情

如何在立体声的同一窗口中并排显示 2 个网络摄像头视频?

】如何在立体声的同一窗口中并排显示2个网络摄像头视频?【英文标题】:Howtodisplay2webcamvideossidebysideinthesamewindowforstereo?【发布时间】:2013-09-0101:10:14【问题描述】:我想使用3D头戴式显示器(HMD)为第一人称视角(FPV)创建立体视... 查看详情

音频播放但视频不显示在 VideoView Android 中(低互联网黑屏)

】音频播放但视频不显示在VideoViewAndroid中(低互联网黑屏)【英文标题】:AudioPlayingButVideonotShowinginVideoViewAndroid(BlackScreeninLowInternet)【发布时间】:2017-05-1605:59:35【问题描述】:我正在研究Android中的视频流。当我想以低互联网... 查看详情

iOS7 视频播放器不显示字幕

】iOS7视频播放器不显示字幕【英文标题】:iOS7VideoPlayernotshowingcaptions【发布时间】:2013-11-3011:13:41【问题描述】:我设计了一个示例Web应用程序,其中我使用了这样的视频标签:<videosrc="test.mp4"controls="controls"><trackkind="subt... 查看详情

在播放视频之前反应原生视频显示缩略图

】在播放视频之前反应原生视频显示缩略图【英文标题】:reactnativevideodisplaythumbnailbeforevideoisplayed【发布时间】:2020-08-1710:34:55【问题描述】:我正在使用react-native-video向用户react-native-video-controls显示视频以显示控件。我的目标... 查看详情

如何同步自动播放/循环中的两个 HTML 视频元素?

】如何同步自动播放/循环中的两个HTML视频元素?【英文标题】:HowcanIsynctwoHTMLvideoelementsthatareonautoplay/loop?【发布时间】:2022-01-1320:18:42【问题描述】:我有两个HTML视频元素,它们在页面加载时开始自动播放,并继续无限循环,... 查看详情

html5播放器视频显示不完整!flash播放器正常显示!

下面有图,flash播放器的话正常显示,而H5模式就会将视频扩大了,超出显示区域,就算全屏也显示不了超出范围的,只要不支持flash播放器的视频网站我都只能H5看显示不全的视频,很纳闷!求解,这毫无意外是我机器问题,需... 查看详情

java示例代码_唐';使用VLCJ播放视频时不显示文件路径

java示例代码_唐';使用VLCJ播放视频时不显示文件路径 查看详情

在全屏视频播放期间旋转后不显示 UISplitViewController 的 MasterViewController

】在全屏视频播放期间旋转后不显示UISplitViewController的MasterViewController【英文标题】:MasterViewControllerofUISplitViewControllernotshownafterrotationduringfullscreenvideoplayback【发布时间】:2013-03-0307:54:02【问题描述】:我有一个UISplitViewController... 查看详情

不播放视频的 HTML5 视频时长

】不播放视频的HTML5视频时长【英文标题】:HTML5Videodurationwithoutplayingvideo【发布时间】:2013-11-0416:47:34【问题描述】:我正在尝试在不播放视频的情况下或在播放视频之前在HTML5中获取视频持续时间以显示在视频拇指上,正如您... 查看详情

MPMoviePlayerViewController 仅显示视频但不播放音频 iOS 8

】MPMoviePlayerViewController仅显示视频但不播放音频iOS8【英文标题】:MPMoviePlayerViewControlleronlydisplayvideobutnotplayingtheaudioiOS8【发布时间】:2015-06-1523:05:53【问题描述】:如果这个问题已经被问过,请原谅我,但我到处找,我只能找到... 查看详情

HTML5 视频播放器显示以在浏览器中启用 Flash。如何在不启用 Flash 的情况下播放流视频?

】HTML5视频播放器显示以在浏览器中启用Flash。如何在不启用Flash的情况下播放流视频?【英文标题】:HTML5videoplayershowingtoenableflashinbrowser.HowcanIplaystreamvideowithoutenabletheflash?【发布时间】:2018-03-1209:56:13【问题描述】:我制作了一... 查看详情