如果你做的是移动端或客户端开发,迟早会遇到音视频需求:播放本地文件、把一段视频转码成 H.265 省流量、给画面加个水印、把摄像头采集的数据封装成 MP4。这些事看着零散,底层其实是同一套东西——FFmpeg。这门课讲的就是 FFmpeg 5.0 这套工具库,以及怎么用它一步步搭出一个能跑的音视频播放器。

它解决的到底是什么工作场景

不是"了解音视频概念"这种泛泛的目标。课程主线很明确:从多媒体文件处理切入,覆盖解封装、解码、重采样、转封装、抽取音视频数据,最后落到播放器这个综合场景上。也就是说,学完你会处理的是这类具体任务——读一个 MP4 拿到里面的音频流和视频流、把裸流重新封装成目标格式、把解码出来的帧送去渲染、处理播放过程中的同步问题。

同时它也带 Android 集成这条线。这一点对做客户端的人比较关键:FFmpeg 本身是 C 库,怎么编进 Android 工程、怎么通过 JNI 和上层打通,是很多人卡住的地方。课程把这块放进来了,不是只讲命令行工具。

学完能独立做什么

  • 用 FFmpeg 5.0 的 API 完成音视频的解封装与解码,拿到可用的原始数据。
  • 做格式转封装,比如不重新编码就改变容器格式,或按需抽取纯音频、纯视频。
  • 理解并应用滤镜 Filter 的基本原理,实现画面处理类的需求。
  • 在 Android 侧完成 FFmpeg 的集成调用,而不是停留在纯理论。
  • 整体串起一个播放器的核心链路,知道每一环该调哪些接口。

需要说清楚的是:它的落点是"能自己写出来、能调试",不是给你一个开箱即用的商业级播放器。播放器涉及的性能优化、异常兼容、各种奇葩文件格式,仍然要靠你在实际项目里磨。

资料适合什么基础的人

前置要求比较实在:C 语言要过关,指针、内存管理这些不能含糊,因为 FFmpeg 的接口大量涉及结构体和手动释放。最好有 Android 或至少 JNI 的基本概念,否则集成那部分会跟得吃力。音视频领域本身的知识反而不需要先会,课程是从头讲起的。

所以它更适合两类人:一是做客户端/移动端、被音视频需求推着走的开发者;二是想从其他方向转进音视频领域、愿意先啃底层接口的人。如果你只是想调个现成的播放器 SDK,或者完全没有 C 基础,这门课的门槛会让你难受。

怎么用这套资料

建议不要顺着视频一路看完。多媒体文件处理那部分是地基,解封装、抽取数据、转封装这些一定要自己敲一遍,光看接口调用很容易产生"懂了"的错觉——实际一写就卡在返回值判断和内存释放上。调试环节(比如跑通音视频抽取程序)是重点,跟着调一遍比看十遍讲解有用。

Android 集成部分可以放到后面集中攻,先把纯 FFmpeg 的逻辑跑通,再考虑往工程里塞。滤镜那块偏原理,理解管线怎么串起来即可,具体滤镜效果用到再查。

版本上提一句:讲的是 FFmpeg 5.0,接口和你网上搜到的老教程(4.x 甚至更早)会有出入,遇到不一致以课程和官方文档为准,别被旧博客带偏。

课程目录

第5章FFmpeg多媒体文件处理33 集
  • 5-14抽取视频数据.mp4
  • [74.0 MB] 5-6FFmpeg操作目录及list的实现(二).mp4
  • [45.9 MB] 5-13调试extra_audio程序.mp4
  • [88.4 MB] 5-15多媒体格式转封装(一).mp4
  • [124.4 MB] 5-5FFmpeg操作目录及list的实现(一).mp4
  • [105.8 MB] 5-18视频裁剪(一).mp4
  • [72.5 MB] 5-12抽取音频数据(三).mp4
  • [81.0 MB] 5-3FFmpeg日志系统.mp4
  • [133.6 MB] 5-7FFmpeg处理流数据的基本概念.mp4
  • [57.4 MB] 5-11抽取音频数据(二).mp4
  • [96.2 MB] 5-17多媒体格式转封装(三).mp4
  • [12.0 MB] 5-4FFmpeg文件的删除与重命名.mp4
  • [110.0 MB] 5-10抽取音频数据(一).mp4
  • [79.9 MB] 5-20作业:ffmpeg实现小咖秀.mp4
  • [38.4 MB] 5-9配置VSCode调试环境.mp4
  • [55.7 MB] 5-16多媒体格式转封装(二).mp4
  • [46.4 MB] 5-1FFmpeg初级开发介绍.mp4
  • [53.7 MB] 5-19视频裁剪(二).mp4
  • [68.6 MB] 5-8搭建FFmpeg5.0开发环境.mp4
  • [92.6 MB] 5-2FFmpeg开发入门Log系统.mp4
  • [75.7 MB] 📁 第9章如何在Android下使用FFmpeg 9-1第一个JNI程序.mp4
  • [152.5 MB] 9-7编译Android下可使用的ffmpeg「不生成工具链方式.mp4
  • [157.7 MB] 9-3Java调用C方法-2.mp4
  • [172.5 MB] 9-2Java调用C接口-1.mp4
  • [142.4 MB] 9-8实战-Android下的播放器.mp4
  • [107.7 MB] 9-6编译android下可以使用的ffmpeg「通过生成工具链.mp4
  • [124.7 MB] 9-5C调Java的方法【不易整理‖请关注:CunWorkNotes】.mp4
  • [113.7 MB] 9-4JNI中的Signature.mp4
  • [39.1 MB] 📁 第11章滤镜Filter的核心原理及实现 11-11如何使用filter-获取原始数据.mp4
  • [67.7 MB] 11-5使用filter的具体步骤-2.mp4
  • [70.2 MB] 11-2通过命令行使用filter.mp4
  • [159.2 MB] 11-6初始化filter的原理.mp4
  • [42.8 MB] …(已达
  • 35 条上限,后续省略) …(已达
  • 35 条上限,后续省略) 适合人群 音视频开发爱好者 前端工程师 Android开发者 学习收获 掌握FFmpeg音视频处理技术 实现Android平台集成 了解滤镜Filter原理 祝您学习愉快! 学有所成,前程似锦!