我有以下命令并在命令提示符下执行它:
ffmpeg.exe -i input.mkv -i output.mkv -lavfi psnr=stats_file=psnrmkv.txt -f null -
此命令计算两个文件之间的 PSNR 并将结果保存在 pnsrmkv.txt
但我必须为每个视频输入这个命令,我有 200 多个视频:(。现在我试图在 python 中执行它。每次我必须更改输入和输出视频和 PSNR 文本文件的名称。是有什么方法可以在 python 中实现命令行吗?你能帮我解决这个问题吗?我是初学者,如果你有任何代码或链接来解释这样的事情,我会非常感激。我正在使用 windows 和 python 3.7. subprocess
可以帮忙解决这个问题吗?
我使用了以下代码,但它产生了错误:
import subprocess as s
s.call(["command.exe", "ffmpeg.exe -i E:\mpeg_file\input.mkv -i E:\mpeg_file\2.mkv -lavfi psnr=stats_file=psnrmkv.txt -f null -"])
错误:
<块引用>回溯(最近一次调用最后一次):
文件“”,第2行,在 s.call(["command.exe", "ffmpeg.exe -i E:\mpeg_file\input.mkv -i E:\mpeg_file\2.mkv -lavfi psnr=stats_file=psnrmkv.txt -f null -"])
文件“D:\software\Anaconda3\envs\py37\lib\subprocess.py”,第287行, 通话中 用 Popen(*popenargs, **kwargs) 作为 p:
文件 "D:\software\Anaconda3\envs\py37\lib\site-packages\spyder_kernels\customize\spydercustomize.py", 第 105 行,在 init 中 super(SubprocessPopen, self).init(*args, **kwargs)
文件“D:\software\Anaconda3\envs\py37\lib\subprocess.py”,第 729 行, 在初始化 restore_signals, start_new_session)
文件“D:\software\Anaconda3\envs\py37\lib\subprocess.py”,第1017行, 在 _execute_child 中 启动信息)
FileNotFoundError: [WinError 2] 系统找不到文件 指定