在 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 个选项可以解决这个问题:
- 运行 没有控制台的 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
之后可用
- 使用 libffmpeg 的 Python 包装器参见示例:https://github.com/kkroening/ffmpeg-python 有很多示例。
我在一个小项目中使用 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 个选项可以解决这个问题:
- 运行 没有控制台的 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
之后可用- 使用 libffmpeg 的 Python 包装器参见示例:https://github.com/kkroening/ffmpeg-python 有很多示例。