目录

暂停后,画面最小化了,后面恢复也不正常

暂停和恢复正常了:

信号让暂停和恢复正常:


暂停后,画面最小化了,后面恢复也不正常

import subprocess
import time
import pyautogui
import os

if __name__ == '__main__':
    mp4_path = "/home/user/Videos/seg_demo/b12_sam2_s.mp4"  # 修改为Linux路径

    # 启动 ffplay 播放视频
    cmd = ['ffplay', '-autoexit', mp4_path]
    p = subprocess.Popen(cmd)

    time.sleep(5)  # 等待 ffplay 窗口启动稳定

    # 确保焦点在 ffplay 窗口上(手动或使用 wmctrl)
    # 自动聚焦命令示例(需安装 wmctrl)
    os.system("wmctrl -a ffplay")

    # 暂停播放
    pyautogui.press('space')
    print("暂停播放 3 秒")
    time.sleep(3)

    # 恢复播放
    pyautogui.press('space')
    print("恢复播放")

    p.wait()

暂停和恢复正常了:

import subprocess
import time
import pyautogui
import os
import signal

if __name__ == '__main__':
    mp4_path = r'/home/yklele/video/f7.mp4'

    # 使用更好的 ffplay 参数
    cmd = ['ffplay', mp4_path, '-fs',  # 全屏
        '-autoexit',  # 播放完毕自动退出
        '-noborder',  # 无边框
        '-alwaysontop',  # 始终置顶
        '-window_title', 'Video Player'  # 设置窗口标题
    ]

    p = subprocess.Popen(cmd)

    time.sleep(3)  # 等待 ffplay 窗口启动稳定

    # 设置窗口标题便于查找
    os.system("wmctrl -r :ACTIVE: -N 'Video Player'")

    # 暂停播放
    pyautogui.press('space')
    print("暂停播放 3 秒")
    time.sleep(3)

    # 恢复播放
    pyautogui.press('space')
    print("恢复播放")

    p.wait()

信号让暂停和恢复正常:

import subprocess
import time
import os
import signal


def control_ffplay_with_signals():
    mp4_path = r'/home/yklele/video/f7.mp4'

    cmd = ['ffplay', mp4_path, '-fs', '-autoexit', '-window_title', 'Video Player']

    p = subprocess.Popen(cmd)
    time.sleep(3)

    # 使用信号暂停(SIGSTOP)
    os.kill(p.pid, signal.SIGSTOP)
    print("暂停播放 3 秒")
    time.sleep(3)

    # 使用信号恢复(SIGCONT)
    os.kill(p.pid, signal.SIGCONT)
    print("恢复播放")

    p.wait()


if __name__ == '__main__':
    control_ffplay_with_signals()

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐