自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【音视频】GOP 的设置和分析

GOP(图像组)是H.264编码中两个I帧之间的帧序列,包含I、P、B三种帧类型。GOP长度和Reference间隔是关键参数,影响编码效率与画质:较长的GOP能在相同码率下提升画质,但会受场景切换限制,且增加解码延迟和Seek时间。合理设置GOP需平衡画质、编码效率和操作响应性。

2025-08-21 17:00:44 235

原创 【音视频】闭合GOP和开放GOP

摘要: GOP(图像组)是视频编码中的关键概念,分为闭合GOP和开放GOP。闭合GOP(以IDR帧开始)内帧仅参考本组数据,适合点播、ABR切换、直播时移等需要独立解码的场景;开放GOP允许跨组参考,压缩效率更高,适用于存储型视频或顺序播放场景。闭合GOP牺牲压缩率换取灵活性,开放GOP反之,两者选择需权衡实际需求(如随机访问、带宽、延迟等)。技术细节可参考原文及GitHub资料。 (字数:150)

2025-08-21 14:20:42 749

原创 【C++】 C++11 std::bind和std::function

本文介绍了C++11中的两个重要工具:std::function和std::bind。std::function是一个通用的函数包装器,可以存储和调用各种可调用对象(函数、lambda、成员函数等),提供统一的接口来处理不同类型的可调用对象。std::bind用于绑定可调用对象的参数,通过占位符调整参数顺序或固定部分参数,生成新的可调用对象。文章对比了lambda表达式和std::bind的参数适配能力,说明它们在不同场景下的使用方式。这两个工具简化了函数传递、存储和延迟调用的过程,提高了代码的灵活性和复用

2025-08-20 11:44:08 423

原创 【C++】 C++11 智能指针

C++智能指针解析:shared_ptr的原理与应用 本文介绍了C++智能指针的概念,重点分析了shared_ptr的实现原理和使用方法。传统指针管理内存存在泄露风险,C++11引入智能指针简化内存管理。shared_ptr通过引用计数机制实现多指针共享同一内存对象,当最后一个指针销毁时自动释放内存。文章详细讲解了shared_ptr的初始化方式(优先使用make_shared)、引用计数变化、原始指针获取注意事项以及自定义删除器的用法。同时指出了常见使用误区,如避免用原始指针初始化多个shared_ptr

2025-08-19 11:46:04 919

原创 【音视频】WebRTC 一对一通话 peerconnection_client 分析

学习WebRTC可以从peerconnection_client项目入手,重点分析其信令流程和API使用。信令服务器需实现SDP交换、Candidate交换和业务逻辑处理,可采用WebSocket或HTTP协议。核心文件conductor.cc包含WebRTC的关键功能如媒体协商、网络协商等,通过回调机制与UI线程交互。初始化时需配置SSL、网络库等系统资源,并建立主窗口与消息循环。整体流程包括客户端连接、信令交换、媒体流传输等环节,可作为WebRTC开发的入门参考。

2025-08-19 00:38:53 927

原创 【音视频】WebRTC C++ native 编译

本文介绍了在Windows10+VS2019环境下编译WebRTC源码的完整步骤。主要包括环境搭建(安装VS2019、Python3和depot_tools工具包)、使用gn生成工程文件、通过ninja编译项目,以及解决编译过程中出现的常见问题。最后展示了编译成功的可执行文件测试结果,包括服务器和客户端的连接测试,并提供了遇到闪退问题的解决方案。文中还附有源码下载地址和环境配置说明,为开发者提供了完整的WebRTC编译指南。

2025-08-07 23:38:51 940

原创 【音视频】WebRTC 一对一通话-部署到公网

本文详细介绍了搭建支持HTTPS和WebSocket的Nginx服务器方案。首先通过安装依赖、编译安装Nginx 1.15.8版本,并生成自签名证书;然后配置Nginx实现HTTPS服务,解决WebRTC访问摄像头必须使用安全连接的问题;接着通过Nginx反向代理实现WSS(WebSocket Secure)连接,保障WebSocket通信安全;最后集成Coturn服务器提供STUN/TURN服务,完成完整的WebRTC通信环境搭建。文章提供了完整的配置代码和操作步骤,包括Nginx编译安装、SSL证书生成

2025-08-06 00:55:39 765

原创 【音视频】WebRTC 一对一通话-信令服

本文介绍了基于C++的WebSocket服务器实现,重点讲解了房间管理和信令处理机制。服务器采用WebSocketpp库搭建,通过JSON格式与前端通信。主要内容包括: 服务器配置:基于Ubuntu系统,使用WebSocketpp和nlohmann/json库实现WebSocket和JSON解析功能。 WebSocket连接:设置监听端口和回调函数(连接、消息接收、断开连接)。 房间管理:使用map结构存储房间信息,每个房间维护一个客户端列表(包含UID、房间号和连接句柄)。 信令处理:定义了9种信令类型,

2025-08-05 17:06:52 1083

原创 【音视频】WebRTC 一对一通话-Web端

本文介绍了基于WebRTC的一对一视频通话实现方案。前端页面包含房间ID输入框、加入/离开房间按钮及本地/远端视频窗口。核心部分通过RTCEngine类实现WebSocket连接管理,封装了创建连接、消息收发等基础功能。系统定义了8种JSON格式信令(join、offer、answer等)用于房间管理和媒体协商,并通过onMessage回调函数处理不同信令类型。本地视频需设置muted属性以避免回声问题。该方案实现了基本的P2P视频通话功能,包含房间管理、信令交互和媒体传输等核心模块。

2025-08-05 02:57:37 912

原创 【音视频】WebRTC 一对一通话-实现概述

本文介绍了基于WebRTC技术的音视频通话系统实现方案。系统分为Web端和服务器端:Web端采用HTML+JavaScript实现,通过RTCPeerConnection类处理音视频流;服务器端使用C++开发信令服务器,采用WebSocket协议与Web端通信,并通过coturn实现STUN/TURN服务。系统设计了8种JSON格式信令实现房间管理、媒体协商和网络协商功能。详细说明了媒体协商流程(createOffer/createAnswer)和网络协商机制(addIceCandidate),通过SDP交

2025-08-04 17:39:22 930

原创 【音视频】WebRTC 中的RTP、RTCP、SDP、Candidate

本文详细介绍了实时音视频传输中的RTP(实时传输协议)和RTCP(RTP控制协议)在WebRTC中的应用。RTP负责音视频数据的封装、分片传输与时序控制,支持动态载荷类型协商、大帧分片重组和扩展头部功能,并通过SRTP加密确保安全性。RTCP则通过周期性的收发报告(SR/RR)监测网络状态,提供丢包率、抖动和RTT等关键指标,实现自适应码率调整和媒体同步。两者协同工作,共同保障WebRTC在复杂网络环境下的实时通信质量。文章还通过具体示例解析了RTP报文各字段含义,并展示了协议在实际场景中的应用。

2025-08-01 17:37:55 1096

原创 【网络编程】WebSocket 实现简易Web多人聊天室

本文介绍了一个基于WebSocket的简易聊天室实现方案,分为Web端和服务端两部分。Web端使用HTML+JavaScript构建界面,通过WebSocket与服务器保持长连接,实现了消息发送和接收功能,并区分不同消息类型(加入、离开、聊天)的显示样式。服务端采用C++编写,基于WebSocket++库进行改造,支持多客户端连接和消息广播功能。核心功能包括建立WebSocket连接、处理消息收发、管理客户端连接列表等。文章详细展示了Web端的HTML结构和JavaScript实现代码,以及服务端的C++关

2025-08-01 04:51:11 1026

原创 【网络编程】WebSocket协议介绍

WebSocket是一种全双工通信协议,基于TCP实现,通过HTTP Upgrade机制建立持久连接后实现双向实时数据传输。其特点包括低开销(最小2字节头部)、支持文本/二进制帧、心跳检测等。协议分为握手阶段(HTTP 101切换)和数据传输阶段(二进制帧结构)。帧格式包含FIN标志、操作码、掩码、负载长度等字段,支持分片传输大消息。WebSocket解决了HTTP在实时通信中的局限性,是现代Web应用的核心技术之一。

2025-08-01 01:03:29 1087

原创 【网络编程】WebSocket C++服务器搭建

WebSocket是一种基于TCP的全双工通信协议,解决了HTTP在实时通信中的局限性。相比HTTP的单向请求-响应模式,WebSocket支持低延迟的双向持续数据交互,适用于聊天、在线游戏等实时场景。文章介绍了WebSocket++库的安装方法,包括下载头文件并复制到系统路径,以及配置兼容的Boost库(推荐1.7.0以下版本)。最后展示了一个改造后的echo服务器示例代码,该服务器能保存所有客户端连接并广播消息,核心功能包括连接管理、消息处理和广播发送。编译时需链接boost_system和boost_

2025-07-31 02:34:57 949

原创 【音视频】WebRTC-Web 音视频采集与播放

本文介绍了如何在网页中通过WebRTC API实现摄像头、麦克风等媒体设备的调用。主要内容包括: 打开摄像头:通过video标签、getUserMedia方法和相关回调函数实现摄像头视频流的获取与显示。 打开麦克风:类似摄像头实现,使用audio标签并添加controls控件,修改媒体约束只获取音频。 同时打开摄像头和麦克风:只需在媒体约束中将video和audio都设为true即可。 文章详细说明了HTML标签属性设置、JavaScript媒体约束对象定义、成功/错误回调函数实现,以及如何将媒体流绑定到对

2025-07-30 22:15:20 1019

原创 【音视频】WebRTC 开发环境搭建-Web端

本文介绍了WebRTC开发环境搭建流程:1)安装VSCode及Live Server插件用于前端开发测试;2)在Ubuntu系统下通过wget安装Node.js并配置环境变量;3)从GitHub克隆coturn(STUN/TURN服务器)源码,完成编译安装后启动服务并验证3478端口监听状态。文中提供了详细的操作命令和测试方法,包括前端页面实时预览、Node环境检测以及coturn服务器后台启动等关键步骤。

2025-07-30 19:36:17 370

原创 【音视频】WebRTC 介绍

WebRTC是一套开源技术标准,实现浏览器间实时音视频通信和数据传输。其核心架构采用分层设计:Web API层为开发者提供标准化JS接口;Native C++层由浏览器厂商实现底层功能;引擎层处理音视频编解码、网络传输等核心逻辑,包括音频引擎(NetEQ、回声消除)、视频引擎(VP8编解码)和网络传输(ICE/STUN/TURN)。通信流程分为媒体协商(通过SDP协议交换编解码能力)和网络协商(通过ICE框架实现NAT穿透)。WebRTC支持跨平台运行,无需插件,已成为实时Web通信的核心技术。

2025-07-30 01:53:54 1359

原创 【网络编程】字节序-大端和小端

摘要: 大端存储(高位字节在前)和小端存储(低位字节在前)是数据在内存中的两种存储方式。大端更符合人类阅读习惯,而小端在x86架构中更常见。可通过C++代码检测系统字节序:使用指针检查最低有效字节位置(方法1)或利用union联合体共享内存(方法2)。处理字节序转换时,可手动位操作、使用POSIX标准函数(htonl/ntohl)、C++20的std::endian或Boost库的boost::endian。网络通信中需统一字节序以避免数据解析错误。

2025-07-28 03:20:31 459

原创 【网络编程】TCP的三次握手和四次挥手

TCP协议详解:连接管理与抓包分析 TCP是一种面向连接、可靠的传输协议,通过三次握手建立连接(SYN→SYN-ACK→ACK)和四次挥手断开连接(FIN→ACK→FIN→ACK)。其核心机制包括序列号确认、超时重传和流量控制,确保数据可靠传输。 抓包分析示例:Wireshark捕获的三次握手数据包显示: SYN包(客户端→服务器):源端口61282,目的端口80,Seq=0,窗口8192字节。 SYN-ACK包(服务器→客户端):Seq=0,Ack=1,窗口29184字节,含MSS和窗口缩放选项。 ACK

2025-07-28 03:18:51 692

原创 【网络编程】TCP协议和包头解析

TCP(传输控制协议)是一种面向连接的可靠传输协议,通过序号/确认机制、超时重传、流量控制和拥塞控制等机制确保数据准确传输。其包头格式包含源/目的端口、序号/确认号、数据偏移、控制标志(如SYN/ACK)、窗口大小、校验和等字段,支持可变长度选项。示例展示了典型TCP包头结构(如HTTP连接的80端口),包含各项字段的16进制表示。TCP的可靠性源于其完善的错误检测、数据排序和传输控制机制,是互联网通信的核心协议之一。

2025-07-28 03:13:52 678

原创 【Redis】hiredis库同步、异步连接Redis

这篇文章详细介绍了如何配置和使用hiredis库与Redis服务器进行交互。主要内容包括: hiredis安装配置 从Redis源码包中的deps/hiredis目录安装库 解决动态库路径问题,更新系统共享库缓存 同步连接Redis 介绍了redisContext结构体及其核心成员 详细说明redisConnect函数的使用方法 讲解redisCommand函数及其返回值处理 分析redisReply结构体的各字段含义 示例验证 展示了编译和运行example测试程序的过程 演示了连接Redis服务器并执行

2025-07-28 02:41:02 1177

原创 【Redis】Redis 协议与连接

Redis通信协议RESP基于文本格式,通过首字符区分数据类型(简单字符串、错误、整数、批量字符串、数组)。Redis Pipeline机制优化了网络通信,允许批量发送/接收命令,减少网络往返。Redis事务通过MULTI/EXEC等命令实现原子性操作,其中WATCH提供乐观锁功能。事务与Pipeline的区别在于:Pipeline侧重网络优化但不保证原子性,而事务确保原子性但无网络优化。Redis对ACID特性的支持与传统数据库不同:事务原子性存在限制(运行时错误不自动回滚),通过WATCH实现乐观锁,持

2025-07-27 15:47:57 698

原创 【Redis】Redis 数据存储原理和结构

Redis底层采用字典(dict)作为核心存储结构,通过哈希表实现高效键值存取。字典由哈希表节点(dictEntry)、哈希表(dictht)和顶层字典结构(dict)组成,采用链地址法处理哈希冲突。其核心特性包括:1)使用位运算优化索引映射;2)渐进式重哈希机制,在扩容/缩容时避免性能抖动;3)哈希表节点形成单向链表解决冲突。Redis针对不同数据类型(如String/Hash/List)采用差异化编码策略,根据数据量大小在内存效率与访问速度间取得平衡,如小数据量使用ziplist/intset,大数据量

2025-07-27 02:05:06 856

原创 【Redis】 Redis 基础命令和原理

Redis 本质上是一个 Key-Value(键值对,KV)数据库,在它丰富多样的数据结构底层,都基于一种统一的键值对存储结构来进行数据的管理和操作 Redis 使用一个全局的哈希表来管理所有的键值对,这个哈希表就像是一个大字典,通过键(Key)能快速定位到对应的值(Value)。

2025-07-26 22:42:24 1058

原创 【Redis】Linux 配置Redis

Redis是一款高性能的开源键值数据库,采用内存存储,支持多种数据结构(字符串、哈希、列表等)和持久化功能(RDB/AOF)。具备高可用特性(主从复制、哨兵、集群模式)和原子操作,适用于缓存、会话存储、消息队列等场景。安装配置方面,在Ubuntu系统下载源码编译后,通过修改bind、daemonize等参数调整配置,使用redis-server启动服务,redis-cli连接测试。Redis以其卓越性能(单机QPS 10万+)和丰富功能成为现代应用开发的重要组件。

2025-07-26 15:41:09 733

原创 【MySQL】MySQL 缓存方案

MySQL主从同步是一种数据复制机制,通过二进制日志(binlog)实现主库数据变更同步到从库,保证数据一致性。其核心组件包括binlog、中继日志(relay-log)和IO/SQL线程,流程分为主库日志生成、从库日志获取与重放。基于此机制,可实现读写分离,减轻主库负载,但存在数据延迟问题。引入Redis作为缓存层可提升读性能,但需解决数据同步问题,常见方案包括先删缓存再写库或设置缓存过期时间。此外,还需防范缓存穿透(布隆过滤器)、击穿(分布式锁)和雪崩(错峰过期)等问题。该架构适用于读多写少、高并发查询

2025-07-26 14:29:58 1081

原创 【MySQL】MySQL 事务和锁详解

MySQL事务是保证数据库操作一致性的核心机制,具有ACID特性(原子性、一致性、隔离性、持久性)。事务通过BEGIN开启,COMMIT提交或ROLLBACK回滚,确保操作要么全部成功,要么全部失败。原子性通过undolog实现回滚;一致性要求数据始终满足约束;隔离性通过MVCC和锁机制控制并发访问,解决脏读、不可重复读等问题,支持4种隔离级别(读未提交、读已提交、可重复读、串行化)。实际应用如转账场景中,必须保证扣款和入账操作的原子性,避免数据不一致。

2025-07-24 20:55:19 910

原创 【MySQL】MySQL 索引详解

MySQL索引与约束概述 MySQL索引是一种特殊的数据结构,用于加速数据查询,主要包括以下几种类型: 主键索引:唯一标识记录,具有唯一性和非空特性 普通索引:基础索引类型,无约束性 唯一索引:保证数据唯一性 组合索引:多列联合索引,遵循最左匹配原则 全文索引:针对文本内容的高效分词检索 索引的作用包括加速查询、优化排序等。InnoDB表必须有主键,可通过显式设置、非空唯一索引或自动生成_rowid来实现。约束条件保证数据的完整性和一致性。

2025-07-23 21:25:46 1660

原创 【MySQL】MySQL基础操作

本文介绍了MySQL数据库和表的基础操作。主要内容包括:1)数据库创建、删除和选择操作,推荐使用utf8mb4字符集;2)数据表创建语法,包括字段定义、约束条件、存储引擎选择等;3)MySQL数据类型分类,包括数值类型的大小和范围。重点讲解了创建表时的字段约束、主键设置、字符集选择等关键参数,并提供了具体SQL示例。

2025-07-23 01:35:11 478

原创 【MySQL】MySQL基本概念

本文介绍了MySQL数据库的基础概念和整体架构。主要内容包括:1) 数据库基本概念如OLTP(事务处理)、OLAP(分析处理)和SQL语言分类(DQL、DML等);2) MySQL架构组成,包含连接池、SQL接口、查询解析器等核心组件;3) 数据库设计三大范式原则,强调表结构的原子性、完全依赖和直接相关性;4) 反范式设计考虑,指出范式化可能带来的性能问题。文章系统性地梳理了MySQL的核心知识体系,既包含理论概念也涉及实际应用考量。

2025-07-22 13:38:30 676

原创 【MySQL】Linux配置MySQL Windows远程连接

本文介绍了MySQL数据库的安装配置及远程连接方法。首先概述了MySQL作为开源关系型数据库的特点和应用场景,然后详细说明了在Ubuntu系统下安装MySQL服务端、创建用户并设置远程访问权限的步骤,包括用户创建、密码修改和权限分配等操作。接着介绍了在Windows端安装MySQL Workbench客户端并配置远程连接的过程,最后通过创建测试表和验证数据同步展示了远程连接的成功实现。文章为开发者提供了完整的MySQL远程访问配置指南,涵盖了服务端和客户端的安装与设置全流程。

2025-07-21 23:38:00 864

原创 【网络编程】网络传输-protobuf

摘要: Protocol Buffers(Protobuf)是Google开发的高效跨语言数据序列化工具,通过.proto文件定义数据结构并生成对应语言代码,支持多种编程语言。其工作原理包括定义数据结构、使用protoc编译生成代码,并通过序列化接口实现数据转换。配置步骤包括下载源码、编译安装、设置环境变量。使用示例展示了从定义.proto文件到生成代码、赋值及序列化的完整流程。Protobuf通过二进制编码实现高效数据传输,适用于分布式系统等场景。

2025-07-21 19:48:09 1215

原创 【网络编程】网络传输-JSON

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨语言等特点。其基本结构包括对象(键值对集合)和数组(有序列表),支持字符串、数字、布尔值、null等数据类型。JSON广泛应用于前后端通信、服务间数据交换、配置文件等场景。在C++中,可使用nlohmann/json库实现JSON的序列化与反序列化,该库提供类似STL的操作方式,支持嵌套结构和链式调用。JSON凭借其体积小、解析效率高、兼容性强等优势,已成为现代软件开发中重要的数据交换标准。

2025-07-20 17:13:20 856

原创 【网络编程】网络传输-二进制字节流

摘要: 字节流是计算机基础的数据传输形式,由连续的8位二进制字节组成,适用于所有类型数据的底层表示。字节流与字符流的区别在于前者直接处理原始字节,后者需通过字符编码转换。序列化和反序列化是数据转换的核心技术,将结构化数据与二进制字节流相互转换,广泛应用于网络通信和存储。网络协议需考虑字节序(大小端)、内存对齐和可变长字段处理。通过定义传输协议和手动序列化/反序列化代码,可实现高效可靠的数据传输。文中通过具体示例展示了如何序列化基础数据类型和结构体,并按照协议规范进行反序列化还原数据。

2025-07-20 15:14:43 849

原创 【Linux】mmap的介绍和使用

`mmap` (Memory Map) 是一种将文件或设备映射到内存的系统调用,允许应用程序直接通过内存地址访问文件数据,无需使用 `read`/`write` 等系统调用

2025-07-19 21:36:45 862

原创 【Linux】Linux异步IO-io_uring

io_uring是Linux内核5.1引入的高效异步I/O框架,通过双环形队列(提交队列SQ和完成队列CQ)实现用户态与内核态的零拷贝通信。推荐使用5.8+内核以获取完整功能。开发时通常通过liburing库简化操作,避免直接调用底层系统调用。SQ用于提交I/O请求,CQ用于接收结果,两者通过mmap共享内存实现高效交互。配置参数如IORING_SETUP_SQPOLL可启用轮询模式提升性能。典型使用流程包括初始化队列、提交请求、处理完成事件等步骤,liburing提供了io_uring_queue_ini

2025-07-18 19:46:26 685

原创 【CMake】CMake创建、安装、使用静态库和动态库

本文介绍了使用CMake创建和管理静态库/动态库的方法。首先通过示例代码展示了如何编写CMakeLists.txt文件,分别使用ADD_LIBRARY命令生成动态库(SHARED)和静态库(STATIC)。针对同时生成两种库的需求,详细说明了SET_TARGET_PROPERTIES关键字的使用方法。随后讲解了如何通过INSTALL命令将库文件、头文件安装到系统目录。最后演示了如何使用已安装的库,包括设置头文件搜索路径和库链接方法,重点介绍了LINK_DIRECTORIES和TARGET_LINK_LIBR

2025-07-13 21:32:37 998

原创 【CMake】CMake构建项目入门

本文介绍了CMake跨平台构建工具的基本使用方法。首先讲解了CMake的安装(Ubuntu系统)和版本检查,然后通过Hello World示例演示了完整的构建流程:创建CMakeLists.txt配置文件,使用PROJECT、SET、MESSAGE、ADD_EXECUTABLE等核心指令,以及内部/外部构建方式的区别。重点解析了CMake语法规则,包括变量引用、指令参数格式等注意事项。最后建议完善工程结构,添加src源代码目录、doc文档目录和README等文件。文章配有详

2025-07-12 21:43:26 1299

原创 【音视频】nginx-hls-多码率测试环境搭建

本文介绍了nginx-http-flv-module开源项目的功能对比和环境搭建方法。该项目相比nginx-rtmp-module新增了HTTP-FLV播放、GOP缓存、虚拟主机等特性。环境搭建部分详细说明了在Ubuntu系统下安装依赖库(gcc、pcre、zlib、openssl)、下载nginx-http-flv-module源码、配置nginx编译选项(注意处理OpenSSL 3.0的函数弃用警告)以及编译安装的完整过程。其中特别提醒了模块路径配置错误可能导致的问题,并提供了解决OpenSSL版本兼容

2025-07-12 00:12:06 614

原创 【音视频】HLS拉流抓包分析

本文介绍了HLS流媒体协议的实际测试与分析过程。首先搭建SRS服务器环境,使用FFmpeg推流RTMP并生成HLS切片文件(.m3u8索引和.ts视频片段)。通过FFplay拉流验证播放效果,并用Wireshark抓取HTTP请求进行协议分析。重点解析了客户端请求.m3u8文件的HTTP报文细节,包括GET方法、查询参数和请求头;以及服务器响应报文的特征,如Content-Type、SRS服务器标识和返回的.m3u8文件内容格式。实验结果表明HLS通过HTTP协议实现流媒体分片传输,客户端需先获取动态更新的

2025-07-11 15:04:54 1820

空空如也

空空如也

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

TA关注的人

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