为什么会去学FFmpeg,就是因为在看《向往的生活》中一位有名的嘉宾做网络直播还自带推流设备。所以去查了推流后就找到了背后的流媒体技术。FFmpeg也是和图形图像相关的,我认为它结合AI后会做出比较好玩的应用。同时也可以结合opencv/opengl/vulkan做出漂亮的效果。出于好奇我要先入门,再思考后续能做出什么好玩的东东。
一,流媒体开发入门
了解了基本的音视频基础后,学习了2门网络视频课程来入门。
- 网络直播技术中用到了协程
协程机制的理解 -- Apple的学习笔记 - 流媒体服务器模型入门
服务器Redis到Memcached的epoll模型--Apple的学习笔记
二,Linux中的IO模型
由于百万级别流量的服务器设计中使用多进程+epoll+协程。服务器属于应用层开发,调用了底层驱动接口。所以我又复习了下linux驱动中的io模型。
三,FFmpeg入门
网络模型+视频播放=流媒体。所以我学习了FFmpeg的API及流程作为入门。同时学习下H.264编解码协议。然后自己做了个视频画中画小项目作为入门阶段的毕业作品。
- vs2017下FFmpeg环境搭建,实现视频播放
FFmpeg音视频开发入门--Apple的学习笔记 - linux下FFmpeg环境搭建,实现视频播放
同时看了官网的交叉编译,貌似没有什么特别的,所以我就不移植到arm上去了。
ubuntu下ffmpeg的vscode调试环境搭建--Apple的学习笔记 - 视频播放项目中将SDL显示框架改成opencv显示,同时解决YUV裸数据转RGB格式的bug
ffmpeg通过opencv显示的bug分析--Apple的学习笔记 - 视频播放项目中内存泄漏的解决方法记录
FFmpeg解决内存泄漏--Apple的学习笔记 - 实现视频画中画,作为入门阶段的毕业作品
FFmpeg多线程画中画视频实现--Apple的学习笔记
网友评论