自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 跨平台RTSP高性能实时播放器实现思路

现有播放器(如VLC)在RTSP实时播放场景中面临高延迟(通常数秒)和资源占用大的问题。本文提出一种跨平台解决方案,通过等技术,实现,并支持H.264/H.265编码,适用于医疗、安防等对实时性要求苛刻的场景。

2025-03-20 21:29:56 998

原创 Java基础数据类型、包装类型、字符串与数组全解析

通过理解基础数据类型与包装类型的存储差异、字符串处理类的线程安全与性能取舍、数组与集合的动态特性,开发者能根据场景选择最优方案。内存敏感场景:优先用基础类型数组。业务逻辑复杂场景:使用集合与StringBuilder。高并发环境:选择线程安全的StringBuffer和同步集合。

2025-03-01 12:35:08 512

原创 RTSP中RTP/RTCP协议栈、NTP同步及QoS机制

三位一体保障实时性。三者协同构建了从物理层到应用层的全栈流媒体解决方案,为5G、VR/AR等场景提供基石支撑。实现灵活媒体传输,NTP以。确保全局同步,QoS则依赖。RTP/RTCP通过。

2025-02-26 00:09:42 836

原创 Onvif协议NVR开发方案指南

【代码】Onvif协议NVR开发方案指南。

2025-02-23 16:48:20 1032

原创 ONVIF协议:Profile、WSDL与C++开发详解

描述服务接口和数据结构。解析WSDL文件,生成C++客户端代理和服务端框架代码。:设备发现、视频流传输、PTZ控制、事件订阅。:H.265编码、多码流、元数据、视频分析。定义设备功能集,每个Profile对应一组。:录像存储、回放、检索。:报警输入/输出控制。

2025-02-23 16:47:09 731

原创 ONVIF协议全解析:版本、Profile与关键流程实现

【代码】ONVIF协议全解析:版本、Profile与关键流程实现。

2025-02-23 16:46:07 927

原创 GB28181协议下PS格式详解

PS(Program Stream)是MPEG-2标准(ISO/IEC 13818-1)定义的复用格式,用于将音视频基本流(如H.264、G.711)复用为单一连续流。在GB28181中,PS通过RTP传输,支持UDP/TCP两种传输模式。

2025-02-23 13:04:10 558

原创 GB28181协议下的RTP传输

RTP(Real-Time Transport Protocol)基于RFC 3550,专为实时音视频传输设计,通常运行于UDP或TCP之上,结合RTCP实现质量控制。:通过NTP时间戳和RTP时间戳对齐音视频流。:根据网络状况动态调整编码码率或分片策略。两种传输层协议,TCP分为。

2025-02-23 12:51:40 1350

原创 RTSP场景下的RTP与RTCP

【代码】RTSP场景下的RTP与RTCP。

2025-02-22 10:22:53 1055

原创 RTSP协议全解析

应用层协议,用于控制流媒体服务器(播放、暂停、录制),媒体传输由 RTP/RTCP 实现。:获取媒体流的元数据(SDP 格式)。:协商 RTP/RTCP 传输参数。

2025-02-22 10:21:00 480

原创 GB28181协议详解

我需要确保表格覆盖所有主要信令,包括注册、心跳、实时点播、回放、目录查询、报警通知等。还要注意之前的对话中提到过具体的信令流程和SDP字段,所以表格里需要包含SIP方法、消息类型、关键字段和使用场景。可能还需要补充一些用户没提到的其他信令,比如设备控制和语音对讲,以全面覆盖协议内容。同时,用户可能希望表格结构清晰,方便查阅,所以需要用简洁的标题和明确的分类。最后,确保每个信令的关键字段准确,比如CmdType和XML结构,以及对应的SIP方法,如REGISTER、INVITE、MESSAGE等。

2025-02-21 22:58:38 1650

原创 RTSP场景下RTP协议详解及音视频打包全流程

同H.264的S/E标志,Type为原始NALU类型(如32=IDR)。(S/E标志分片起止,Type为原始NALU类型)。

2025-02-21 11:29:57 969

原创 H264 打包 RTP:不同封装模式解析与解析逻辑

在实时视频传输中,H264 编码格式广泛应用于流媒体和视频会议等场景。在传输过程中,H264 视频数据需要打包成 RTP(实时传输协议)包,以便在网络中高效传输。H264 视频流是由多个 NALU(Network Abstraction Layer Unit)组成的,而 RTP 需要将这些 NALU 封装到不同的 RTP 包中进行传输。为了实现这一目标,H264 RTP 流采用了三种主要的封装模式:本文将详细介绍这三种模式,并深入探讨其实现原理、封装和解析逻辑。单一NALU模式是最简单的封装方式,每个 RT

2025-02-21 10:23:03 1005

原创 C++ Core dump 程序崩溃调试

Core Dump 是一个包含程序崩溃时内存映像的文件,可以帮助开发人员定位和分析程序崩溃的根本原因。生成 Core Dump 文件需要在操作系统中启用并配置相关设置。生成的 Core Dump 文件可以通过 GDB 等调试工具进行详细分析,帮助开发人员复现崩溃场景、查看调用栈、检查变量和线程状态,从而找到并修复潜在的代码问题。

2025-02-17 10:49:00 1016

原创 C++ 线程和线程管理

线程创建与管理:C++11 提供了用于创建和管理线程,支持线程同步与并发操作。锁与互斥量:通过std::mutex等锁类型实现线程间资源同步,避免数据竞态。条件变量同步:使用实现线程间的通知和等待机制,和用于唤醒等待线程。RAII 风格的锁管理:使用和来简化锁的管理,确保锁的自动释放。

2025-02-17 10:47:45 1049

原创 C++ 原子操作库及其线程安全性

原子操作通过保证在多个线程间对数据的访问不被中断或打断,从而避免了多线程环境下常见的竞争条件和同步问题。是指一系列操作的执行是不可中断的,在执行过程中不会被其他线程打断或干扰,保证了数据的一致性。原子操作在多线程程序中尤其重要,它保证了在多个线程同时对共享数据进行操作时,不会产生数据竞争或不一致的结果。头文件提供的,C++ 标准库为多线程程序提供了对基本数据类型(如整数、指针等)的原子操作支持,且这些操作被设计为无锁的。它封装了原子操作的基本功能,保证了对其所管理数据的操作是原子的。

2025-02-16 11:23:34 865

原创 C++ 中的 `std::function`、`std::bind`、lambda 表达式与类型擦除

(Type Erasure)是一种技术,它通过将不同类型的对象封装成一个统一的接口,而不关心这些对象的具体类型。它能够创建一个新的函数对象,并将部分参数“绑定”到该对象中,从而得到一个新的可调用对象。是 C++ 标准库提供的一个模板类,用来封装任何可调用对象(如普通函数、lambda 表达式、成员函数、函数对象等),并为它们提供统一的调用接口。会将各种不同类型的可调用对象封装为一个类型擦除的对象,通过指向抽象基类的指针来实现多态。提供了类型擦除的特性,使得我们可以用统一的接口来处理不同类型的可调用对象。

2025-02-16 11:22:36 1012

原创 C++ std::move` 与 `std::forward` 的核心机制

std::move:用于所有权的显式转移,尤其适合,但需警惕悬空指针。:用于泛型编程中的参数转发,需结合模板类型推导正确使用。智能指针的陷阱:移动后的状态管理、多线程竞态、模板中的类型推导错误。核心原则:明确资源所有权,避免在移动后访问原指针,合理使用类型系统防止误用。

2025-02-15 20:06:26 623

原创 C++左值(Lvalue)与右值(Rvalue)

左值:有持久状态的对象,可以取地址,能出现在赋值号左侧。int a = 10;// a是左值// 可以取地址右值:临时对象,没有持久状态,不能取地址,通常出现在赋值号右侧。纯右值(prvalue):字面量、表达式结果。42;// 字面量func();// 返回非引用类型的函数a + b;// 表达式结果将亡值(xvalue):通过std::move转换或返回右值引用的表达式。// 将左值转为将亡值概念核心用途深拷贝避免资源重复释放,独立管理资源移动语义提升性能,转移资源所有权。

2025-02-15 20:05:28 957

原创 C++编译与运行过程

阶段描述预处理处理宏、头文件、条件编译,生成预处理文件。编译将预处理文件转换为汇编代码。汇编将汇编代码转换为目标文件。链接合并目标文件和库文件,生成可执行文件。内存分布代码区、数据区、堆区、栈区、内存映射区。程序运行加载、初始化、执行、终止。

2025-02-14 09:24:03 944

原创 C++构造函数与析构函数

【代码】C++构造函数与析构函数。

2025-02-14 09:23:14 836

原创 C++智能指针的内存布局

C++ 中的智能指针如。

2025-02-13 11:44:54 1479

原创 C++类的对象内存布局

1. **类对象的内存布局**1.1 **单一类对象的内存布局**1.2 **带有虚函数的类对象**2. **类的嵌套结构的内存布局**2.1 **简单嵌套类**3. **继承类对象的内存布局**3.1 **没有虚函数的继承**3.2 **有虚函数的继承**4. **智能指针管理的类对象的内存布局**5. **总结**欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格。

2025-02-13 11:43:32 980

原创 HTML5PointSDK转码去水印研究

HTML5PointSDK 是一种常用的工具,用于将 PowerPoint 文件转换为 HTML5 格式,以便在网页上进行展示。然而,转码后的 HTML5 文件通常会包含水印,这可能不符合某些用户的需求。本文将介绍两种方法,帮助您去除 HTML5PointSDK 转码后的 HTML5 文件的水印。

2024-02-01 16:29:39 509 1

原创 HTML5PointSDK转码技术

HTML5PointSDK是一款专业的PPT转码工具,旨在将PPT文稿转换为HTML5格式,实现跨平台和交互式演示。

2024-01-29 14:02:12 1060

原创 JetBrains IDE在OSX 10.14以上版本无法获取麦克风、摄像头以及权限解决办法

前言由于最近公司的大部分用户的mac系统都覆盖到了10.14以上,而且最近开发从QTCreator 迁移到了Clion上(不得不说Clion确实强大),结果遇到了Clion 调试遇到麦克风/摄像头权限时无法获取权限,导致调试的程序被OSX系统杀掉的问题,并且截止到目前JetBrains都没有解决,而且各个论坛上也没有人发布解决办法,刚好机缘巧合之下有了解决办法,故将之分享给众人。问题...

2019-12-05 12:04:44 1590

原创 QT 版puremvc框架

PDMvcFrameworkMVC介绍MVC框架将应用程序分为Model、View、Controller三个大模块,Model主要负责应用程序的数据持有,View模块负责业务UI展示,Controller模块负责业务逻辑处理。MVC框架实现使用管理类统一管理注册Controller,Controller管理自己的View与Model,在Controller与Controller之间...

2019-05-23 09:31:28 1177 1

原创 H264 + AAC封装FLV

H264 + AAC封装FLVFLV格式解析FLV文件格式FLV包含一个File Header以及File Body组成,其中File Body由无数个tag组成,结构如图FLV HeaderFLV Header 由9个字节组成结构如下:第1-3字节:1-3字节为文件标识,标识"FLV"0x46 0x4C 0x56第4字节:第4个字节位版本,总为1第5字节:第5个字节的前5位...

2018-09-29 14:18:50 2686 1

原创 OpenGL编程流程(简化版)

OpenGL渲染流程OpenGL渲染流程(管线)其实就是OpenGL执行将用户程序(CPU)定义的三维顶点数据,颜色数据,经过一系列转换最终渲染到计算机屏幕上的过程。程序开发人员想要实现自己的OpenGL程序需要实现几部: * 定义3D坐标向量并想着色器传输顶点数据 * 定义着色器,初始化渲染程序 * 实现渲染循环定义3D坐标向量Opengl中的顶点数据 VBO VA...

2018-05-22 11:42:05 3580

原创 QT+ffmpeg打造跨平台多功能播放器

概述此程序用QT的Qwidget做视频渲染,QT Mutimedia做音频渲染,ffmpeg作为音视频编解码内核,以CMake作跨平台编译。编译参数: DepsPath : ffmpeg库cmake路径 QT_Dir: Qt cmake路径程序分为输入以及渲染两个部分,输入负责打开视频流并从中解码出音/视频帧数据并分开保存到对应的数据队列,渲染部分负责从队列中获取到数据然后转换对应图像/音频格式

2017-09-09 22:54:43 1358

空空如也

空空如也

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

TA关注的人

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