π·Camera Recording
Example showing how to stream data from cameras and log into disk
Edit the pipeline file
1
Update the pipeline in cameras.rs
#[copper_runtime(config = "src/cu29/pipelines/cameras_1.ron")]
struct CamerasApp {}(
tasks: [
(
id: "cam0",
type: "crate::cu29::tasks::VideoCapture",
config: {
"source_type": "rtsp",
// URL of the RTSP camera
// rtsp://<username>:<password>@<ip>:<port>/<stream>
"source_uri": "rtsp://tapo_entrance:123456789@192.168.1.141:554/stream2",
"channel_id": 0,
}
),
(
id: "enc0",
type: "crate::cu29::tasks::ImageEncoder",
),
(
id: "logger",
type: "crate::cu29::tasks::RerunLoggerOne",
config: {
// Path to the directory where the recordings will be stored
"path": "/tmp/",
}
),
(
id: "bcast0",
type: "crate::cu29::tasks::ImageBroadcast",
),
],
cnx: [
(src: "cam0", dst: "enc0", msg: "crate::cu29::msgs::ImageRgb8Msg"),
(src: "enc0", dst: "logger", msg: "crate::cu29::msgs::EncodedImage"),
(src: "enc0", dst: "bcast0", msg: "crate::cu29::msgs::EncodedImage"),
]
,
logging: (
slab_size_mib: 1024, // Preallocates 1GiB of memory map file at a time
section_size_mib: 100, // Preallocates 100MiB of memory map per section for the main logger.
enable_task_logging: false,
),
)
Start the server
Start streaming
Visualize the streaming


Start Recording
Client terminal
Stop recording
Client terminal
Server terminal
Get the recorded data and Visualize
Last updated