【已解决】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

方法二

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

python 复制代码
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

相关推荐
databook几秒前
如何灵活设置公式中各个部分的颜色?
python·数学·动效
hhb_6183 分钟前
Python 工程化开发与性能优化实践
开发语言·python·性能优化
NiKick3 分钟前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
weixin_458580124 分钟前
php怎么处理跨域请求_php如何设置header解决跨域问题详解
jvm·数据库·python
m0_734949795 分钟前
CSS 背景图片无法加载的常见原因与正确写法详解
jvm·数据库·python
2301_815279527 分钟前
mysql如何使用yum安装mysql_配置官方yum源与自动安装
jvm·数据库·python
weixin_4585801210 分钟前
MySQL跨版本迁移数据格式不兼容_使用mysqldump全量导出导入
jvm·数据库·python
Greyson113 分钟前
SQL触发器在导入大文件时如何跳过_使用禁用触发器语句导入
jvm·数据库·python
Full Stack Developme16 分钟前
Hutool JSON 操作教程
windows·python·json
2401_8877245017 分钟前
Redis怎样统计独立访客UV_基于Set的SADD指令天然去重特性
jvm·数据库·python