python - subprocess.Popen() 将标准输出写入日志文件

标签 python ffmpeg

我正在使用以下命令重定向 ffmpeg输出到终端和文本文件。

p1 = subprocess.Popen (['ffmpeg', 'some_ffmpeg_command', '-f', 'mpegts', 'outfile.ts'], stdout=subprocess.PIPE, stderr=STDOUT, universal_newlines=True)
for line in p1.stdout:
    sys.stdout.write(line)
    logfile.write(line)
p1.stdout.close()
p1.wait()

该代码可以正常工作,直到需要手动干预的情况。例如,如果文件 outfile.ts 已经存在,那么控制台中不会显示以下对话框,File 'Desktop/mytestfolder/outfile.ts' already exists. Overwrite ? [y/N]
请问上面有什么问题吗?

最佳答案

您需要包含 -y标记以强制响应,因为您不能依赖用户交互。

关于python - subprocess.Popen() 将标准输出写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59358576/

相关文章:

python - 如何更新 Tkinter 窗口的屏幕( Canvas )

python - 如何使用 tkinter 构建范围 slider ?

c - 强制 LibAV 中的全局 header

ubuntu - ffmpeg avcodec_open2() 仅在 ubuntu 中返回错误 -22

android - 如何使用 ffmpeg 使用 pts gmtime 绘制文本冒号?

python - 如何在 '- url:' 行中创建多个 url,在 google-app-engine 上

python - 在Python中解析XML

Python - 乘以二维列表中的元素

audio - ffmpeg:刷新每个 block 的输出文件

ffmpeg x264 CPU核心缩放