该内容需要权限查看

解锁内容

 

课程内容:
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、本站资源所有内容均收集于网络,与本网站立场无关 2、本站所有资源收集于互联网,由用户分享,该帖子作者与IT课程网不享有任何版权,如有侵权请联系本站删除 3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责 4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意 侵权联系邮箱:514719408@qq.com