C:\Windows\System32> ffmpeg -i D:\devaraj\KPIX_test.ts -vf "blackframe" -an -f n
ull - 2>&1|find "Parsed" > D:\devaraj\info.txt
这很好,写文件信息.txt你知道吗
subprocess.call('ffmpeg' ,'-i', 'D:\devaraj\KPIX_test.ts' ,'-vf', '"blackframe"', 'D:\devaraj\KPIX_textfinal.mp3', '- 2>&1>','|','find', '"Parsed"', '>' ,'D:\devaraj\info.txt', 'shell=True')
提供的错误缓冲区大小必须为整数
作为
subprocess.call('ffmpeg -i D:\devaraj\KPIX_test.ts -vf "blackframe" -an -f n
ull - 2>&1|find "Parsed" > D:\devaraj\info.txt', shell=True)
给出一个错误
“find”未被识别为内部或外部命令, 可操作的程序或批处理文件。你知道吗
任何帮助都将受到衷心的感谢
您应该使用本机python方法来获得过滤的
ffmpeg
输出:要做到这一点,通常需要
check_output
,但是这个特定的示例提供了所需的信息,但是退出时返回非零代码(不过,使用python3.5中的run
也可以)所以我将使用
Popen
。它变成(作为列表,没有所有重定向和过滤器),然后从流程标准输出读取所有输出:您不需要
shell=True
,它将错误和输出流合并到output
变量中。你知道吗现在
output
包含ffmpeg命令的输出。让我们解码它(得到一个字符串)并拆分行,检查字符串是否在行中:对于输出更多文本的进程,最好在
p.stdout
上迭代,而不是读取全部内容(占用的内存更少,允许实时回显到控制台)您应该使用本机python方法来获得过滤的
ffmpeg
输出:要做到这一点,通常需要
check_output
,但是这个特定的示例提供了所需的信息,但是退出时返回非零代码(不过,使用python3.5中的run
也可以)所以我将使用
Popen
。它变成(作为列表,没有所有重定向和过滤器),然后从流程标准输出读取所有输出:您不需要
shell=True
,它将错误和输出流合并到output
变量中。你知道吗现在
output
包含ffmpeg命令的输出。让我们解码它(得到一个字符串)并拆分行,检查字符串是否在行中:对于输出更多文本的进程,最好在
p.stdout
上迭代,而不是读取全部内容(占用的内存更少,允许实时回显到控制台)相关问题 更多 >
编程相关推荐