live555工程代码路径
live555工程在我的gitee下(doc下有思维导图、drawio图):
live555
https://gitee.com/lure_ai/live555/tree/master
章节目录链接
0.前言——章节目录链接与为何要写这个?
https://blog.csdn.net/yhb1206/article/details/127259190?spm=1001.2014.3001.5502
学习demo
live555mediaserver.cpp
学习线索和姿势
1.学习的线索和姿势
网络编程
流媒体的地基是网络编程(socket编程)。
[网络编程学习]-0.学习路线。
绘图规则
本文的对象图和思维导图遵守的规则详见:
2.绘图规则
非阻塞服务端网络编程流程
socket创建、bind、listen、select、accept、select、recv/send-close。
rtsp协商流程
options、describe、setup、play、pause、teardown、get parameter、set parameter
本节内容和目标
(1)rtsp协议的setup请求与响应
(2)思维导图绘制
(3)wireshark抓包
(4)对象图
(5)延时任务管理双向循环链表探索
正式开始
SETUP协商完事,VLC接着下发了PLAY信令,开始PLAY协商。
1.客户端PLAY请求报文
2.PLAY响应
响应报文如下
如何组成的响应报文,如下慢慢学习。
其实应该带着问题来学习,这样最好,我看到这的时候有问题:
(1) play 的服务端响应流程,mkv文件、h264文件等的流程,是不是会抽象出通用的流程?
(2)然后就是分离音视频数据的,如何分离的?——算了,我也不想知道,太细了、大致流程就行了。
(3)音视频rtp打包和发送live555是如何实现的?这个应该是属于rtp协议线索阶段,不过也是play交互完成后要做的事。