2026-03
2026-02 <=> 2026-04
2026-03-05
Milk-V Duo | Extremely Cost-Effective Ultra-Compact Embedded Linux Development Platforms
色々のってて変すぎる(256M / SG2002)
RISC-V ×2
しかもデュアルコアとかではなく、1つは独立して動く(FreeRTOS を動かす想定らしい)
NPU
INT8 だけど 1TOPS ある
ラズパイにはINT8の高速化は(たぶん)なくて全体的に数十FLOPS/TOPSに収まるのですごい数字ではある
残りの浮動小数点演算のほうがボトルネックになりそうな
Intel 8051
太古の8ビットMCUらしい、センサー処理用っぽい
かなり面白そうではあるけど、ここまで来ると映像出力すらなくてシリアルコンソールが必須だったりしてけっっこう面倒だなという気持ちにはなる
あと無線周りがなく、ここは規模が大きくて技適取るのにためらいがないラズパイが強い
色々見るとAIロボット?となるんだけどじゃあ無線欲しいだろとなり……
最近は安チップなのに ARM と RISC-V が選択可能みたいなのが割とあってトランジスタ余りすぎでしょとなる
CoreML のモデルって重みとセットで投げることを前提にしてるけど重みも入力として扱うとどれくらいのオーバーヘッドがあるんだろうか
要は well-known なカーネルを multi-function を使って詰めこんだモデルを作り、そこに仕事を投げたらいいんじゃないかという話
Metal Performance Shader Graph から ANE が呼ばれるからこっち使うべきなのか?
https://scrapbox.io/files/69a9157af1c53c1732248448.png
ありえない
2026-03-04
Raspberry Pi Zero (というか VideoCore IV) には MJPEG のデコーダと H.264 のエンコーダがある
YUV や MJPEG を出す UVC カメラからほぼ無料で H.264 のストリームが取り出せる!
ということで gstreamer を使って RTP に詰めて、pion で WebRTC で送るみたいなのを作った
はまりどころ
デコーダとエンコーダを同時に動かそうとすると不安定になるので、キューを挟む
使えるフォーマットとかはv4l2-ctlを使ってデバイスを頑張って探すとわかる
単純にデコーダとエンコーダを繋ぐと CPU がコピーしてそこがボトルネックになるので、DMABuf を使わせて GPU 上のメモリでやりとりさせる
H.264 エンコーダのデフォルトレベルが低すぎて h264parse が読めないので明示的に3.1とか4とかにしてやる
libwebrtc を使ってる実装(Chrome とか Firefox)は RTP のパケットがすごい大きくても処理できるが、Safari はだめなので適当なバッファに収まりそうなサイズ(1400とか)で分割してやる必要がある
AWS IVS の WHIP エンドポイントはリダイレクトするが、オリジンが変わる上その先にもトークンを届ける必要があり、セキュリティ的に怪しい実装が必要