所以我使用手刹和python根据时间表对视频进行编码。我需要监控进度,因为我用它来估计编码时间。然后我可以将它安装到我的调度程序中。
我在从流程中获取 ETA 和 % 完成时遇到问题。这是我到目前为止所拥有的
profile = ["HandBrakeCLI","-i",input,"-o","output","-e","x264"]
cp = subprocess.Popen(profile, stderr=subprocess.PIPE, bufsize=1)
for line in iter(cp.stderr.readline, b''):
# regex match for % complete and ETA
matches = re.match( r'.*(\d+\.\d+)\s%.*ETA\s(\d+)h(\d+)m(\d+)s', line.decode('utf-8') )
if matches:
print( matches.group() )
print(line),
cp.stderr.close()
cp.wait()
它不匹配,实际上我不完全确定发生了什么。当我运行我的脚本时,我看到 ETA 和 % complete 打印出来
Encoding: task 1 of 1, 1.19 % (45.57 fps, avg 62.74 fps, ETA 00h08m01s)
我试过使用标准输出,但它也不起作用。