gpt4 book ai didi

python - ffmpeg 视频录制损坏

转载 作者:行者123 更新时间:2023-12-04 23:02:35 25 4
gpt4 key购买 nike

我运行以下命令通过 ffmpeg 录制视频

ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 10 -i desktop -c:v libx264 -r 10 -tune zerolatency -pix_fmt yuv420p record.mp4

当我通过 PowerShell 运行它时,这工作正常(我通过按 ctrl + c 手动停止录制)。

我正在尝试通过 Python 做同样的事情,并且我创建了两个函数来启动和停止操作。
def recThread():
cmd = 'ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 10 -i desktop -c:v libx264 -r 10 -tune zerolatency -pix_fmt yuv420p ' + videoFile
global proc
proc = subprocess.Popen(cmd)
proc.wait()
def stop():
proc.terminate()

但是,当我运行它时,视频已损坏。
我尝试使用 os.system 命令而不是 subprocess 并得到相同的结果。任何帮助,将不胜感激。

最佳答案

我尝试将视频格式更改为 avi,它就像一个魅力。之后调查了为什么同样的事情在mp4上不起作用,发现如果使用h264编码器,ffmpeg在退出时执行一个操作以支持h264转换。 proc.terminate()不会让 ffmpeg 优雅地退出。

关于python - ffmpeg 视频录制损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52260912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com