一. 介绍

二. 环境配置

三. 前置知识

1. 进/线程

2. Linux信号

3. 线程锁

4. cmake

  • cmake生成构建文件(makefile)->make执行构建文件->构建文件中是维护的依赖关系、调用gcc编译等。

5. 磁盘IO

6. alsa(cx)

7. socket通讯

8. TCP/UDP应用

image-ibpt.png

四. 音视频基础知识

五. 流媒体并发服务器开发

1. V4L视频采集

2. x264编码

3. 配置

h264采集和编码,4个文件
和下面的依赖

4. 实现

  • 2:vector

  • 由于不同系统long long等可能大小不同,为了保证收发(sizeof class)数据大小一致,需要字节对齐(比如char按4字节对齐,就是4个字节,而不是一个字节)。

5. 总结

六. 流媒体客户端

1. 实现

  • 解码字节对齐问题:ffmpeg是32位,若/32不能整除,会将其原数据扩大至能整除(分辨率),但是实际数据没有那么大,会产生绿边。

2. 总结

3. 职业规划

七. H264和AAC编码

1. H264

image-jcjy.png

2. AAC

3. 视频封装mp4两种方式

4. 实现