自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 telnet登录linux实时查看xx.log日志

通过 Telnet 登录 Linux 后,实时打印xx.log日志,最直接、最常用的命令是 tail -f。

2026-10-27 11:03:32 151

原创 windows下实现运行mesiamtx服务器推拉流

在 Windows 下使用 MediaMTX 服务器,推流和拉流命令基本保持不变,主要区别在于。

2026-07-04 10:02:00 504

原创 ZLMediaKit 9.0版本下载编译

ZLMediaKit,自带完整 ICE-Full WebRTC 客户端拉流能力;8.0 稳定分支无该功能,不要拉 8.0 分支。,第三方子模块会缺失,编译必报错,必须用 Git 克隆。

2026-06-23 10:17:31 272

原创 修改目录下所有sh可执行权限

1、修改当前和子目录下所有sh脚本为可执行权限。

2026-06-16 11:08:34 343

原创 Windows下局域网rtsp流媒体服务器搭建-测试

打开浏览器,进入 MediaMTX 在 GitHub 上的官方发布页:https://github.com/bluenviron/mediamtx/releases。你需要根据你的操作系统选择对应的版本。系统架构:现在绝大多数电脑都是 64 位系统,所以请下载文件名中包含 windows_amd64 的压缩包。命令执行后,打开VLC等播放器,输入地址 rtsp://192.168.8.23:8554/stream。打开一个新的命令行窗口,进入FFmpeg的安装目录(或已配置好环境变量)。

2026-06-04 15:49:26 590

原创 用ZLMediaKit实现客户端RTSP推流测试c程序

【代码】用ZLMediaKit实现客户端RTSP推流测试c程序。

2026-05-29 21:17:06 249 1

原创 linux下安装rtsp流媒体服务器

flash player在播放rtmp时,采⽤的是复杂握⼿模式,如果不安装该库,flash player将播放不了。ZLMediaKit可选依赖⼀些第三⽅库,这些库都不是必选的;在构建ZLMediaKit时,cmake能查找系统路。同时ZLMediaKit的https/rtsps相关功能需要使⽤openssl才能开启。linux上要求gcc 版本 >= 4.8(4.7应该也能⽀持)初始化并更新子模块( 可选,如果找不到它依赖的子模块。zlmediakit 提供的rtmp url.3、构建和重新编译项⽬。

2026-05-24 15:38:30 90

原创 libflv组包h264+AAC,librtmp推流

标准可解码 H264 真实 SPS/PPS、I 帧、P 帧,拉流能出画面 标准可解码 AAC 1kHz 正弦音频裸流,拉流能听到声音 基于你现有的 + ,直接替换就能用 不用文件、纯内存模拟,推到 SRS 直接 ffplay 能看画面、听声音一、先说明关键点 H264 数据不带 00 00 00 01 起始码,符合你 libflv 接口要求; AAC 是标准 LC 规格裸流,配合 ADTS 配置可正常解码出 1kHz 声音; 时间戳按 25fps 递增,音画同步正常。=====

2026-05-11 22:37:06 343

原创 如何查看动态库.so是不是空壳

mips-linux-uclibc-readelf工具在sdk工具链中查找。# 如果看到大量UND(未定义)符号,说明是空壳。# 查看libmk_api.so依赖了哪些符号。# 如果看到很多有地址的符号,说明是完整的。

2026-05-06 11:05:09 47

原创 利用librtmp实现h264和AAC音频的推流

【代码】利用librtmp实现h264和AAC音频的推流。

2026-05-03 08:23:15 174

原创 FLV文件解析

..核心区别总结:RTMP: 发送的是Chunk。FLV: 保存的是Tag。实际上,RTMP 的 Chunk Header 去掉后,剩下的 Body 拼起来就是完整的 FLV Tag Payload。这也是为什么录屏软件录制 RTMP 直播流非常高效,只需要把收到的流按顺序写进文件,加上 File Header 即可。这段hexdump输出非常清晰地展示了一个标准 FLV 文件的头部以及第一个Script Tag(元数据)的结构。Header: 确认了是 FLV 格式,包含音视频。

2026-05-02 18:29:15 450

原创 RTMP视频流的帧格式分析

字段位置音频包 (AAC)视频包第一个字节AF17第二个字节00(Seq Header) 或01(Raw Data)00(Seq Header) 或01(NALU)后续字节AAC AudioSpecificConfig 或 Raw ES Data3字节 CompTime + DecoderRecord 或 NALU Units。

2026-05-02 17:54:20 439

原创 FLV文件格式详解

FLV 文件中的每种标签类型均构成单一数据流。一个 FLV 文件中最多包含一个音频流和一个视频流,二者同步。FLV 文件无法定义多个同类型独立流。与 SWF 文件不同,FLV 文件以存储多字节整数。例如,数字 300(0x12C)在 SWF 格式中为 UI16 类型,字节序列是 0x2C 0x01;在 FLV 格式中为 UI16 类型,字节序列是 0x01 0x2C。(无符号 24 位整数)。

2026-04-30 11:10:44 370

原创 利用flv库读取flv文件时长c程序

以下是利用 libflv 库解析 FLV 文件大小和视频时间长度的 C 程序。

2026-04-17 11:18:19 353

原创 利用libflv库录制成flv视频文件

libflv 是一个支持 H264/H265 和 AAC 的 FLV 封装库。下面是一个完整的示例程序,演示如何将 H.264 和 AAC 裸流封装成 FLV 文件。

2026-04-17 11:05:32 250

原创 查询应用程序依赖库有哪些.so库命令

基本格式:ln -s 目标文件 链接名称。

2026-04-13 14:54:09 54

原创 嵌入式linux用nfs挂载ubuntu目录的配置步骤

在嵌入式Linux开发中,使用NFS挂载Ubuntu目录可以免去反复烧写文件的麻烦,是最高效的调试方式之一。整个过程主要分为,以及在这两步。

2026-04-07 10:57:45 295

原创 blufi无加密配网收发报文流程

以下是一个完整的、的 BluFi 配网流程示例。:ESP32,作为 GATT Server,SSID 为"MyAP",密码为"12345678"。:作为 GATT Client。,这是调试阶段最简单的模式。:从0x00开始,每发一帧(无论收发)都自动加1。

2026-04-03 14:09:56 391

原创 aic8800驱动加载报错,加载蓝牙段错误

【代码】aic8800驱动加载报错。

2026-03-04 11:28:50 158

原创 同一局域网下不用SSH快速拷贝linux设备文件方法

在 /tmp 目录下监听 1234 端口,接收文件并保存为 aic_btusb.ko。# 发送文件到目标设备的 1234 端口。

2026-03-03 11:54:09 152

原创 可传入任意函数指针类型的C回调注册函数

/ 调用回调函数1。// 调用回调函数1。// 模拟一些操作后调用回调函数。// 定义回调函数类型。

2026-02-21 11:39:04 311

原创 彻底清除vscode注册表解决重装后无法使用问题

想彻底清理 VSCode 的注册表残留?跟着下面几步走,就能搞定,让你的系统干干净净。

2026-01-24 09:55:03 514 1

原创 如何编译QT可执行release程序

开始菜单 → Qt 5.10.1 → 5.10.1 MinGW 32-bit → Qt 5.10.1 for Desktop (MinGW 5.3.0 32-bit)◦ 或者按 Ctrl+B(Windows/Linux) / Cmd+B(Mac)上面是我的可执行文件地址,这个地址根据实际来定。打开项目 → 在左下角找到构建套件选择区域。◦ 或者选择 Profile(优化版本)◦ 点击左下角的锤子图标(构建项目)◦ 点击调试模式旁边的下拉箭头。◦ 选择 Release。

2025-11-02 15:26:29 430

原创 linux下实现杀死进程c程序

【代码】linux下实现杀死进程c程序。

2025-10-29 17:00:38 170

原创 linux下使用文件锁,防止linux应用重复启动

如果需要普通用户权限运行,可以将锁文件放在用户可写的目录,如。程序异常退出时,锁会自动释放(因为文件描述符会被内核关闭)推荐使用文件锁方案,因为它更加可靠和标准。目录下,可能需要root权限。更可靠,因为它能避免竞态条件。

2025-09-15 10:18:15 328

原创 编译esp32报错解决办法

报错信息:CMake Error at build/CMakeFiles/git-data/grabRef.cmake:48 (file):这个错误是由于 Git 的安全检查导致的。从错误信息可以看出,Git 检测到了"可疑的所有权"(dubious ownership),因为 ESP-IDF 框架所在的目录的所有权与当前用户不匹配。

2025-08-29 17:35:24 933

原创 shell脚本实现读取ini键值

以下是修改后的 shell 脚本,它不仅会读取文件中ota_sta对应的值,还会判断该值是否等于0。

2025-08-18 19:24:27 548

原创 linux下查看 UDP Server 端口的启用情况

(list open files)命令用于列出当前系统打开的文件和网络连接。输出中会显示监听 UDP 端口的进程名、进程 ID 以及监听的端口号等信息。表示 UDP 服务器正在监听所有网络接口的 5353 端口。是一个用于显示网络连接、路由表和网络接口统计信息的工具。是一个用于显示套接字统计信息的工具,它比。列显示了监听的本地地址和端口号。列中查看 UDP 监听端口。

2025-08-18 10:20:33 559

原创 shell脚本实现sha256sum校验并拷贝校验通过的文件

逐行读取checksum.txt文件。对每个文件单独进行SHA256校验。只复制验证通过的文件到目标目录。自动创建目标目录(如果不存在)显示详细的验证和复制结果。最终统计成功/失败数量。检查目标目录是否存在。检查校验文件是否存在。处理文件不存在的情况。

2025-08-15 18:53:11 285

原创 linux下找到指定目录下最新日期log文件

此实现能正确处理您提供的示例文件列表,并返回最新文件(如 "2025-08-15_11-07-58.log")。通过字符串比较找到时间戳最新的文件(文件名越大表示时间越新):最新日志文件的完整路径(动态分配的内存,需调用者释放):日志目录路径 (如 "/appdata/log")遍历所有文件,跳过 "." 和 ".."函数仅基于文件名判断,不检查文件修改时间。使用正则表达式验证文件名是否符合。验证文件名格式是否符合日志文件规范。返回的路径字符串需要调用者释放内存。确保只处理符合命名规范的日志文件。

2025-08-15 17:28:09 556

原创 linux下如何用gdb调式代码段错误Segmentation fault

在Linux下,当程序出现段错误(Segmentation fault)时,可以使用GDB(GNU Debugger)来调试定位问题。

2025-08-11 10:24:03 405

原创 Linux 下用select实现串口数据读取方法

在 Linux 系统里,我们可以借助selectpoll或者epoll这些 I/O 多路复用机制达成串口数据读取的触发方式。这些机制能够让程序在特定文件描述符(像串口设备文件描述符)有数据可读时得到通知,进而进行数据读取操作,而不是像轮询方式那样持续调用read函数。

2025-08-08 09:40:01 705

原创 linux下实现System V消息队列实现任意结构体传输

这个实现提供了高度灵活的消息传递机制,适用于各种嵌入式场景,从简单的传感器数据采集到复杂的设备控制命令,都可以通过定义适当的结构体来实现高效通信。以下是一个实现,可以发送和接收任意类型的结构体消息,而不仅限于特定的。监控队列使用情况,避免溢出。

2025-08-07 17:09:26 291

原创 Shell 脚本发送信号给 C 应用程序,让 C 应用程序回收线程资源后自行退出。

下面分别给出一个 Shell 脚本和 C 程序的例子,实现通过 Shell 脚本发送信号给 C 应用程序,让 C 应用程序回收线程资源后自行退出。

2025-08-04 19:28:54 406

原创 在嵌入式 Linux 系统中,配置 DNS 以实现内网或外网连接

主要涉及修改 DNS 服务器地址。

2025-07-29 11:25:45 639

原创 将十六进制字符串转为十六进制并返回十六进制数据长度

【代码】将十六进制字符串转为十六进制并返回十六进制数据长度。

2025-07-24 22:48:53 572

原创 Linux 消息队列接收与处理线程实现

下面是一个完整的 C 语言实现,创建一个线程来接收消息队列中的数据,缓存到队列中,然后逐个处理。4. 可以根据需要修改消息处理函数 process_message() 的实现。◦ 使用条件变量 (pthread_cond_t) 实现生产者-消费者模型。◦ 使用互斥锁 (pthread_mutex_t) 保护共享数据。◦ 接收线程: 从消息队列接收消息并放入处理队列。◦ 当有新消息到达时,接收线程通知条件变量。◦ 处理线程: 从处理队列取出消息并处理。◦ 当队列为空时,处理线程等待条件变量。

2025-07-14 23:05:25 288

原创 linux打包固件shell脚本

确保校验文件不包含自己,且不会重复打包已生成的。:解压后直接是文件,适合 SDK/软件发布。:避免动态获取脚本名可能导致的意外问题。确保解压后直接是文件,没有父目录层级。,避免动态获取脚本名可能带来的问题。(包含所有文件的 SHA256)如果需要排除更多文件(如。、临时文件等),可在。

2025-07-14 22:20:01 550

原创 linux下的消息队列数据收发

在 Linux 下,可以使用 POSIX 消息队列来实现一个线程向另一个线程发送消息。

2025-07-14 18:02:48 542

原创 linux获取NTP方式

此实现已在ARMv7嵌入式平台测试通过,实测同步精度在局域网环境下可达±50ms,广域网环境下±200ms(受网络延迟影响)。8种详细错误代码(从socket创建到时间设置)默认使用pool.ntp.org公共服务器。若目标平台无DNS支持,可直接使用IP地址。使用NTP v3协议(兼容大多数服务器)使用settimeofday设置系统时间。正确处理1900-1970时间差。超时检测机制(默认5秒可配置)// 使用自定义服务器和超时。支持自定义NTP服务器。// 使用默认参数同步。

2025-07-11 14:37:43 416

Windows下rtsp媒体服务器工具mesiamtx

用于局域网测试rtsp音视频推拉流

2026-06-04

测试H264编码视频源,用于流媒体播放

测试H264编码视频源,用于流媒体播放

2026-05-18

librtmp+MP4v2库实现rtmp推流,还未调通版

librtmp+MP4v2库实现rtmp推流,还未调通版,x86版

2026-05-05

librtmp实现flv文件推流案例

flv_rtmp_pusher.c需改写内部的rtmp推流地址,make后直接运行./test

2026-05-04

libmp4v2安装包和测试mp4文件解复用

libmp4v2安装包和测试mp4文件解复用

2026-05-04

flv视频文件,1280x720分辨率,60秒

flv视频文件,1280x720分辨率,60秒

2026-04-29

libMP4v2库,用于MP4文件存读取

libMP4v2库,用于MP4文件存读取

2026-04-28

rtmp发送h264例程,参考程序

rtmp发送h264例程,参考程序

2026-04-26

rtmp测试应用程序,基于librtmp

rtmp测试应用程序,基于librtmp

2026-04-26

rtmp测试:推流代码,srs服务器,librtmp源码rtmpdump-2.3.tgz

rtmp测试:推流代码,srs服务器,librtmp源码rtmpdump-2.3.tgz

2026-04-26

rtmpdump.tar.gz

librtmp库文件

2026-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除