gpt4 book ai didi

python - 使用临时文件的VideoWriter无法读取的输出

转载 作者:行者123 更新时间:2023-12-02 16:11:41 29 4
gpt4 key购买 nike

当我使用opencv-python的VideoWriter到本地mp4文件路径时,下面的代码运行完美,并且mp4文件已保存到磁盘。此保存到磁盘操作应与保存到临时文件相同。

要使用临时文件进行测试,我只需将VideoWriter文件名更改为file_out.name(通过NamedTemporaryFile),然后复制到磁盘以验证其是否正常工作。我得到的输出是一个大小相等的mp4文件,但是任何视频播放器都无法打开它-因此该文件一定有问题。

正确工作的代码:

video = cv2.VideoWriter('/path/to/test_output.mp4',cv2.VideoWriter_fourcc(*'avc1'),20,(width,height))

for i in range(len(images)):
video.write(np.asarray(images[i]))

创建无法读取的mp4输出的代码:
file_out = tempfile.NamedTemporaryFile(suffix='.mp4')

video = cv2.VideoWriter(file_out.name,cv2.VideoWriter_fourcc(*'avc1'),20,(width,height))

for i in range(len(images)):
video.write(np.asarray(images[i]))

shutil.copy(file_out.name, '/path/to/test_output.mp4')

最佳答案

必须释放VideoWriter输出,以使复制文件的输出有效。

video.release()

这样可以解决问题。

关于python - 使用临时文件的VideoWriter无法读取的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60899176/

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