From 5d597bd2ce20137af6073ef9fa4b04c5337df6b7 Mon Sep 17 00:00:00 2001 From: lxowalle Date: Mon, 20 May 2024 11:18:40 +0800 Subject: [PATCH 1/7] * update doc of http streamer --- docs/doc/en/video/jpeg_streaming.md | 105 ++++++++++++++++++++++- docs/doc/zh/video/jpeg_streaming.md | 101 +++++++++++++++++++++- examples/vision/streaming/http_stream.py | 25 ++++++ 3 files changed, 224 insertions(+), 7 deletions(-) create mode 100644 examples/vision/streaming/http_stream.py diff --git a/docs/doc/en/video/jpeg_streaming.md b/docs/doc/en/video/jpeg_streaming.md index 774ceb86..5b953057 100644 --- a/docs/doc/en/video/jpeg_streaming.md +++ b/docs/doc/en/video/jpeg_streaming.md @@ -5,16 +5,21 @@ update: author: neucrack version: 1.0.0 content: Initial document - + - date: 2024-05-20 + author: lxowalle + version: 1.0.1 + content: update JPEG-HTTP usage --- ## Introduction -Sometimes it is necessary to send images to a server or push video from a camera to a server. Here, we provide the simplest method, which is to compress images into `JPEG` format and send them one by one to the server. +Sometimes it is necessary to send images to a server, or to push video from a webcam to a server, so here are two ways to do it. + +- One of the simplest methods is to compress images into `JPEG` format and send them one by one to the server. Note, this is a very basic method and not a formal way to stream video. It is also not suitable for high-resolution, high-frame-rate video streams, as it involves sending images one by one. For more efficient video streaming, please use the `RTSP` or `RTMP` modules discussed later. -Note, this is a very basic method and not a formal way to stream video. It is also not suitable for high-resolution, high-frame-rate video streams, as it involves sending images one by one. For more efficient video streaming, please use the `RTSP` or `RTMP` modules discussed later. +- Set up an HTTP server, so that the PC side can be accessed directly through the browser. -## How to Use +## Methods for pushing streams as a client ```python from maix import image @@ -42,3 +47,95 @@ print(res.text) ``` As you can see, the image is first converted into `JPEG` format, and then the binary data of the `JPEG` image is sent to the server via `TCP`. + +## Methods for pushing streams as a server + +```python +from maix import camera, time, app, http + +html = """ + + + JPG Stream + + +

MaixPy JPG Stream

+ Stream + +""" + +cam = camera.Camera(320, 240) +stream = http.JpegStreamer() +stream.set_html(html) +stream.start() + +print("http://{}:{}".format(stream.host(), stream.port())) +while not app.need_exit(): + t = time.time_ms() + img = cam.read() + jpg = img.to_jpeg() + stream.write(jpg) + print(f"time: {time.time_ms() - t}ms, fps: {1000 / (time.time_ms() - t)}") +``` + +Steps: + +1. Import the image, camera and http modules: + + ```python + from maix import image, camera, http + ``` + +2. Initialize the camera: + + ```python + cam = camera.Camera(320, 240) + ``` + + +3. Initialize Stream Object + + ```python + stream = http.JpegStreamer() + stream.start() + ``` + + - `http.JpegStreamer()` is used to create a `JpegStreamer` object, which will start an `http server` that will be used to publish `jpeg` image streams to clients. + - `stream.start()` is used to start the `http server`. + +4. Custom html styles (optional) + + ```python + html = """ + + + JPG Stream + + +

MaixPy JPG Stream

+ Stream + + """ + + stream.set_html(html) + ``` + + - `html = xxx` is the `html` code that can be used to customise the style of your web page. Note that the core code is `‘Stream’`, be sure not to miss this line of code. + - `stream.set_html(html)` is used to set the custom `html` code, this step is optional. The default browsing address is `http://device_ip:8000`. + +5. Getting images from the camera and pushing streams + + ```python + while 1: + img = cam.read() + jpg = img.to_jpeg() + stream.write(jpg) + ``` + + - `img = cam.read()` gets an image from the camera, when initialised as `cam = camera.Camera(320, 240)` the `img` object is an RGB image with a resolution of 320x240. + - `jpg = img.to_jpeg()` converts the image to `jpeg` format + - `stream.write(jpg)` writes the image format to the server and the `http` server will send this image to the `http` client. + +6. 6. Done, after running the code above, you can see the video stream directly through your browser, the default address is `http://device_ip:8000`. Open your browser and take a look! + + diff --git a/docs/doc/zh/video/jpeg_streaming.md b/docs/doc/zh/video/jpeg_streaming.md index 8b52010d..59bfc277 100644 --- a/docs/doc/zh/video/jpeg_streaming.md +++ b/docs/doc/zh/video/jpeg_streaming.md @@ -5,15 +5,20 @@ update: author: neucrack version: 1.0.0 content: 初版文档 + - date: 2024-05-20 + author: lxowalle + version: 1.0.1 + content: 更新JPEG-HTTP用法 --- ## 简介 -有时需要将图像发送到服务器,或者将摄像头的视频推送到服务器,这里提供一个最简单的方法,即压缩成 `JPEG` 图片,然后一张一张地发送到服务器。 +有时需要将图像发送到服务器,或者将摄像头的视频推送到服务器,这里提供两种方法: -注意,这是一种最简单的方法,不算很正规的视频推流方法,也不适合高分辨率高帧率的视频流,因为这只是一张一张发送图片,如果要高效推送视频流,请使用后文的 `RTSP` 或者 `RTMP` 模块。 +- 一个最简单的方法,即压缩成 `JPEG` 图片,然后一张一张地发送到服务器。注意,这是一种最简单的方法,不算很正规的视频推流方法,也不适合高分辨率高帧率的视频流,因为这只是一张一张发送图片,如果要高效推送视频流,请使用后文的 `RTSP` 或者 `RTMP` 模块。 +- 建立一个HTTP服务器, 让PC端可以通过浏览器直接访问 -## 使用方法 +## 作为客户端推流的方法 ```python from maix import image @@ -42,4 +47,94 @@ print(res.text) 可以看到,先将图片转换成了 `JPEG` 格式,然后将 `JPEG` 图片的二进制数据通过`TCP`发送到服务器。 +## 作为服务器推流的方法 +```python +from maix import camera, time, app, http + +html = """ + + + JPG Stream + + +

MaixPy JPG Stream

+ Stream + +""" + +cam = camera.Camera(320, 240) +stream = http.JpegStreamer() +stream.set_html(html) +stream.start() + +print("http://{}:{}".format(stream.host(), stream.port())) +while not app.need_exit(): + t = time.time_ms() + img = cam.read() + jpg = img.to_jpeg() + stream.write(jpg) + print(f"time: {time.time_ms() - t}ms, fps: {1000 / (time.time_ms() - t)}") +``` + + +步骤: + +1. 导入image、camera和http模块 + + ```python + from maix import image, camera, http + ``` + +2. 初始化摄像头 + + ```python + cam = camera.Camera(320, 240) # 初始化摄像头,输出分辨率320x240 RGB格式 + ``` + +3. 初始化Stream对象 + + ```python + stream = http.JpegStreamer() + stream.start() + ``` + + - `http.JpegStreamer()`用来创建一个`JpegStreamer`对象,这个对象将会启动一个`http服务器`,用来向客户端发布`jpeg`图像流 + - `stream.start()`用来启动`http服务器` + +4. 自定义html样式(可选) + + ```python + html = """ + + + JPG Stream + + +

MaixPy JPG Stream

+ Stream + + """ + + stream.set_html(html) + ``` + + - `html = xxx`是`html`代码,可以用来定制自己的网页风格。注意核心代码是`Stream`,一定不要漏了这行代码。 + - `stream.set_html(html)`用来设置自定义的`html`代码,这一步是可选的。默认浏览地址是`http://设备的ip:8000`。 + +5. 从摄像头获取图片并推流 + + ```python + while 1: + img = cam.read() + jpg = img.to_jpeg() + stream.write(jpg) + ``` + + - `img = cam.read()`从摄像头获取一张图像,当初始化的方式为`cam = camera.Camera(320, 240)`时,`img`对象是一张分辨率为320x240的RGB图。 + - `jpg = img.to_jpeg()`将图像转换为`jpeg`格式 + - `stream.write(jpg)`向服务器写入图像格式,`http`服务器将会把这个图像发送到`http`客户端。 + +6. 完成,运行上须代码后, 你可以通过浏览器直接看到视频流, 默认地址为`http://设备的ip:8000`。打开你的浏览器看看吧! + + diff --git a/examples/vision/streaming/http_stream.py b/examples/vision/streaming/http_stream.py new file mode 100644 index 00000000..b3877869 --- /dev/null +++ b/examples/vision/streaming/http_stream.py @@ -0,0 +1,25 @@ +from maix import camera, time, app, http + +html = """ + + + JPG Stream + + +

MaixPy JPG Stream

+ Stream + +""" + +cam = camera.Camera(320, 240) +stream = http.JpegStreamer() +stream.set_html(html) +stream.start() + +print("http://{}:{}".format(stream.host(), stream.port())) +while not app.need_exit(): + t = time.time_ms() + img = cam.read() + jpg = img.to_jpeg() + stream.write(jpg) + print(f"time: {time.time_ms() - t}ms, fps: {1000 / (time.time_ms() - t)}") \ No newline at end of file From a85f5610b9c6bf0987316c30c1aad55d0a5e0def Mon Sep 17 00:00:00 2001 From: lxowalle Date: Mon, 20 May 2024 11:45:03 +0800 Subject: [PATCH 2/7] * update rtsp doc --- docs/doc/en/sidebar.yaml | 2 +- docs/doc/en/video/rtsp_streaming.md | 71 +++++++++++++++++++++++++++ docs/doc/zh/sidebar.yaml | 2 +- docs/doc/zh/video/rtsp_streaming.md | 74 +++++++++++++++++++++++++++++ examples/vision/streaming/rtsp.py | 2 +- 5 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 docs/doc/en/video/rtsp_streaming.md create mode 100644 docs/doc/zh/video/rtsp_streaming.md diff --git a/docs/doc/en/sidebar.yaml b/docs/doc/en/sidebar.yaml index 5751da37..d1445b4b 100644 --- a/docs/doc/en/sidebar.yaml +++ b/docs/doc/en/sidebar.yaml @@ -92,7 +92,7 @@ items: label: Play video - file: video/jpeg_streaming.md label: JPEG stream - - file: video/rtsp.md + - file: video/rtsp_streaming.md label: RTSP stream diff --git a/docs/doc/en/video/rtsp_streaming.md b/docs/doc/en/video/rtsp_streaming.md new file mode 100644 index 00000000..5d1abbd8 --- /dev/null +++ b/docs/doc/en/video/rtsp_streaming.md @@ -0,0 +1,71 @@ +--- +title: MaixPy Video Streaming RTSP Push Streaming +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: Initial documentation +--- + +## Introduction + +This document provides methods for pushing streaming camera image via RTSP + +## How to use + +```python +from maix import time, rtsp, camera, image + +server = rtsp.Rtsp() +cam = camera.Camera(2560, 1440, image.Format.FMT_YVU420SP) +server.bind_camera(cam) +server.start() + +print(server.get_url()) + +while True: + time.sleep(1) +``` + +Steps: + +1. Import the image、camera、image and rtsp modules: + + ```python + from maix import time, rtsp, camera, image + ``` + +2. Initialize the camera: + + ```python + cam = camera.Camera(2560, 1440, image.Format.FMT_YVU420SP) # Initialise camera, output resolution 2560x1440 NV21 format + ``` + - Note that the RTSP module currently only supports the NV21 format, so the camera needs to be configured to output in NV21 format. + +3. Initialise and start the Rtsp object + + ```python + server = rtsp.Rtsp() + server.bind_camera(cam) + server.start() + ``` + + - ``server = rtsp.Rtsp()`` used to create an ``Rtsp`` object + - `server.bind_camera(cam)` is used to bind a `Camera` object, after which the original `Camera` object can no longer be used. + - `server.start()` is used to start the `rtsp` push stream. + +4. Print the URL of the current RTSP stream + + ``python + print(server.get_url()) + `` + + - ``server.get_url()`` is used to get the ``playback address`` of ``RTSP``. + +6. Finished, after running the above code, you can play the video stream through [VLC](https://www.videolan.org/vlc/) software, the tested version of `VLC` is `3.0.20`. The default playback address is `rtsp://device ip:8554/live`. + +## OSD + +Drawing lines and frames via OSD + +TODO \ No newline at end of file diff --git a/docs/doc/zh/sidebar.yaml b/docs/doc/zh/sidebar.yaml index 0fa76b58..ebc27be2 100644 --- a/docs/doc/zh/sidebar.yaml +++ b/docs/doc/zh/sidebar.yaml @@ -92,7 +92,7 @@ items: label: 播放视频 - file: video/jpeg_streaming.md label: JPEG 串流 - - file: video/rtsp.md + - file: video/rtsp_streaming.md label: RTSP 串流 diff --git a/docs/doc/zh/video/rtsp_streaming.md b/docs/doc/zh/video/rtsp_streaming.md new file mode 100644 index 00000000..9e6b2245 --- /dev/null +++ b/docs/doc/zh/video/rtsp_streaming.md @@ -0,0 +1,74 @@ +--- +title: MaixPy 视频流 RTSP 推流 +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: 初版文档 +--- + +## 简介 + +本文档提供通过RTSP推流摄像头画面的方法 + +## 使用方法 + +```python +from maix import time, rtsp, camera, image + +cam = camera.Camera(2560, 1440, image.Format.FMT_YVU420SP) +server = rtsp.Rtsp() +server.bind_camera(cam) +server.start() + +print(server.get_url()) + +while True: + time.sleep(1) +``` + +步骤: + +1. 导入time、rtsp、camera和image模块 + + ```python + from maix import time, rtsp, camera, image + ``` + +2. 初始化摄像头 + + ```python + cam = camera.Camera(2560, 1440, image.Format.FMT_YVU420SP) # 初始化摄像头,输出分辨率2560x1440 NV21格式 + ``` + + - 注意RTSP模块目前只支持NV21格式, 因此摄像头需要配置为NV21格式输出 + + +3. 初始化并启动Rtsp对象 + + ```python + server = rtsp.Rtsp() + server.bind_camera(cam) + server.start() + ``` + + - `server = rtsp.Rtsp()`用来创建一个`Rtsp`对象 + - `server.bind_camera(cam)`用来绑定一个`Camera`对象, 绑定后原`Camera`对象将不能再使用 + - `server.start()`用来启动`rtsp`推流 + +4. 打印当前RTSP流的URL + + ```python + print(server.get_url()) + ``` + + - `server.get_url()`用来获取`RTSP`的`播放地址`。 + +6. 完成,运行上须代码后, 你可以通过[VLC](https://www.videolan.org/vlc/)软件播放视频流, 已测试的`VLC`版本是`3.0.20`. 默认播放地址为`rtsp://设备的ip:8554/live` + + +## OSD + +通过OSD来实现画线与画框 + +TODO \ No newline at end of file diff --git a/examples/vision/streaming/rtsp.py b/examples/vision/streaming/rtsp.py index fc5c0c59..c521f732 100644 --- a/examples/vision/streaming/rtsp.py +++ b/examples/vision/streaming/rtsp.py @@ -1,7 +1,7 @@ from maix import time, rtsp, camera, image -server = rtsp.Rtsp() cam = camera.Camera(2560, 1440, image.Format.FMT_YVU420SP) +server = rtsp.Rtsp() server.bind_camera(cam) server.start() From e5021cb025f5ecfd53884e976100f75888bfcb1b Mon Sep 17 00:00:00 2001 From: lxowalle Date: Mon, 20 May 2024 14:45:04 +0800 Subject: [PATCH 3/7] update audio doc --- docs/doc/en/audio/play.md | 77 +++++++++++++++++++ docs/doc/en/audio/record.md | 61 +++++++++++++++ docs/doc/zh/audio/play.md | 79 ++++++++++++++++++++ docs/doc/zh/audio/record.md | 63 ++++++++++++++++ docs/static/image/maixcam_hardware_back.png | Bin 0 -> 153986 bytes examples/vision/audio/audio_record.py | 5 -- 6 files changed, 280 insertions(+), 5 deletions(-) create mode 100644 docs/doc/en/audio/play.md create mode 100644 docs/doc/en/audio/record.md create mode 100644 docs/doc/zh/audio/play.md create mode 100644 docs/doc/zh/audio/record.md create mode 100644 docs/static/image/maixcam_hardware_back.png diff --git a/docs/doc/en/audio/play.md b/docs/doc/en/audio/play.md new file mode 100644 index 00000000..b5354427 --- /dev/null +++ b/docs/doc/en/audio/play.md @@ -0,0 +1,77 @@ +--- +title: MaixPy Playback Audio +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: Initial document +--- + +## Introduction + +This document provides instructions on how to play audio + + +## How to use + +### Hardware operation + +![image-20240520134637905](../../../static/image/maixcam_hardware_back.png) + +The `MaixCAM` does not have a built-in speaker, so you will need to solder a `1W` speaker yourself. The pins for soldering the speaker are shown in the diagram above on the `VOP` and `VON` pins corresponding to the Speaker. + +Note: If the `MaixCAM` has copper posts attached to these pins, they can be soldered directly to the posts, or on the other side of the board for aesthetic reasons. + +### Code + +Method of playing a PCM file + +```python +from maix import audio, time, app + +p = audio.Player() + +with open('/root/output.pcm', 'rb') as f: + ctx = f.read() + +p.play(bytes(ctx)) + +while not app.need_exit(): + time.sleep_ms(10) + +print("play finish!") +``` + +Steps: + + +1. Import the audio, time and app modules: + + ```python + from maix import audio, time, app + ``` + +2. Initialize the player: + + ```python + p = audio.Player() + ``` + - Note that the default sample rate is 48k, the sample format is little-endian format - signed 16-bit, and the sample channel is 1. You can also customise the parameters like this `p = audio.Player(sample_rate=48000, format=audio.Format.FMT_S16_LE, channel = 1)`. So far only tested with sample rate 48000, format `FMT_S16_LE`, and number of sampling channels 1. + +3. Open and playback a PCM file + + ```python + with open('/root/output.pcm', 'rb') as f: + ctx = f.read() + + p.play(bytes(ctx)) + + while not app.need_exit(): + time.sleep_ms(10) + ``` + - `with open(‘xxx’,‘rb’) as f:` open file `xxx` and get file object `f` + - `ctx = f.read()` reads the contents of the file into `ctx` + - `p.play(bytes(ctx))` plays the audio, `p` is the opened player object, `ctx` is the `PCM` data converted to type bytes + - `time.sleep_ms(10)` Here there is a loop to wait for the playback to complete, as the playback operation is performed asynchronously, and if the program exits early, then it may result in the audio not being played completely. + +4. Done \ No newline at end of file diff --git a/docs/doc/en/audio/record.md b/docs/doc/en/audio/record.md new file mode 100644 index 00000000..e3a08f9a --- /dev/null +++ b/docs/doc/en/audio/record.md @@ -0,0 +1,61 @@ +--- +title: MaixPy Audio Record +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: Initial document +--- + +## Introduction + +This document provides methods for recording + +### How to use + +An example of a recording + +```python +from maix import audio, time, app + +r = audio.Recorder() +r.volume(12) +print("sample_rate:{} format:{} channel:{}".format(r.sample_rate(), r.format(), r.channel())) + +while not app.need_exit(): + data = r.record() + print("data size", len(data)) + + time.sleep_ms(10) + +print("record finish!") +``` + +Steps: + +1. Import the audio, time and app modules: + + ```python + from maix import audio, time, app + ``` + +2. Initialize Recorder + + ```python + r = audio.Recorder() + r.volume(12) + ``` + + - Note that the default sample rate is 48k, the sample format is little-endian format - signed 16-bit, and the sample channel is 1. You can also customise the parameters like this `r = audio.Recorder(sample_rate=48000, format=audio.Format.FMT_S16_LE, channel = 1)`. So far only tested with sample rate 48000, format `FMT_S16_LE`, and number of sampling channels 1. + + - `r.volume(12)` is used to set the volume, the volume range is [0,24] + +3. Start recording + + ```python + data = r.record() + ``` + + - `data` is `bytes` type data in `PCM` format that holds the currently recorded audio. The `PCM` format is set when initialising the `Recorder` object, see step 2. + +4. Done, you can do voice processing on the `PCM` data returned by `r.record()` when doing your own applications. diff --git a/docs/doc/zh/audio/play.md b/docs/doc/zh/audio/play.md new file mode 100644 index 00000000..b60bc0fe --- /dev/null +++ b/docs/doc/zh/audio/play.md @@ -0,0 +1,79 @@ +--- +title: MaixPy 播放音频 +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: 初版文档 +--- + +## 简介 + +本文档提供播放音频的使用方法 + + + + +## 使用方法 + +### 硬件操作 + +![image-20240520134637905](../../../static/image/maixcam_hardware_back.png) + +`MaixCAM`没有内置喇叭,因此需要自行焊接一个功率在`1W`内的喇叭。喇叭焊接的引脚见上图的Speaker对应的`VOP`和`VON`脚。 + +注:如果`MaixCAM`在这两个脚上连接了铜柱,则可以直接焊接在铜柱上,为了美观也可以焊接在板子的另一面。 + +### 编写代码 + +播放一个PCM文件的方法 + +```python +from maix import audio, time, app + +p = audio.Player() + +with open('/root/output.pcm', 'rb') as f: + ctx = f.read() + +p.play(bytes(ctx)) + +while not app.need_exit(): + time.sleep_ms(10) + +print("play finish!") +``` + +步骤: + + +1. 导入audio、time和app模块 + + ```python + from maix import audio, time, app + ``` + +2. 初始化播放器 + + ```python + p = audio.Player() + ``` + - 注意默认的采样率是48k,采样格式为小端格式-有符号16位,采样通道为1。你也可以像这样自定义参数`p = audio.Player(sample_rate=48000, format=audio.Format.FMT_S16_LE, channel = 1)`。目前只测试过采样率48000,`FMT_S16_LE`格式,和采样通道数为1 + +3. 打开并播放一个PCM文件 + + ```python + with open('/root/output.pcm', 'rb') as f: + ctx = f.read() + + p.play(bytes(ctx)) + + while not app.need_exit(): + time.sleep_ms(10) + ``` + - `with open('xxx','rb') as f:`打开文件`xxx`, 并获取文件对象`f` + - `ctx = f.read()`将读取文件的内容到`ctx`中 + - `p.play(bytes(ctx))`播放音频,`p`是已打开的播放器对象, `ctx`是转换为bytes类型的`PCM`数据 + - `time.sleep_ms(10)`这里有一个循环来等待播放完成,因为播放操作是异步执行的,如果提前退出了程序,那么可能导致音频不会完全播放。 + +4. 完成 \ No newline at end of file diff --git a/docs/doc/zh/audio/record.md b/docs/doc/zh/audio/record.md new file mode 100644 index 00000000..74067312 --- /dev/null +++ b/docs/doc/zh/audio/record.md @@ -0,0 +1,63 @@ +--- +title: MaixPy 录音 +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: 初版文档 +--- + +## 简介 + +本文档提供录音的使用方法 + + + +### 使用方法 + +一个录音的示例 + +```python +from maix import audio, time, app + +r = audio.Recorder() +r.volume(12) +print("sample_rate:{} format:{} channel:{}".format(r.sample_rate(), r.format(), r.channel())) + +while not app.need_exit(): + data = r.record() + print("data size", len(data)) + + time.sleep_ms(10) + +print("record finish!") +``` + +步骤: + +1. 导入audio、time和app模块 + + ```python + from maix import audio, time, app + ``` + +2. 初始化录制器 + + ```python + r = audio.Recorder() + r.volume(12) + ``` + + - 注意默认的采样率是48k,采样格式为小端格式-有符号16位,采样通道为1。你也可以像这样自定义参数`p = audio.Recorder(sample_rate=48000, format=audio.Format.FMT_S16_LE, channel = 1)`。目前只测试过采样率48000,`FMT_S16_LE`格式,和采样通道数为1 + + - `r.volume(12)`用来设置音量,音量范围为[0,24] + +3. 开始录制 + + ```python + data = r.record() + ``` + + - `data`是`PCM`格式的`bytes`类型数据,保存了当前录入的音频。`PCM`格式在初始化`Recorder`对象时设置,见步骤2. + +4. 完成,做自己的应用时可以对`r.record()`返回的`PCM`数据做语音处理。 diff --git a/docs/static/image/maixcam_hardware_back.png b/docs/static/image/maixcam_hardware_back.png new file mode 100644 index 0000000000000000000000000000000000000000..8c4b43e0969f3daf25800f90e3b868179479b319 GIT binary patch literal 153986 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

8G`=-3 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 record_ms: - app.set_exit_flag(True) - time.sleep_ms(10) print("record finish!") \ No newline at end of file From b051333f1078019995e261fad218eb2fc3b705a7 Mon Sep 17 00:00:00 2001 From: lxowalle Date: Tue, 21 May 2024 10:15:29 +0800 Subject: [PATCH 4/7] optimize http stream --- examples/vision/streaming/http_stream.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/vision/streaming/http_stream.py b/examples/vision/streaming/http_stream.py index b3877869..e7ab36f2 100644 --- a/examples/vision/streaming/http_stream.py +++ b/examples/vision/streaming/http_stream.py @@ -20,6 +20,5 @@ while not app.need_exit(): t = time.time_ms() img = cam.read() - jpg = img.to_jpeg() - stream.write(jpg) + stream.write(img) print(f"time: {time.time_ms() - t}ms, fps: {1000 / (time.time_ms() - t)}") \ No newline at end of file From 9fd175d29ce15c2d7fb1a432835650c8de1624aa Mon Sep 17 00:00:00 2001 From: lxowalle Date: Wed, 22 May 2024 17:41:07 +0800 Subject: [PATCH 5/7] * update kconfig --- components/maix/Kconfig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/maix/Kconfig b/components/maix/Kconfig index e69de29b..aec45d2d 100644 --- a/components/maix/Kconfig +++ b/components/maix/Kconfig @@ -0,0 +1,5 @@ +config BUILD_WITH_MAIXPY + bool "Used to indicate that maixpy ​​is compiling" + default y + help + application code can use this macro to do special process when compiling MaixPy. From 29b2bd718aeeb0b36d9e543e5664b0ca8f88e16a Mon Sep 17 00:00:00 2001 From: lxowalle Date: Wed, 22 May 2024 17:45:55 +0800 Subject: [PATCH 6/7] * fix typo --- examples/vision/camera/camera_capture.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/vision/camera/camera_capture.py b/examples/vision/camera/camera_capture.py index cc87e72d..b85e58a8 100644 --- a/examples/vision/camera/camera_capture.py +++ b/examples/vision/camera/camera_capture.py @@ -1,7 +1,7 @@ from maix import camera, display, time, app cam = camera.Camera(512, 320) # Manually set resolution, default is too large -disp = display.Display() # MaixCAM default is 522x368 +disp = display.Display() # MaixCAM default is 552x368 while not app.need_exit(): t = time.time_ms() From 55571bb7a271f52adb9b35e6e31fa510df859c4b Mon Sep 17 00:00:00 2001 From: lxowalle Date: Thu, 23 May 2024 13:56:53 +0800 Subject: [PATCH 7/7] * add encoder doc and examples --- docs/doc/en/video/record.md | 147 ++++++++++++++++++++++++++ docs/doc/zh/video/record.md | 148 +++++++++++++++++++++++++++ examples/vision/video/encode.py | 21 ++++ examples/vision/video/encode_fast.py | 25 +++++ 4 files changed, 341 insertions(+) create mode 100644 docs/doc/en/video/record.md create mode 100644 docs/doc/zh/video/record.md create mode 100644 examples/vision/video/encode.py create mode 100644 examples/vision/video/encode_fast.py diff --git a/docs/doc/en/video/record.md b/docs/doc/en/video/record.md new file mode 100644 index 00000000..28c4385a --- /dev/null +++ b/docs/doc/en/video/record.md @@ -0,0 +1,147 @@ +--- +title: MaixPy Video Record +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: Initial document +--- + +## Introduction + +This document provides instructions on how to use the video recording feature + + +## Example 1 + +An example of recording a video in `h265` format. + +```python +from maix import video, image, camera, app, time + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +e = video.Encoder() +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + img = cam.read() + frame = e.encode(img) + + print(frame.size()) + f.write(frame.to_bytes()) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) +``` + +步骤: + +1. import module and Initialize the camera + + ```python + from maix import video, image, camera, app, time + cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) + ``` + + - `camera.Camera()` is used to initialise the camera, here the camera resolution is initialised to `640x480`, currently the `Encoder` only supports the `NV21` format, so set the image format to `image.Format.FMT_YVU420SP`. + +2. Initialise the `Encoder` module + + ```python + e = video.Encoder() + ``` + + - The `video.Encoder()` module currently only supports processing `image.Format.FMT_YVU420SP` format images, which supports `h265` and `h264` encoding, and defaults to `h265` encoding. If you want to use `h264` encoding, then you can change the initialisation parameter to ` video.Encoder(type=video.VideoType.VIDEO_H264_CBR)`. + - Note that only one encoder can exist at the same time + +3. Encoding the camera image + + ```python + img = cam.read() + frame = e.encode(img) + ``` + + - `img = cam.read()` read camera image and save to `img` + - `frame = e.encode(img)` encode `img` and save result to `frame` + +4. Save the encoded result to file + + ```python + f = open('/root/output.h265', 'wb') + f.write(frame.to_bytes(False)) + ``` + + - `f = open(xxx)` opens and creates a file + - `f.write(frame.to_bytes(False))` converts the encoding result `frame` to type `bytes` and then calls `f.write()` to write the data to the file + +5. Timed 2s exit + + ```python + record_ms = 2000 + start_ms = time.time_ms() + while not app.need_exit(): + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) + ``` + + - Here is the application logic for the timed exit, see the code for yourself + +6. Done + +## Example 2 + +An example of recording a video in `h265` format. + +```python +from maix import video, time, image, camera, app + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +e = video.Encoder(capture = True) +e.bind_camera(cam) + +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + frame = e.encode() + img = e.capture() + + print(frame.size()) + f.write(frame.to_bytes(True)) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) +``` + +Similar to example 1, the difference is that the `Encoder` object's `bind_camera` method is called, and the `Encoder` takes the initiative to get the camera image, which has the advantage of using the hardware features to increase the encoding speed. + +``` +e = video.Encoder(capture = True) +e.bind_camera(cam) +frame = e.encode() +img = e.capture() +``` + +- `e = video.Encoder(capture = True)` enables the `capture` parameter to allow encoding to capture encoded images when encoding +- `e.bind_camera(cam)` binds the camera to the `Encoder` object +- `frame = e.encode()` Instead of passing in `img` when encoding, fetch the image from the camera internally +- `img = e.capture()` captures the encoded image from the `Encoder` object, which can be used for image processing + + + +## Convert to MP4 format + +If you want to record video in `mp4` format, you can record `H265` video first, and then use the `ffmpeg` tool in the system to convert to `mp4` format. + +```python +import os + +# Pack h265 to mp4 +# /root/output.h265 is the h265 file path +# /root/output.mp4 is the mp4 file path +os.system('ffmpeg -loglevel quiet -i /root/output.h265 -c:v copy -c:a copy /root/output.mp4 -y') +``` + diff --git a/docs/doc/zh/video/record.md b/docs/doc/zh/video/record.md new file mode 100644 index 00000000..2655fe6e --- /dev/null +++ b/docs/doc/zh/video/record.md @@ -0,0 +1,148 @@ +--- +title: MaixPy 录像 +update: + - date: 2024-05-20 + author: lxowalle + version: 1.0.0 + content: 初版文档 +--- + +## 简介 + +本文档提供录像功能的使用方法 + + +## 示例一 + +一个录入`h265`格式视频的示例 + +```python +from maix import video, image, camera, app, time + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +e = video.Encoder() +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + img = cam.read() + frame = e.encode(img) + + print(frame.size()) + f.write(frame.to_bytes()) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) +``` + +步骤: + +1. 导入模块并初始化摄像头 + + ```python + from maix import video, image, camera, app, time + cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) + ``` + + - `camera.Camera()`用来初始化摄像头, 这里初始化摄像头分辨率为`640x480`,注意目前`Encoder`只支持`NV21`格式,因此设置图像格式为`image.Format.FMT_YVU420SP`。 + + +2. 初始化`Encoder`模块 + + ```python + e = video.Encoder() + ``` + + - `video.Encoder()`模块目前只支持处理`image.Format.FMT_YVU420SP`格式图像,支持`h265`和`h264`编码, 默认为`h265`编码。如果你想使用`h264`编码,则可以修改初始化参数为` video.Encoder(type=video.VideoType.VIDEO_H264_CBR)` + - 注意,同时只能存在一个编码器 + +3. 编码摄像头的图像 + + ```python + img = cam.read() + frame = e.encode(img) + ``` + + - `img = cam.read()`读取摄像头图像并保存到`img` + - `frame = e.encode(img)`对`img`编码并保存结果到`frame` + +4. 保存编码结果到文件 + + ```python + f = open('/root/output.h265', 'wb') + f.write(frame.to_bytes(False)) + ``` + + - `f = open(xxx)`打开并创建一个文件 + - `f.write(frame.to_bytes(False))`将编码结果`frame`转换为`bytes`类型,然后调用`f.write()`将数据写入文件中 + +5. 定时2s退出 + + ```python + record_ms = 2000 + start_ms = time.time_ms() + while not app.need_exit(): + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) + ``` + + - 这里是定时退出的应用逻辑,自己看看吧 + +6. 完成 + +## 示例二 + +一个录入`h265`格式视频的示例 + +```python +from maix import video, time, image, camera, app + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +e = video.Encoder(capture = True) +e.bind_camera(cam) + +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + frame = e.encode() + img = e.capture() + + print(frame.size()) + f.write(frame.to_bytes(True)) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) +``` + +与示例一类似,区别在于调用了`Encoder`对象的`bind_camera`方法,`Encoder`主动取图,这样的优点是可以充分利用硬件特性,增加编码速率 + +``` +e = video.Encoder(capture = True) +e.bind_camera(cam) +frame = e.encode() +img = e.capture() +``` + +- `e = video.Encoder(capture = True)`使能了`capture`参数,让编码时可以抓取编码的图像 +- `e.bind_camera(cam)`将摄像头绑定到`Encoder`对象 +- `frame = e.encode()`编码时不需要再传入`img`,而是内部从摄像头取图 +- `img = e.capture()`从`Encoder`对象中抓取编码的图像 + + + +## 转换为MP4格式 + +如果想要录制`mp4`格式视频,可以先录制好`H265`视频,再使用系统内的`ffmpeg`工具转换为`mp4`格式 + +```python +import os + +# Pack h265 to mp4 +# /root/output.h265 是h265文件路径 +# /root/output.mp4 是mp4文件路径 +os.system('ffmpeg -loglevel quiet -i /root/output.h265 -c:v copy -c:a copy /root/output.mp4 -y') +``` + diff --git a/examples/vision/video/encode.py b/examples/vision/video/encode.py new file mode 100644 index 00000000..7468ea72 --- /dev/null +++ b/examples/vision/video/encode.py @@ -0,0 +1,21 @@ +from maix import video, image, camera, app, time +import os + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +e = video.Encoder() +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + img = cam.read() + frame = e.encode(img) + + print(frame.size()) + f.write(frame.to_bytes(False)) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) + +# Pack h265 to mp4 +os.system('ffmpeg -loglevel quiet -i /root/output.h265 -c:v copy -c:a copy /root/output.mp4 -y') diff --git a/examples/vision/video/encode_fast.py b/examples/vision/video/encode_fast.py new file mode 100644 index 00000000..a5b90909 --- /dev/null +++ b/examples/vision/video/encode_fast.py @@ -0,0 +1,25 @@ +from maix import video, time, image, camera, display, app +import os + +cam = camera.Camera(640, 480, image.Format.FMT_YVU420SP) +disp = display.Display() +e = video.Encoder(capture = True) +e.bind_camera(cam) + +f = open('/root/output.h265', 'wb') + +record_ms = 2000 +start_ms = time.time_ms() +while not app.need_exit(): + frame = e.encode() + img = e.capture() + disp.show(img) + + print(frame.size()) + f.write(frame.to_bytes(True)) + + if time.time_ms() - start_ms > record_ms: + app.set_exit_flag(True) + +# Pack h265 to mp4 +os.system('ffmpeg -loglevel quiet -i /root/output.h265 -c:v copy -c:a copy /root/output.mp4 -y')