Open6
Momo/RasPiのMJPEG HWデコード失敗調査
各カメラのスペックは https://zenn.dev/kounoike/scraps/2863295bb86828 参照
Momo起動コマンドは ./momo --no-audio-device --hw-mjpeg-decoder 1 --resolution HD --log-level 1 test
で、WinPCからブラウザで確認して、connectして動画が映る→〇 ぐるぐるのまま映らない→×とする
momo以外でMMALの動作確認ということで、hello_mmal_jpeg を使った確認も行う。
hello_mmal_jpegでの確認方法。
- 上のZennスクラップに書いた方法で一コマ分のJPEGデータをファイルに落とす。
- RasPi上に持っていって、
./hello_mmal_jpeg.bin <保存したファイル>
する
結果が
vc.ril.image_decode:out:0(I420)
type: 3, fourcc: I420
bitrate: 0, framed: 0
extra data: 0, (nil)
width: 736, height: 368, (0,0,724,362)
start decoding
received event length 96, EFCH
----------Port format changed----------
vc.ril.image_decode:out:0type: video, fourcc: I420
bitrate: 0, framed: 0
extra data: 0, (nil)
width: 736, height: 368, (0,0,724,362)
pixel aspect ratio: 0/0, frame rate: 0/0
buffers num: 1(opt 1, min 1), size: 406272(opt 406272, min: 406272), align: 0
-----------------to---------------------
type: video, fourcc: I420
bitrate: 0, framed: 0
extra data: 0, 0x7b9330
width: 256, height: 256, (0,0,256,256)
pixel aspect ratio: 0/0, frame rate: 0/0
buffers num (opt 1, min 1), size (opt 98304, min: 98304)
----------------------------------------
Retrieved buffer 0x7f71b8
decoded frame (flags 1, size 406272) count 0
stop decoding
のようにdecoded frameを含んでたら成功(count 0って何だろうと思いつつ)
vc.ril.image_decode:out:0(I420)
type: 3, fourcc: I420
bitrate: 0, framed: 0
extra data: 0, (nil)
width: 736, height: 368, (0,0,724,362)
start decoding
stop decoding
のようにdecoded frameを含まずにstop decodingが出たら失敗とする
機種 | Momo結果 | hello_mmal_jpeg |
---|---|---|
PTZ Optics | 〇 | 〇 |
YOUZIPPER HDC-265M | 〇 | 〇 |
Logicool C525n | × | × |
YOUZIPPER HDC-264M | × | 〇 |
Angetube 825 | 〇 | 〇 |
DEPSTECH DW49 | × | × |
LIEWEG | 〇 | 〇 |
J JOYACCESS | 〇 | 〇 |
JellyCamb | × | × |
Logicool C922n | × | 〇 |
Dellの内蔵カメラはラズパイにつなぎようがないので除外。
10台中5台がMomoラズパイHW MJPEGデコーダNG(うち2台はhello_mmal_jpegだとOK)
JellyCamb、DEPSTECHの2台はblocks=80のDRIが、Logicool C525nはblocks=10のDRIが入っている。
HDC-264Mは0xFF 0xFEのコメントセグメントが入っている(UVC1.1のMJPEG payloadには記載がない)。
PTZ OpticsのようにDRIがあってもblocks=0の冗長な定義であればOK。
もうちょい対応表を充実させる。DRI>0とコメントありがMomoでうまくいかない?
機種 | Momo結果 | hello_mmal_jpeg | DRI blocks | コメントセグメント | YCbCrの間引き |
---|---|---|---|---|---|
PTZ Optics | 〇 | 〇 | 0 | なし | 4:2:0 |
YOUZIPPER HDC-265M | 〇 | 〇 | なし | なし | 4:2:0 |
Logicool C525n | × | × | 10 | なし | 4:2:2 |
YOUZIPPER HDC-264M | × | 〇 | なし | あり | 4:2:0 |
Angetube 825 | 〇 | 〇 | なし | なし | 4:2:2 |
DEPSTECH DW49 | × | × | 80 | なし | 4:2:2 |
LIEWEG | 〇 | 〇 | 0 | なし | 4:2:0 |
J JOYACCESS | 〇 | 〇 | なし | なし | 4:2:2 |
JellyCamb | × | × | 80 | なし | 4:2:2 |
Logicool C922n | × | 〇 | なし | あり | 4:2:2 |