v4l2

V4L2 框架核心概念 Video for Linux 2 (V4L2) 是 Linux 内核中处理视频设备的标准框架,用于统一管理摄像头、视频采集卡等设备。设计 V4L2 框架的核心目的(思想): 用户空间和内核空间分离:应用通过标准系统调用与内核交互 设备抽象:所有视频设备通过 /dev/videoX 节点暴露 缓冲区队列管理:通过 vb2_queue 实现高效的零拷贝数据传输 struct v4l2_device { struct device *dev; struct media_device *mdev; struct list_head subdevs; spinlock_t lock; char name[36]; void (*notify)(struct v4l2_subdev *sd, unsigned int notification, void *arg); struct v4l2_ctrl_handler *ctrl_handler; struct v4l2_prio_state prio; struct kref ref; void (*release)(struct v4l2_device *v4l2_dev); }; 获取当前的格式 ...

July 26, 2026 · 6 min

gb28181

GB28181协议 GB28181协议会话通道实际上使用的是SIP协议,并且在SIP协议的基础之上做了些私有化处理。SIP是一个由IETF MMUSIC工作组开发的协议,作为标准被提议用于创建,修改和终止包括视频,语音,即时通信,在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话。SIP中一个比较重要的概念是用户代理(User Agent),指的是一个SIP逻辑网络端点,用于创建、发送、接收SIP消息并管理一个SIP会话。SIP用户代理又可分为用户代理客户端UAC(User Agent Client)和用户代理服务端UAS(User Agent Server)。UAC创建并发送SIP请求,UAS接收处理SIP请求,发送SIP响应。SIP协议会与许多其它的协议协同工作,如SIP报文内容发送会话描述协议(Session Description Protocol,SDP)4,SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。SIP的一个典型用途是:SIP会话传输一些简单的经过报文的实时传输协议流,RTP本身才是语音或视频的载体。在GB28181协议中,联网系统在进行视音频传输及控制时应建立两个传输通道: 会话通道和媒体流通道。会话通道用于在设备之间建立会话并传输系统控制命令; 媒体流通道用于传输视音频数据, 经过压缩编码的视音频流采用流媒体协议RTP/RTCP传输。GB28181协议中具体通信协议结构图如下图所示: ...

July 13, 2026 · 8 min

sip

SIP协议介绍 ​ SIP 是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如 Internet 电话/视频会议系统

July 13, 2026 · 1 min

media_protocol

流媒体协议 RTSP 在上层发号施令(管控制),RTP 在底层埋头搬砖(运数据),RTCP 在旁边盯着质量(做监督) 三者关系: RTSP (应用层): 流媒体的“遥控器”。 它不传数据,只负责播放、暂停、快进和挂断等控制信令,并在正式传输前商量好底层数据通道的端口。 RTP (传输层/应用层): 流媒体的“快递员”。 它负责将庞大的音视频切片、打包、加上时间戳和序列号,然后通过 UDP 疯狂地发往目的地。 RTCP (应用层): 流媒体的“质检员”。 它不传数据,只在 RTP 旁边拉一条线,定期汇报丢包率和网络延迟。上层流媒体服务器(如 ZLMediaKit)根据它的反馈来决定是否降低码率或进行丢包重传(NACK)。 在实际传输中,RTP 和 RTCP 就像连体婴儿,它们的网络端口是成对绑定的: ...

June 18, 2026 · 7 min