Raspberry Pi Lite版OSでカメラを使う方法

# はじめに
今回はRaspberryPiのLite版OSでカメラ撮影をできるようにします。
私の環境はMacのため、Windowsの方は所々変わってしまうと思います。


## Raspberry Piにカメラを繋げる
※まずはラズパイ本体にカメラを繋いでください。

PCからラズパイにSSH接続します。

まず行ったことは
```
sudo raspi-config
```
です。カメラ機能をONにしようと思ったんですが・・・

Interface Optionsにカメラの項目がありませんでした。

調べたところ2022年ごろからカメラの項目は削除されたようです。

## 写真を撮る

とりあえず写真を撮るコマンドを入力してみました。
```
libcamera-jpeg -o test.jpg
```
すると、問題なく撮影できました。

>※少し補足
>
>上記のコマンドが使用できない場合は、パッケージのインストールが必要なので、手動で必要なパッケージをインストールします。
>```
>sudo apt update
>sudo apt install libcamera-apps libcamera-dev v4l-utils
>```
>を実行します。
>
>※さて戻ります。

lsコマンドで確認します。
```
ls
```
![スクリーンショット 2025-06-08 17.45.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1165666/640cedc6-3f90-404b-957b-dd56f995cbc1.png)
指定した[test.jpg]が作成されています。

Lite版なのでここから手間が掛かりますが、撮影した写真を確認したいと思います。
確認するにはラズパイからPCに写真をコピーします。

※ここで少し手こずったので、記録としてやり方を残します。

## Macのターミナルからscpでラズパイのファイルをコピーする
まずはすぐに実行できたこちらを説明します。
一度exitコマンドでSSH接続を切ります。
```
exit
```
scpコマンドでラズパイからお使いのデスクトップに写真をコピーします。
```
scp pi@raspberrypi.local:/home/pi/test.jpg ~/Desktop/
```

>[scp]はSSH経由でファイルをコピーするコマンド
>[pi@raspberrypi.local:]はRaspberry PiのSSH接続先（ユーザー名＋ホスト名）
>[/home/pi/test.jpg]はコピーしたいPi側のファイルパス 
>[~/Desktop/]はMac側の保存先（PCのデスクトップ）

デスクトップを確認するとコピーしたファイルが確認できます。
ターミナル上でもデスクトップに移動し、
```
open test.jpg
```
と入力すると画像が確認できます。


## ラズパイからMacにscpでファイルをコピーする
次に少し手こずった方を説明します。
結論から言うとリモートログインのアクセス許可の無いユーザーで作業していたため、SSHがすぐに切断されてファイルをコピーできませんでした。（Qiitaに載せやすいようにフルネームではない別のユーザーを作ったためです）

まず、ラズパイにSSH接続している状態でscpコマンドでMacにファイルをコピーします。
```
scp test.jpg masanao@Masanao-Air.local:~/Desktop/
```
ですが、ここでSSHが切断されましたと表示されました。
IPアドレスでやっても同じだったので調べたところ次の方法で解決しました。

まずMacのシステム設定＜共有＜リモートログインをONにします。

そして、デフォルトでは[次のユーザーのみ]にチェックが入り[Administrators(管理者）]になっていると思います。

ここから次のどれかを行います。
1. アクセス許可を全てのユーザーにする（なんとなく不安だったのでやめました）

2. ＋ボタンから今のユーザーを選択して追加（こちらで問題ないと思います）

3. そのままの状態でログアウトし、管理者権限のあるユーザーでPCにログイン、システム設定＜ユーザーとグループ＜ユーザーを選択し、[管理を許可]にチェック（今後同じように権限がなくて弾かれることを避けるために管理者権限を付与しました。）

上記を行い、再度scpコマンドを実行します。
```
scp test.jpg masanao@Masanao-Air.local:~/Desktop/
```
デスクトップを確認すると無事にコピーができていました。

調べる中で他にもMac側の原因でMacへのSSH接続ができていない可能性や、ファイヤウォールの設定などがあるようですので、こちらの方法で上手くコピーできない場合は調べてみてください。

## 動画を撮る
次に動画を撮ってみます。
```
libcamera-vid -t 10000 -o test.h264
```
>こちらのコマンドでは動画を.h264形式で出力します。
>[-t 10000]は10秒の動画を撮影します。1000で1秒です。

作成した動画ファイルをscpコマンドでPCにコピーして確認すると、、、

・・・確認できませんでした。

.h264形式では「アプリケーションが認識できませんでした」と表示されました。

と言うわけでMP4に変換します。

```
ffmpeg -i test.h264 -c copy test.mp4
```
で変換できます。

>ffmpegが入っていない場合は次のコマンドでインストールします。
>```
>sudo apt install ffmpeg
>```

変換したファイルをscpでPCにコピーして確認すると、ちゃんと撮影できていました。

これで無事に写真と動画の撮影ができることが確認できました。


## ※補足　.h264と.mp4の違い
せっかく調べたので補足として記録しておきます。


| 特徴      | `.h264`            | `.mp4`              |
| ------- | ------------------ | ------------------- |
| 正体      | **映像の圧縮形式**（コーデック） | **動画ファイルの容器**（コンテナ） |
| 中身      | **生の映像データ**のみ      | 映像、音声、字幕などをまとめたもの   |
| 拡張子の例   | `video.h264`       | `video.mp4`         |
| 再生のしやすさ | 再生できない環境が多い        | ほとんどのメディアプレイヤーで再生可能 |
| 使用目的    | 一時ファイル、編集用、変換前など   | 完成した動画、配信・保存・共有用    |

Raspberry Piで撮影直後は .h264 → 軽くて保存が速い

あとで .mp4に変換 → 他のデバイスやアプリで再生しやすくなる

といった感じです。


# さいごに
Lite版OSだとDesktopがないのでファイルの確認は少し手間が掛かりますね。
（頻繁に確認する場合は自動化することをおすすめします）