これは私の最初の投稿であり、何か助けが得られることを願っています
samsung ok6410ボードとov9650 cmosカメラで組み込みLinuxに取り組んでいます
ビデオをキャプチャしてSDカードに保存する必要があります
ビデオをキャプチャする循環バッファーを使用したいのですが、それがいっぱいになると、新しいデータが古いデータを上書きできるようになります。
発生すると、キャプチャが 10 秒間継続してから停止するフラグがあります。ビデオは SD カードに保存され、フラグを上げる前の 10 秒と上げた後の 10 秒が含まれている必要があります。
v4l2 API仕様の公式サイトのキャプチャ例はこちら
http://free-electrons.com/kerneldoc/latest/video4linux/API.html
しかし、理解できない、または正しく理解しているかどうかわからない点がいくつかあります
この例では、4 つのフレーム バッファがあり、各バッファは 1 つのフレームを保持できます。これは正しいですか?
70 に初期化される変数 (frame_count) がありますが、これは、このプログラムを終了すると、70 フレームを含むビデオが得られるということですか?
fns (メインループ) と (読み取りフレーム) は何をしますか? 私は彼らが何をすべきかを知っていますが、書かれたコード、ループなどを理解できません..
このコードで fps を調整するにはどうすればよいですか? または、カメラのレジスタに値を書き込む必要がありますか?
ビデオをキャプチャした後、生データで満たされたバッファができます。それを圧縮するか、コーデックを使用して MPEG として保存したいのですが、YUYV の代わりにピクセル形式を圧縮 (MPEG など) に変更できますか? または、ビデオを圧縮するにはどうすればよいですか? コーデックまたは何?
バッファ内のこれらの生データをファイル .yuv に書き込むことはできますか? この形式のビデオを再生できるソフトウェアをいくつか見つけました。
キャプチャしたビデオを保持するために線形バッファーの代わりに循環バッファーを使用することは可能ですか?
投稿が長すぎることはわかっていますが、私は初心者であり、コードを書くのに役立つチュートリアルが見つかりません。
前もって感謝します