使用omxplayer和dbus播放并发视频

2024-06-11 15:36:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个Python程序来使用omxplayer播放视频。我有一系列.mp4文件,它们将构成虚拟机器人的可视前端。我希望能够播放一个循环'等待某事发生'视频,然后当发生什么(运动检测或其他)第二个视频将播放,循环视频将暂停。我想在暂停的视频上播放新视频。在

我一直试图用数据库控制.sh但显然不能用它来播放omxplayer的并发会话。我也试过了dbuscontrolm.sh它是一个允许多次出现omxplayer的修改版本。在

这是我一直在尝试的一些代码的一个版本(我是一个Python初学者)。在

#!/usr/bin/env python


import dbus
import subprocess
from subprocess import Popen
import time


def play_vid_wait_loop():
    command1 = 'omxplayer --win "100 100 500 500" --dbus_name "org.mpris.MediaPlayer2.omxplayer1" --layer 5 /home/pi/My_Projects/Hammerstein/Vid_Wait_Loop.mp4'
    Popen([command1], shell=True)
    subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer1 play'], shell=True)
    time.sleep(5)
    subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer1 stop'], shell=True)

def play_vid_recharge_power_supply():
    command2 = 'omxplayer --win "100 100 500 500" --dbus_name "org.mpris.MediaPlayer2.omxplayer2" --layer 6 /home/pi/My_Projects/Hammerstein/Vid_Recharge_Power_Supply.mp4'
    Popen([command2], shell=True)
    subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer2 play'], shell=True)
    time.sleep(5)
    subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer2 stop'], shell=True)

play_vid_wait_loop()
play_vid_recharge_power_supply()

Tags: orgimporttrueplay视频shshellcall