首页 > 解决方案 > 避免在终端/cmd 上运行 FFmpeg

问题描述

我正在为一个小项目使用 FFmpeg,所以我构建了一个用于视频编辑的 GUI 基本应用程序,这里是图像 在此处输入图像描述

一切正常,但我只是想避免为 FFmpeg 进程打开终端,终端打开的原因是因为

I used os.system("FFmpeg command here")

那么有没有办法完全导入FFmpeg并避免使用终端并在代码中运行
如果你有任何想法请建议并让我知道
gui我使用PYQT5和python编码
谢谢

尝试使用子程序但没有用(适用于普通命令但不适用于 ffmpeg)我需要打印输出以存储在 python 变量中请检查图像以获取更多信息

在此处输入图像描述

标签: pythonffmpegcommand-line

解决方案


我看到 2 个选项来解决这个问题:

  1. 在没有控制台窗口的情况下运行 ffmpeg 命令。您可以通过使用带有 CREATE_NO_WINDOW 标志的 subprocess.run 来实现这一点,如下所示:
    import subprocess
    
    subprocess.run(["path/to/ffmpeg", "arg1", "arg2"],
    creationflags=subprocess.CREATE_NO_WINDOW)

请注意,CREATE_NO_WINDOW 标志仅在 Python 3.7 之后可用

  1. 为 libffmpeg 使用 Python 包装器,例如:https ://github.com/kkroening/ffmpeg-python以及许多示例。

推荐阅读