0

嗨,我目前正在使用这个 python 代码:

import subprocess
import shlex

cmd = "ffmpeg -v error -i 3.mp4 -f null - 2>error.log"
new_cmd = shlex.split(cmd)
subprocess_cmd = subprocess.list2cmdline(new_cmd)
print(subprocess_cmd)
subprocess.call(new_cmd)

问题是当我运行代码时出现以下错误:

[NULL @ 0x555594682920] 无法为 '2>error.log' 2>error.log 找到合适的输出格式:参数无效

谁能帮忙解决这个问题!

4

1 回答 1

0

可能会帮助某人!

所以我尝试使用以下方法解决上述问题:

import subprocess
import shlex

logFile = "error.log"
video = "corrupted_video.mp4"

cmd = "ffmpeg -v error -i" + video + "-f null"
new_cmd = shlex.split(cmd)
output = subprocess.run(new_cmd, capture_output=True)
with open(logFile, 'w+') as output:
    output.write(str(output))

我不知道这是最好的方法,但这现在对我有用!

于 2019-10-30T08:19:49.583 回答