这段时间一直在看视音频技术这块,不过纯小白想入门遇到各种困难。。。直到前几天,发现了雷霄骅博士的视频,感觉终于找到了一条正确学下去的路!真是非常感谢雷博士!这里附上雷博士的Blog~
我想把我跟随雷博士学习的学习笔记放上来,一方面当个记录,另一方面也希望帮到觉得看视频太耗费时间的朋友~
ffmpeg + SDL 实现播放器
ffmpeg 实现H.264视频码流->YUV
SDL 实现YUV->屏幕
(1)封装格式:把视频和音频打包起来封装成一个文件
(2)解封装格式:把视频和音频封开
(3)视音频压缩数据:视频流被称为码流,是压缩过的,还不能被显示
(4)视频像素数据:YUV类似于RPG
(5)音频采样数据:PCM
(6)视音频同步相对复杂,这里先不讲
可将图像数据压缩100倍以上
视频编码分析工具:Elecard Stream Eye
红色的帧:不参考其它帧,只对静态图片压缩
蓝色的帧:参考它前面的帧
绿色的帧:前后的帧都会参考
AAC可以压缩10多倍。
把亮度信息和其它信息分开存储(除非特别清晰,否则一般都为YUV420P)
人眼对亮度信息更敏感,色度信息不敏感,所以对UV采用更狠的压缩方式
存储格式:先存所有像素点的Y,再存U,最后存V,UV是Y的四分之一
特点:数据体积很大
查看工具:YUV Player
由于YUV文件没有头信息,所以需要设置分辨率以及格式等信息