【C++】libwebsockets 服务端示例

前言

Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.

libwebsockets 是一个简单易用的、MIT 许可的、纯 C 语言库,提供了 HTTP/1、HTTP/2、WebSockets、MQTT 和其他协议的客户端和服务器实现。它以安全为导向,轻量级、可配置、可扩展和灵活。通过 cmake 构建和交叉构建非常容易,适用于从嵌入式 RTOS 到大规模云服务的任务。

留作备忘。

【RK3588】关于 devfreq 和 cpufreq 的记录

前言

本文主要介绍了 /sys/class/devfreq/sys/devices/system/cpu/cpufreq 目录,以及如何手动管理和监控设备频率和 CPU 频率。同时提供了简单的 Python 脚本,用于打印设备和 CPU 的频率信息。

环境信息:

  • 硬件:Friendly NanoPi-R6S
  • 固件:rk3588-usb-debian-bullseye-minimal-6.1-arm64-20240131

部分内容由 Github Copilot 自动生成,仅供参考。

【C++】关于 cv::Mat 的几种传参方式

前言

cv::Mat 是 OpenCV 中最常用的数据结构之一,本文主要介绍 cv::Mat 的几种传参方式。

在开始之前要说明一下 cv::Mat 的结构,根据官方文档——Mat基本上是一个具有两个数据部分的类:矩阵头(包含诸如矩阵大小、用于存储的方法、存储矩阵的地址等信息)和指向包含矩阵的指针像素值(根据选择的存储方法采用任何维度)。矩阵头大小是恒定的,但是矩阵本身的大小可能因图像而异,并且通常会大几个数量级。

由于矩阵的一些特性,在传参时会有意料之外的结果。

【FFMPEG】使用 ffmpeg 推 RTSP 流

前言

在现代多媒体应用中,实时流媒体传输(RTSP)是一项重要技术。它允许我们将音视频内容实时传输到远程服务器,从而实现实时观看和监控。FFmpeg 是一个强大的多媒体处理工具,支持多种音视频格式和流媒体协议。

本文将介绍如何在 macOS 上使用 FFmpeg 推送 RTSP 流。我们将涵盖以下内容:

  1. 在 macOS 上安装和配置 FFmpeg。
  2. 搭建 RTSP 服务。
  3. 使用 FFmpeg 将本地视频文件推送到 RTSP 服务。
  4. 使用 FFmpeg 将摄像头视频推送到 RTSP 服务。

通过本文的学习,您将掌握在 macOS 上使用 FFmpeg 进行 RTSP 推流的基本方法和技巧。

【交叉编译】boost
【交叉编译】numcpp
【交叉编译】fmt