python - 如何使用 ffmpeg 在 python 中检查视频损坏?
问题描述
嗨,我目前正在使用这个 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 找到合适的输出格式:参数无效
谁能帮忙解决这个问题!
解决方案
可能会帮助某人!
所以我尝试使用以下方法解决上述问题:
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))
我不知道这是最好的方法,但这现在对我有用!
推荐阅读
- python - Python3 - 将标准输出存储到数组变量中
- java - 如何从其他两个系列中获得一个系列?
- angular - 端口 49918 已在使用中
- python - 使用 python 3.x 编写后门程序
- typescript - 在使用 Protractor flake 进行任何失败的测试之前再次运行特定套件
- c# - generic.xaml 中的自定义控件和附加样式
- package - 如何比较 JuliaDB 和 Queryverse 的特性和性能?哪个更好?
- pyspark - 在 PySpark 中,如何对字符串类型的 ID 进行哈希处理并将其转换为小于 365 的整数?
- matlab - 从某一行开始逐列替换值
- cloudera - CDH 6.2 - 添加新主机错误:dpkg-query: no packages found matching cloudera-manager-agent