Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 62 additions & 44 deletions docs/dragon/q6a/accessories/camera-12m-577.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,81 +8,99 @@ import Camera12M577 from '../../../common/accessories/\_camera-12m-577.mdx';

<Camera12M577 product='瑞莎 Dragon Q6A' interface='31-Pin 0.3 mm 间距 SMD 卧式 FPC 接口' connect='翻盖式,下接触' pins='31-Pin' pitch='0.3mm 间距' orientation='异面' board='dragon-q6a'/>

## 预览摄像头
## 使用摄像头

使用 libcamera 预览摄像头画面
使用 GStreamer 或 libcamera 的 qcam 工具预览或录制摄像头画面。以下预览命令请在系统桌面终端中运行

### 安装依赖
### 系统更新

进入 `Rsetup -> System -> System Update` 更新系统。

### 使用 GStreamer

#### 安装依赖

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad
```

</NewCodeBlock>

#### 预览摄像头

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
gst-launch-1.0 libcamerasrc ! video/x-raw,width=1920,height=1080,framerate=30/1 ! queue ! videoconvert ! queue ! autovideosink
```

</NewCodeBlock>

#### 录制视频

软件编码(x264enc)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt update
sudo apt install build-essential git pkg-config -y
sudo apt install meson ninja-build -y
sudo apt install python3-pip python3-yaml python3-jinja2 python3-ply python3-pyparsing -y
sudo apt install libyaml-dev libevent-dev -y
sudo apt install libudev-dev libgnutls28-dev openssl libexpat1-dev -y
sudo apt install libdrm-dev -y
sudo apt install libjpeg-dev -y
sudo apt install libglib2.0-dev -y
sudo apt install qt6-base-dev qt6-base-dev-tools qt6-wayland-dev -y
sudo apt install \
qtbase5-dev \
qtbase5-dev-tools \
qtchooser \
qt5-qmake \
qttools5-dev \
qtdeclarative5-dev \
libqt5opengl5-dev \
qml-module-qtquick-controls \
libgles2-mesa-dev \
qml-module-qtquick2 -y
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=30/1 \
! x264enc bitrate=8000 speed-preset=fast \
! mp4mux ! filesink location=/tmp/camera-x264.mp4
```

</NewCodeBlock>

### 编译安装 libcamera
硬件编码 H264(Venus)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
git clone https://git.linuxtv.org/libcamera.git
cd libcamera
git checkout 02277d4c1a5ae7fee582f635936877435a12db64 # Optional. The following test steps are based on this version of libcamera.
meson setup build --wipe \
-Dpipelines=simple \
-Dcam=enabled \
-Dgstreamer=disabled \
-Dv4l2=enabled \
-Dlc-compliance=disabled \
-Dqcam=enabled
ninja -C build -j$(nproc)
sudo ninja -C build install
sudo ldconfig
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 \
! v4l2h264enc ! h264parse ! mp4mux \
! filesink location=/tmp/camera-h264.mp4
```

</NewCodeBlock>

### 设置权限
硬件编码 H265(Venus)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo chmod 666 /dev/dma_heap/*
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 \
! v4l2h265enc ! h265parse ! mp4mux \
! filesink location=/tmp/camera-h265.mp4
```

</NewCodeBlock>

### 启动摄像头
### 使用 libcamera

#### 安装依赖

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt install -y libcamera-tools gstreamer1.0-libcamera libcamera-ipa
```

</NewCodeBlock>

打开系统桌面终端,进入 libcamera 的 build 目录,启动 qcam。
#### 预览摄像头

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
cd libcamera/build/src/apps/qcam/
./qcam --stream pixelformat=YUYV,width=1920,height=1080
qcam --stream pixelformat=YUYV,width=1920,height=1080
```

</NewCodeBlock>
106 changes: 62 additions & 44 deletions docs/dragon/q6a/accessories/camera-13m-214.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,81 +8,99 @@ import Camera13M214 from '../../../common/accessories/\_camera-13m-214.mdx';

<Camera13M214 product='瑞莎 Dragon Q6A' interface='31-Pin 0.3 mm 间距 SMD 卧式 FPC 接口' connect='翻盖式,下接触' pins='31-Pin' pitch='0.3mm 间距' orientation='异面' board='dragon-q6a'/>

## 预览摄像头
## 使用摄像头

使用 libcamera 预览摄像头画面
使用 GStreamer 或 libcamera 的 qcam 工具预览或录制摄像头画面。以下预览命令请在系统桌面终端中运行

### 安装依赖
### 系统更新

进入 `Rsetup -> System -> System Update` 更新系统。

### 使用 GStreamer

#### 安装依赖

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad
```

</NewCodeBlock>

#### 预览摄像头

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
gst-launch-1.0 libcamerasrc ! video/x-raw,width=1920,height=1080,framerate=30/1 ! queue ! videoconvert ! queue ! autovideosink
```

</NewCodeBlock>

#### 录制视频

软件编码(x264enc)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt update
sudo apt install build-essential git pkg-config -y
sudo apt install meson ninja-build -y
sudo apt install python3-pip python3-yaml python3-jinja2 python3-ply python3-pyparsing -y
sudo apt install libyaml-dev libevent-dev -y
sudo apt install libudev-dev libgnutls28-dev openssl libexpat1-dev -y
sudo apt install libdrm-dev -y
sudo apt install libjpeg-dev -y
sudo apt install libglib2.0-dev -y
sudo apt install qt6-base-dev qt6-base-dev-tools qt6-wayland-dev -y
sudo apt install \
qtbase5-dev \
qtbase5-dev-tools \
qtchooser \
qt5-qmake \
qttools5-dev \
qtdeclarative5-dev \
libqt5opengl5-dev \
qml-module-qtquick-controls \
libgles2-mesa-dev \
qml-module-qtquick2 -y
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=30/1 \
! x264enc bitrate=8000 speed-preset=fast \
! mp4mux ! filesink location=/tmp/camera-x264.mp4
```

</NewCodeBlock>

### 编译安装 libcamera
硬件编码 H264(Venus)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
git clone https://git.linuxtv.org/libcamera.git
cd libcamera
git checkout 02277d4c1a5ae7fee582f635936877435a12db64 # Optional. The following test steps are based on this version of libcamera.
meson setup build --wipe \
-Dpipelines=simple \
-Dcam=enabled \
-Dgstreamer=disabled \
-Dv4l2=enabled \
-Dlc-compliance=disabled \
-Dqcam=enabled
ninja -C build -j$(nproc)
sudo ninja -C build install
sudo ldconfig
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 \
! v4l2h264enc ! h264parse ! mp4mux \
! filesink location=/tmp/camera-h264.mp4
```

</NewCodeBlock>

### 设置权限
硬件编码 H265(Venus)— 1080p:

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo chmod 666 /dev/dma_heap/*
gst-launch-1.0 -e libcamerasrc \
! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 \
! v4l2h265enc ! h265parse ! mp4mux \
! filesink location=/tmp/camera-h265.mp4
```

</NewCodeBlock>

### 启动摄像头
### 使用 libcamera

#### 安装依赖

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
sudo apt install -y libcamera-tools gstreamer1.0-libcamera libcamera-ipa
```

</NewCodeBlock>

打开系统桌面终端,进入 libcamera 的 build 目录,启动 qcam。
#### 预览摄像头

<NewCodeBlock tip='radxa@dragon-q6a$' type="device">

```bash
cd libcamera/build/src/apps/qcam/
./qcam --stream pixelformat=YUYV,width=1920,height=1080
qcam --stream pixelformat=YUYV,width=1920,height=1080
```

</NewCodeBlock>
Loading
Loading