- 博客(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
原创 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
原创 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
原创 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
原创 利用libflv库录制成flv视频文件
libflv 是一个支持 H264/H265 和 AAC 的 FLV 封装库。下面是一个完整的示例程序,演示如何将 H.264 和 AAC 裸流封装成 FLV 文件。
2026-04-17 11:05:32
250
原创 嵌入式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
原创 同一局域网下不用SSH快速拷贝linux设备文件方法
在 /tmp 目录下监听 1234 端口,接收文件并保存为 aic_btusb.ko。# 发送文件到目标设备的 1234 端口。
2026-03-03 11:54:09
152
原创 如何编译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下使用文件锁,防止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
原创 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 消息队列接收与处理线程实现
下面是一个完整的 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获取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
rtmp测试:推流代码,srs服务器,librtmp源码rtmpdump-2.3.tgz
2026-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1