● Raspberry Pi Bookwormに camera-streamerを installする
2026.05.10
Raspiの OS Ver.12 bookwormでは mjpg-streamer は「libjpeg8-dev」を必要としますが、
これはもう利用できずその後継である libjpeg9-dev はこれと互換性がありません。
mjpg-streamerは約17年ぐらい前に開発された Softwareのためすでに本家の開発は停止しており
Volunteersが継続してメンテナンスを行ってきましたが、RasPi OSの Ver.11 bullseyeでも
十分な対応が出来ていなかった。
このため Raspi OS Ver.12 bookwormでは camera-streamerに Tryしてみます。
【使用するcamera】
RaspberryPi camera Module v2 (imx219)を使用します。
Raspberry Pi Camera module (IMX219PQ)

Raspberry Pi camera仕様
image sensor IMX219PQ (SONY 8Mp 固定解像度)
静止画解像度 3280x2464
Frame rate 1920x1080 (H262:1080 30fps 720 60fps 640x480 90fps)
電源 15pin FFC cable 150mm
camera-streamerは、githubから Downloadして installします。
$ sudo wget https://github.com/ayufan/camera-streamer/releases/download/v0.4.2/camera-streamer-raspi_0.4.2.bookworm_arm64.deb
camera-streamerの公式 site → ayufan/camera-streamer
公式 siteの install方法は Fileを Downloadして installする方法になっています。
まだ公式開示はされていに様ですが、実際は apt-getで installできる様になっていました。
まず、依存 program を installする。
$ sudo apt-get -y install libavformat-dev libavutil-dev libavcodec-dev libcamera-dev liblivemedia-dev v4l-utils pkg-config xxd build-essential cmake libssl-dev
$ sudo apt-get install camera-streamer-raspi ← これは便利になった。
installされた先を探してみると fileは /usr/share/camera-streamer にありました。
Folderの中には起動用のsystemctl.serviceの入った examples folderがあります。
対応している cameraの種類
-rw-r--r-- 1 root root 1055 5月 26 2023 camera-streamer-arducam-16MP.service
-rw-r--r-- 1 root root 1128 5月 26 2023 camera-streamer-arducam-64MP.service
-rw-r--r-- 1 root root 1217 5月 26 2023 camera-streamer-arducam-noir-5MP.service
-rw-r--r-- 1 root root 759 5月 26 2023 camera-streamer-generic-usb-cam.service
-rw-r--r-- 1 root root 847 5月 26 2023 camera-streamer-raspi-usb-cam.service
-rw-r--r-- 1 root root 987 5月 26 2023 camera-streamer-raspi-v13-5MP.service
-rw-r--r-- 1 root root 1110 5月 26 2023 camera-streamer-raspi-v2-8MP.service
-rw-r--r-- 1 root root 1150 5月 26 2023 camera-streamer-raspi-v3-12MP.service
私の持っている cameraは v2-8MP (imx219)ですから、camera-streamer-raspi-v2-8MP.serviceを
/usr/lib/systemd/systemに copyします。
$ sudo cp camera-streamer-raspi-v2-8MP.service /usr/lib/systemd/system
copyをしたら 中身を確認してみましょう。
$ cat /usr/lib/systemd/system/camera-streamer-raspi-v2-8MP.service
; Official Raspberry Pi v2.1 8MP camera based on the Sony IMX219 chip
; https://www.raspberrypi.com/products/camera-module-v2/
[Unit]
Description=camera-streamer web camera for Pi Camera v2.1 8MP on Raspberry PI
After=network.target
ConditionPathExists=/sys/bus/i2c/drivers/imx219/10-0010/video4linux
[Service]
ExecStart=/usr/bin/camera-streamer \
--camera-path=/base/soc/i2c0mux/i2c@1/imx219@10 \
--camera-type=libcamera \
--camera-format=YUYV \
--camera-width=3280 --camera-height=2464 \
--camera-fps=30 \
; use two memory buffers to optimise usage
--camera-nbufs=2 \
; the snapshot is 1438x1080
--camera-snapshot.height=1080 \
; the video/webrtc is 958x720
--camera-video.height=720 \
; the stream is 639x480
--camera-stream.height=480 \
; bump brightness slightly
--camera-options=brightness=0.1 \
--http-listen=0.0.0.0 \
--http-port=8080 \
--rtsp-port
DynamicUser=yes
SupplementaryGroups=video i2c
Restart=always
RestartSec=10
Nice=10
IOSchedulingClass=idle
IOSchedulingPriority=7
CPUWeight=20
AllowedCPUs=1-2
MemoryMax=250M
[Install]
WantedBy=multi-user.target
見る限り何も修正しなくてもそのまま使用できそうです。
次に、config.txtを変更しておきます。
$ cd /boot/firmware
$ sudo nano config.txt
camera_auto_detect=0 ←0に変更
#camera_auto_detect=1
dtoverlay=imx219 ← 追加
[all]
gpu_mem=128 ← memoryを 128に変更
dtoverlay=vc4-kms-v3d,cma-512 ← cma-512 追加
修正が済んだら再起動して、camera-streamer-raspi-v2-8MP.serviceの
systemctl enable と systemctl start を実行しておきます。
その後、別のパソコンから Browserを開いて 192.168.1.11:8080を keyinします。
camera-streamerの top画面がこちら。

top画面の /streameを押すと
出てきた画像がこちら。

なにこれ。半分で画像が切れています。
これは CPU性能不足、memory不足などで最後まで動画を再生できない状態です。
いろいろやってみましたが、--camera-width=3280 --camera-height=2464を
--camera-width=1920 --camera-height=1080に変更して
--camera-fps=30を --camera-fps=20 に変更したらこうなった。
変更後の画像

defaultでは --camera-format=YUYVに設定されていますが、YUYVは cpuも memoryも大量に
消費するので data圧縮した MJPGを指定する方がよさそうです。
Bullseyeや bookwormでは無理して mjpg-stremerを使用する事を考えなくても
installも簡単で便利になった camera-streamerの方が良い気がします。
ただし、trixie では同じ service fileが使用されていますが、--camera-pathで NOT FOUNDが出て
serviceが起動できず activeになりません。
----------------------------------------------------------------------------------------------------------------------------
