【问题标题】:Play mp4 files in python在 python 中播放 mp4 文件
【发布时间】:2018-05-04 13:11:40
【问题描述】:

我有 2 个 mp4 剪辑,我想用 Python 在一个窗口中播放。 我希望播放第一个剪辑,然后在某个时候切换到第一个剪辑中间的第二个剪辑(调用函数时)。

应该是这样的

play_first_clip():
   pass

play_second_clip():
   pass

例如,当播放第一个剪辑然后调用play_second_clip() 时,即使第一个剪辑尚未完成,窗口也会切换到第二个剪辑。

我尝试使用Pymovie 来做到这一点

first = VideoFileClip('first')
first.preview()
second = VideoFileClip('second')
second.preview()

但这当然会在第一个视频完成后播放第二个视频。 有什么建议么?

【问题讨论】:

  • 我正确理解了这个问题 - 你有 clip1 将播放(说它的背景音乐或其他东西),然后在某些事件中 clip2 应该停止 clip1 并播放 @987654328 @的声音?这听起来正确吗?
  • 您应该并行运行任何 mp4 播放器应用程序的两个实例。两者应该是可远程控制的(例如通过标准输入)。在 Raspberry Pi 上,我只是使用那里的标准 omxplayer 来做到这一点。然后,您可以随时向其中一个发送 PAUSE 并向另一个发送 PLAY。查看用于运行子进程的子进程模块。
  • 是的,这是正确的

标签: python pygame mp4


【解决方案1】:

一个好的解决方案是使用openCV并逐帧显示视频,这样您就可以控制下一帧并随时中断视频

def start_main_loop(self):
    while 1:
        ret, frame = self.current_state.read()
        if cv2.waitKey(1) & 0xFF == ord('q'):
            self.close()
            break
        if ret:
            cv2.imshow('Game', frame)

【讨论】:

    猜你喜欢
    • 2014-10-21
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    相关资源
    最近更新 更多