课程内容:
1 Unix系统编程,网络通讯编程基础. unix系统I/O,进程,进程间通讯,线程,socket套接字.
2 音视频流媒体协议基础,协议的本质,深入TCP协议栈,socket接口,自定义私有协议,大小端字节对齐.从0开始写一套多用户,高并发,可伸缩扩展的流媒体服务器。音视频采集,x264编码,视频发送缓冲队列.高并发多用户流媒体架构设计.
3 Qt c/c++流媒体客户端开发,FFmpeg解码,OpenGLES 视频渲染,OpenGL YUV转RGB, 图像渲染等. 4 H264 AAC封装mp4,详解H264编码原理, I P B帧, GOP H.264 NALU 解析与拆分, mp4Box. SPS, PPS, AAC ADTS, FFmpeg实时写H.264.
5 RTMP开发实践,RTMP协议详解,chunk分块技术. FLV格式. SRS流媒体服务器,RTMP实时推流。FDK-AAC实时编码推流.
6 RTSP开发实践. RTSP协议 SDP信令. RTP/RTCP协议. live555开发框架. 开发一套基于摄像头采集x264编码的RTSP实时推流方案.
7 P2P点对点音视频传输框架. NAT详解,UDP打洞原理与实现. 开发一套完全基于UDP的P2P点对点音视频数据传输框架的实现.
8 WebRTC开发实践. WebRTC公网打洞服务器转发服务器搭建,Janus SFU视频会议服务器. 移动PC客户端,开发一套完整基于c++ native 的WebRTC客户端.
课程目录:
h264和aac封装mp4
001.01 h264数据编码
002.02 ipb帧及gop
003.03 h264的nalu
004.04 mp4容器与aac
005.05 mp4封装的两种方式
006.06 h264帧nalu详解
007.07 cmake与ffmpeg库
008.08 封装mp4单例模式
009.09 视频封装接口定义
010.10 封装视频avformatcontex
011.11 设置视频avstream
012.12 设置音频avstream
013.13 封装mp4写头
014.14 cmake依赖的framework
015.15 h264解析nalu算法
016.16 nalu数据处理
017.17 idr帧与非关键帧
018.18 annexb与avcc详解
019.19 ffmpeg写视频数据
020.20 c++11线程库
021.21 封装mp4时间戳详解
022.22 视频录制功能使用
023.23 封装视频与ffmpeg编译选项
024.24 aac编码器初始化
025.25 aac编码与mp4封装总结
linux多用户流媒体并发服务器开发
001.01 v4l视频采集
002.02 x264编码
003.03 linux流媒体服务器项目
004.04 x264编码实现
005.05 linux流媒体服务器开发
006.06 流媒体服务器start
007.07 套接字选项与大小端
008.08 网络32位ip地址
009.09 函数头文件详解
010.10 接受客户端连接
011.11 信号优雅结束服务器
012.12 流媒体服务器客户端处理
013.13 线程detach封装
014.14 服务器读写线程
015.15 创建客户端
016.16 客户端建立连接
017.17 客户端线程库
018.18 非阻塞connect模式
019.19 select函数io复用
020.20 流媒体服务器跨平台开发
021.21 非阻塞发送函数封装
022.22 非阻塞数据接收封装
023.23 send recv返回值详解
024.24 什么是通讯协议
025.25 网络通讯协议子节对齐
026.26 更复杂的协议
027.27 数据包发送
028.28 心跳包与客户端状态
029.29 视频采集编码
030.30 摄像头采集
031.31 摄像头视频采集问题
032.32 linux视频采集与编码
033.33 大规模视频转发
034.34 并发多用户缓存队列
035.35 百万级可伸缩视频服务器
036.36 转发服务器架构实现
037.37 缓存队列实现
038.38 并发多用户视频转发
039.39 客户端音视频接收实现
040.40 流媒体服务器客户端测试
041.41 流媒体服务器资源释放问题
042.42 再看心跳包
043.43 高性能select epoll
044.44 流媒体服务器开发总结
045.45 音视频流媒体整个流程
linux流媒体开发udp篇
001.01 深入网络通讯开发udp概览
002.02 深入网络通讯协议udp 01
003.03 深入网络通讯协议udp 02
004.04 深入网络通讯协议udp 03 分包
005.05 深入网络通讯协议udp 04 丢帧问题
006.06 深入网络通讯协议udp 05 分包算法详解
007.07 深入网络通讯协议 06 win socket
008.08 深入网络通讯协议07 高效可靠的udp
009.09 深入网络通讯协议08 udp可靠性传输框架
010.10 深入网络通讯协议16 udp音视频传输09
011.11 深入网络通讯协议17 udp音视频传输10
012.12 深入网络通讯协议18 udp音视频传输11
013.13 深入网络通讯协议19 udp音视频传输12
014.14 深入网络通讯协议20 udp音视频传输13
015.15 深入网络通讯协议21 udp音视频传输14
016.16 深入网络通讯协议22 udp音视频传输15
017.17 深入网络通讯协议23 udp音视频传输16
018.18 深入网络通讯协议24 udp音视频传输17
019.19 深入网络通讯协议25 udp音视频传输18
020.20 深入网络通讯协议26 udp音视频传输19
021.21 深入网络通讯协议27 udp音视频传输20
022.22 深入网络通讯协议28 udp音视频传输21
023.23 深入网络通讯协议29 udp音视频传输22
024.24 深入网络通讯协议32 udp音视频传输25
025.25 深入网络通讯协议33 的udp音视频传输26
026.26 深入网络通讯协议34 udp音视频传输27
027.27 深入网络通讯协议35 udp音视频传输28
028.28 深入网络通讯协议36 udp音视频传输29
029.29 深入网络通讯协议37 udp音视频传输30
linux网络编程基础
001.qt流媒体开发课程介绍
002.qt流媒体开发学习注意事项
003.01 操作系统api以及区别
004.02 参考书和ubuntu环境
005.03 ubuntu开发环境
006.04 进程与子进程
007.05 linux多线程
008.06 linux编程之信号
009.07 linux线程锁
010.08 cmake详解
011.09 文件读写io
012.10 磁盘读写音频采集
013.11 socket通讯编程概览
014.12 socket通讯函数详解
015.13 tcp与udp的应用
016.14 tcp三次握手
017.15 深入tcp协议栈
018.16 滑动窗口算法
p2p点对点开发实战
001.01 p2p点对点音视频传输概览
002.02 nat类型
003.03 nat穿透_udp打洞
004.04 p2p点对点音视频传输框架01
005.05 p2p点对点音视频传输框架02
006.06 p2p点对点音视频传输框架03
007.07 p2p点对点音视频传输框架04
008.08 p2p点对点音视频传输框架05
009.09 p2p点对点音视频传输框架06
010.10 p2p点对点音视频传输框架07
011.11 p2p点对点音视频传输框架08
qt音视频流媒体客户端开发实战
001.01 从0构建qt跨平台流媒体客户端
002.02 posix与win32套接字
003.03 qt跨平台流媒体客户端构建
004.04 使用c++11跨平台线程库
005.05 qt开启网络通讯客户端
006.06 客户端程序优雅结束掉线程
007.07 yuv数据定义
008.08 qt配置ffmpeg解码环境
009.09 ffmpeg解码h.264数据
010.10 数据yuv与字节对齐
011.11 接收流媒体与解码
012.12 回调函数回调视频数据
013.13 qtopengl以及shader
014.14 c++与openglshader数据传递
015.15 opengl渲染yuv视频数据
016.16 渲染开头绿屏问题解决
017.17 客户端总结和win32配置
018.18 win32 socket差异
019.19 win32socket编程
020.20 mingw与msvc
021.21 qt流媒体客户端开发总结
rtmp流媒体开发
001.01 rtmp技术概览
002.02 rtmp服务器srs搭建
003.03 rtmp协议及握手
004.04 rtmp协议chunk
005.05 librtmp建立连接
006.06 h264数据编码
007.07 aac编码
008.08 h264解析sps pps
009.09 发送sps pps的rtmp包
010.10 h264组rtmp包发送
011.11 发送aac数据的rtmp包
012.12 flv格式
013.13 rtmp测试运行
014.14 rtmp优化总结
rtsp流媒体开发
001.01 rtsp技术概览
002.02 live555服务器搭建
003.03 制作live555开发库
004.04 live555库案例
005.05 rtsp协议与sdp
006.06 rtp和rtcp
007.07 创建rtsp项目
008.08 使用live555错误问题汇总
009.09 创建rtspserver
010.10 mediasession会话
011.11 live555事件循环及sdp
012.12 给rtsp服务器摄像头编码的264数据
013.13 rtsp摄像头项目运行
014.14 rtsp流媒体项目总结
webrtc全平台c++开发
001.01 webrtc开发实战
002.02 webrtc技术
003.03 webrtc服务器选择
004.04 快速搭建信令服务器
005.05 阿里云以及vps
006.06 janus服务器搭建01
007.07 janus服务器搭建02
008.08 janus服务器搭建03
009.09 ice p2p打洞服务器部署的坑
010.10 janus服务器加密签名证书
011.11 webrtc整套服务开发要点
012.12 janus服务器插件和资源
013.13 janus服务器ios客户端
014.14 janus服务器android客户端
015.15 webrtc源码编译中的各种问题
016.16 webrtc编译
017.17 编译webrtc时的版本问题
018.18 webrtc超过10g的代码下载
019.19 webrtc编译头文件库文件
020.20 webrtc静态库
021.21 websocket库
022.22 建立websocket连接
023.23 c++基础与webrtc
024.24 webrtc信令交互流程
025.25 webrtc linux qt 01
026.26 webrtc linux qt 02
027.27 webrtc qt 配置
028.28 webrtc qt信号槽冲突问题
029.29 webrtc 交互流程接口01
030.30 webrtc 交互流程接口02
031.31 webrtc 信令websocket实现
032.32 webrtc 本地视频采集
033.33 webrtc 视频渲染
034.34 webrtc 开发中的各种问题
035.35 webrtc 用opengl渲染
036.36 webrtc linux p2p点对点通讯
037.37 webrtc vc客户端
038.38 webrtc 安卓客户端真机
039.39 webrtc ios客户端真机
040.40 webrtc 视频会议服务器架构
041.41 webrtc c++ sdp信令交互
042.42 webrtc 各平台的移植问题
043.43 webrtc 成功应用的案例
044.44 janus百万级可扩展开发
045.45 janus跨区域视频服务
046.46 fec和jitterbuffer
页:
[1]