投稿

2023の投稿を表示しています

【覚書】OpenCVSharpのVideoWriter使うのに手間取った話

  気分が絶不調なのでたまには違うことをする。 ※存在ふわふわなんちゃってたまにコード書く人なので用語間違ってたりします。あしからず。 OpenCVは、なんか動画作ったり、画像なんかしたり、解析したり…そこらへんに使う便利なやつ。 んで、OpenCVを使ってmp4ファイルを書き出そうと思った。 VisualStudioでC#にて、OpenCVを使うために「OpenCVSharp4.Windows」というNugetパッケージがあり、それを入れてやってみたところ、AVIファイル以外で書き出せなかった。(2023年5月19日現在:version4.7.0.20230115) 理由としては、ビルドした際にdllフォルダに入った「opencv_videoio_ffmpeg455」というdllファイルではmp4書き出せないから。バージョンが古いっぽい。 なので、最新のdllファイルをビルド後のdllフォルダ内の「x64」と「x86」に入れる。 dllファイル自体はNugetを入れた段階で、 「プログラムフォルダ\packages\OpenCvSharp4.runtime.win.4.7.0.20230115\runtimes\win-x86\native\opencv_videoio_ffmpeg470.dll」 と 「プログラムフォルダ\packages\OpenCvSharp4.runtime.win.4.7.0.20230115\runtimes\win-x64\native\opencv_videoio_ffmpeg470_64.dll」 に入っているので、ビルドした後のdllフォルダの中にそれぞれ入れればOK。 デフォルトで「opencv_videoio_ffmpeg455」ってのが入ってるけど、消さなくてもmp4書き出せた。 以上。 アプデでもしかしたら直るかもしれないし、そもそものやり方が間違っているのかもしれないが、chatGPTに聞きまくったけど知らぬと言われ、ググってやっとこさ見つけた知識なのでメモって共有しておく。 …ちなみに、「 opencv_videoio_ffmpeg455_64.dllって何ですか? 」とchatGPT4に聞いたところ、 "opencv_videoio_ffmpeg455_64.dll"はOpenCV(Open ...