【已解决】pyinstaller 将程序打包成 exe 文件后,无法保存视频或者保存的视频为空文件

这里写自定义目录标题

  • 问题描述
  • 解决方法
    • 方法一
    • 方法二
  • 参考

问题描述

使用pyinstaller将python程序打包为exe文件,其中包含保存视频的代码。直接运行脚本时,程序能够正确的保存视频。但是通过pyinstaller打包成exe文件后,exe文件无法保存视频或者保存的视频文件为空。

解决方法

方法一

将python的环境下的cv2安装包中的opencv_videoio_ffmpeg481_64.dll文件拷贝到exe的同目录下即可恢复正常。每个人的python路径不一样,opencv_videoio_ffmpeg481_64.dll文件名中的数字部分也可能不一样。我的文件路如下:

D:\anaconda3\envs\yolov8test\Lib\site-packages\cv2
【已解决】pyinstaller 将程序打包成 exe 文件后,无法保存视频或者保存的视频为空文件_第1张图片

方法二

打包exe文件时,使用--add-binary参数,将上述opencv_videoio_ffmpeg481_64.dll文件一起打包进来即可。命名格式如下:
--add-binary参数后面写的是opencv_videoio_ffmpeg481_64.dll文件的绝对路径。

pyinstaller --onefile videoSave.py --add-binary D:\anaconda3\envs\yolov8test\Lib\site-packages\cv2\opencv_videoio_ffmpeg481_64.dll

参考

1.pyinstaller 打包成 exe 文件后无法保存视频的问题
2.Exe file build by Pyinstaller can not save video with cv2.VideoWriter

你可能感兴趣的:(相关问题,python,pyinstaller)