在 terminal/cmd 上避免使用 FFmpeg 运行

avoiding running of FFmpeg on terminal/cmd

我在一个小项目中使用 FFmpeg,所以我构建了一个用于视频编辑的 GUI 基本应用程序 这是图片

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

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

有没有办法完全导入 FFmpeg 并避免在代码
中使用终端和 运行 如果您有任何想法,请提出建议并告诉我
对于 gui,我使用 PYQT5 和 python 来编码
谢谢

尝试使用子程序但没有成功(适用于普通命令但不适用于 ffmpeg) 我还需要打印输出以存储在 python 变量中 请查看图片了解更多信息

您可以尝试在您的命令中附加“-hide_banner -loglevel warning”吗?

os.system("FFmpeg command here -hide_banner -loglevel warning")

您可以随时重定向到 /dev/null

os.system('FFmpeg command here 2> /dev/null')

我看到有 2 个选项可以解决这个问题:

  1. 运行 没有控制台的 ffmpeg 命令 window。您可以通过使用 subprocess.run 和 CREATE_NO_WINDOW 标志来实现此目的,如:
    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 有很多示例。