外部プロセスとしてOBS Studioにhttps://github.com/obsproject/obs-websocket
のプラグインを入れて呼び出し元からプロセス起動と録画操作をやるのが
納期的に早そうだがUSBカメラの仕様上限が無さそうなので敗北濃厚という印象。
4k、60fpsとか言われたらPC側の要求スペックがゲーミングPCになって
コントロール側ともPCそのものを分ける必要性が出るだろうと予想されます。
Are you sure you want to delete the question?
Leaving a resolved question undeleted may help others!
長時間録画及び画像の表示を同時に行えるシステムを教えてほしいです。
あるプログラムを開発中につき、そのようなシステムを組み込む必要があるのです。
API,ライブラリなどをコードに内蔵するでも、外部プロセスによって実行でも構いませんがそれぞれ条件がございます。
ご教授お願い致します。
Win10 x64 22h2
VC++ MFC VS2015
UVC規格準拠の高画質カメラ:たしかフルHD以上はあったはず
接続しているUSBの規格は3.0なので十二分に高速?
カメラ : 23/09/23追記
2592x1944 12fps
500万画素 スクエア
GUIの動作に支障がないこと
(=別プロセス実行や非同期実行であること)
(GUI要素へ画像の反映の部分もできれば書いていただけると助かる。)
プロセス起動とともに処理実行されること。
つまり別途開始ボタン押下等が要らないこと。
プロセス起動とともに終了されること。
つまり別途停止ボタン押下等が要らないこと。
エンコード形式は近年において一般的であり、圧縮率の高いものであること。
ffmpegのAPIを試してみましたが、情報が少なく実装しきれなかったです。
静画ならともかく、エンコードを含める動画のやり取りとなるとその方面は明るくないのであまりちゃんとした自己解決を図れなかったです。
23/09/23追記
現状OpenCVで試行中です。
23/09/25追記
OpenCVで試したところ、問題に突き当たりました。
外部プロセスとしてOBS Studioにhttps://github.com/obsproject/obs-websocket
のプラグインを入れて呼び出し元からプロセス起動と録画操作をやるのが
納期的に早そうだがUSBカメラの仕様上限が無さそうなので敗北濃厚という印象。
4k、60fpsとか言われたらPC側の要求スペックがゲーミングPCになって
コントロール側ともPCそのものを分ける必要性が出るだろうと予想されます。
スペック詳細判明しましたので追記しました。
OBSスタジオのプラグインですか。見てみますね
Fpsが低いので解像度は高いが処理数はFHD60fps以下ですか。
内蔵はqiitaに雛型を提案している人がいるようです。
https://qiita.com/yohhoy/items/50c6771168a91e8d0367
助かります。明日みてみます。
言語指定とか特になかったんでまあ一旦javaと仮定して
よく見たらVC++って書いてあった^^
WebCamControllerライブラリにwebcam-captureを使用してカメラフレームをキャプチャ
https://github.com/sarxos/webcam-capture/tree/master
GUIに出すサンプルも充実してそうですし老舗ライブラリなのでちょいちょい日本語情報もググればありそうです。
WebcamPanelなる便利Classがあります。
保存の内部キャプチャ自体はこのライブラリで完結しねえのでffmpeg-cliを使用してリアルタイムエンコードでどうでしょう。
Docs見てるとffmpeg-cliは使えるらしいので任意のコーデックでStreaming保存できる気がしますね
https://github.com/sarxos/webcam-capture/tree/master/webcam-capture-drivers/driver-ffmpeg-cli
多分ですけどスター数とか見るにこの組み合わせが無難じゃないかなーと思いました
後はOpenCVとか使うアプリケーションですかね?こっちは情報がいっぱいあるので適当にググるといいと思います
現状すでにプログラム(の別バージョン)に多少採用されていたOpenCVにつけ足しで録画部分の構築を試していますが、保険としてwebcam-captureのC++実装についてもう少し詳しく情報いただけますか?
webcam-captureは完全無垢なJava実装LibraryなのでC++実装はないですね
C++実装も後学を兼ねていい感じのものを調べてみたんですがあんまりパッとしないです
Win32 APIを直で叩くDirectShowの実装なんかはいくらか出てきますが
もしOpenCVもダメならwebcam-captureの実装をC++からjvmLoadingしてやるというのも手でしょうね
ビルド手順もややめんどくさいし、デバッグも怠くなりますが割と独立性の高いモジュールとして設計可能な要件だと思うのでご検討ください
ご提案いただいたところ、申し訳ありませんが本質問の趣旨はPCアプリケーションなどについてですので外部装置については選考外とさせていただきます。
静画ならともかく、エンコードを含める動画のやり取り
動画は静画のパラパラ漫画ですよ。
各カメラがどの項目に対応しているかはカメラ毎に確認が必要です。
windowsならフレームベースのアプリケーション付のカメラを購入した方が確実では?
カメラは既に選定済みかつ当該機器付属の物は本条件にマッチしないものでした。そのためご意見いただいております。
機器の諸元を超えることはできません。
選定済みの機器のアプリの範囲で利用するしかないとおもいます。
bluetoothのインターフェースはないのですか?
用途は定点(監視)カメラですかね?
ffmpegだと、長期録画というより、ストリーミング用途かと思います。
(長期録画もできなくはないと思いますが)