有没有办法在用pyins创建exe后录制视频

2024-04-26 07:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用kivyforgui并成功地开发了一个桌面exe。该代码运行良好,启动相机,甚至它记录视频和保存它。但当我创建exe时,录制不起作用。录制的视频需要保存,但它只保存了实际上是空的文件。你知道吗

我使用的是Windows10,Anaconda3.5.5。你知道吗

这是.spec文件

# -*- mode: python -*-
from kivy.deps import sdl2, glew, gstreamer

block_cipher = None


a = Analysis(['ninth.py'],
             pathex=['D:\\Somu_Sir\\new_project'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='ninth',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )

coll = COLLECT(exe, Tree('D:\\Somu_Sir\\new_project\\required_files\\'),
               a.binaries,
               a.zipfiles,
               a.datas,
               *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins + gstreamer.dep_bins)],
               strip=False,
               upx=True,
               name='ninth')

应用程序正在启动,但只有记录功能不起作用。预期输出应该是存储在同一文件夹中的视频


Tags: 文件falsetrue视频记录blockexecipher
1条回答
网友
1楼 · 发布于 2024-04-26 07:28:05

是的,您必须使用binaries=[]来传递运行应用程序所需的.dll文件。你的代码运行良好,这意味着你的应用程序也应该正常工作。只有在使用PyInstaller创建.exe文件时,如果只需要一个文件,则需要将所有必需的文件作为hiddenimports提供。您可以尝试binaries=[],在这里您可以添加大量的.dll依赖项,甚至可以通过cmd添加,例如:

pyinstaller  add-binary <PATH_TO_PYTHON>\Lib\site-packages\cv2\opencv_ffmpeg320_64.dll

opencv\u ffmpeg320\u 64.dll可以帮助您录制相机视频

相关问题 更多 >