
前提・実現したいこと
PyInstaller でビルドしたアプリケーションで OpenCV を使い、動画を保存したい。
発生している問題・エラーメッセージ
OpenCV のcv2.VideoWriter
のファイルパスに日本語が含まれる場合、動画が保存されません。
また、PyInstaller でビルドしている場合にのみ発生することがわかりました。
exe実行 | エディタ実行 | |
---|---|---|
ファイルパスに日本語あり | X | ○ |
ファイルパスに日本語なし | ○ | ○ |
エラーメッセージ:なし なにもエラーメッセージが出力されず、動画は空ファイルすら作成されません。
該当のソースコード
fourcc = cv2.VideoWriter_fourcc(*'avc1') video = cv2.VideoWriter(file_path, fourcc, 20.0, SCREEN_SIZE)
試したこと
cv2.VideoCapture
の場合、ファイルパスに日本語が含まれていても動画がオープン出来た。cv2.__version__
をprintして表示し、正常に4.4.0バージョンが表示された。- 動画のコーデックをいくつか変更したが、解消しなかった。
- 以下の記事を参考にPyinstallerでビルドしたexeと同階層に使用しているバージョンの「opencv_videoio_ffmpeg440_64.dll」を配置したが解消せず。
Exe file build by Pyinstaller can not save video with cv2.VideoWriter
- opencv-contrib-pythonのバージョンを最新や2、3個古いものなどいくつか入れ替えたが解消せず。
補足情報(FW/ツールのバージョンなど)
- Python 3.6.5 32-bit
- opencv-contrib-python 4.4.0.44
- PyInstaller 3.6

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。