大总结:FFmpeg流媒体开发入门方法--Apple的学习笔记

为什么会去学FFmpeg,就是因为在看《向往的生活》中一位有名的嘉宾做网络直播还自带推流设备。所以去查了推流后就找到了背后的流媒体技术。FFmpeg也是和图形图像相关的,我认为它结合AI后会做出比较好玩的应用。同时也可以结合opencv/opengl/vulkan做出漂亮的效果。出于好奇我要先入门,再思考后续能做出什么好玩的东东。

一,流媒体开发入门

了解了基本的音视频基础后,学习了2门网络视频课程来入门。

  1. 网络直播技术中用到了协程
    协程机制的理解 -- Apple的学习笔记
  2. 流媒体服务器模型入门
    服务器Redis到Memcached的epoll模型--Apple的学习笔记

二,Linux中的IO模型

由于百万级别流量的服务器设计中使用多进程+epoll+协程。服务器属于应用层开发,调用了底层驱动接口。所以我又复习了下linux驱动中的io模型。

  1. 按键中断解决irq_of_parse_and_map返回0的问题--Apple的学习笔记
  2. Linux input子系统框架--Apple的学习笔记

三,FFmpeg入门

网络模型+视频播放=流媒体。所以我学习了FFmpeg的API及流程作为入门。同时学习下H.264编解码协议。然后自己做了个视频画中画小项目作为入门阶段的毕业作品。

  1. vs2017下FFmpeg环境搭建,实现视频播放
    FFmpeg音视频开发入门--Apple的学习笔记
  2. linux下FFmpeg环境搭建,实现视频播放
    同时看了官网的交叉编译,貌似没有什么特别的,所以我就不移植到arm上去了。
    ubuntu下ffmpeg的vscode调试环境搭建--Apple的学习笔记
  3. 视频播放项目中将SDL显示框架改成opencv显示,同时解决YUV裸数据转RGB格式的bug
    ffmpeg通过opencv显示的bug分析--Apple的学习笔记
  4. 视频播放项目中内存泄漏的解决方法记录
    FFmpeg解决内存泄漏--Apple的学习笔记
  5. 实现视频画中画,作为入门阶段的毕业作品
    FFmpeg多线程画中画视频实现--Apple的学习笔记

四,FFmpeg理论学习

  1. 视频显示框架入门
    Framebuffer/OpenMax/GStreamer框架学习--Apple的学习笔记
  2. 编解码协议入门
    MPEG-4格式和H.264(ISO14496)入门--Apple的学习笔记
  3. 基础复习
    线程池及红黑树复习--Apple的学习笔记

你可能感兴趣的:(大总结:FFmpeg流媒体开发入门方法--Apple的学习笔记)