快手 · 移动端音视频开发实战
展晓凯
快手回森技术负责人
12246 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 25 讲
快手 · 移动端音视频开发实战
15
15
1.0x
00:00/00:00
登录|注册

结束语|跳出舒适区,拥抱变化

你好,我是展晓凯。
这是专栏的最后一讲,感谢你一路的支持和陪伴。
从 7 月 25 日课程上线到现在,历经一个多月的时间,课程已经接近尾声了,在过去的几个月里,从筹备到上线,我竟然也习惯了每日深夜写稿、录制音频,还有和评论区的你一起交流讨论,真的到了结束的这一刻也有些依依不舍。课程虽然结束了,但我们还是要带着从这个专栏收获的能量走好接下来的路。

再聊音视频开发

回顾我们整个专栏,其实是围绕着录播这个场景完成了两个实战项目,一个是视频播放器,一个是视频录制器。
为了完成视频播放器和视频录制器,我们学习了音视频的采集、渲染、编解码、封装、音视频同步等相关知识。最后我们成功构造出了视频播放器项目和视频录制器项目。
这两个项目的完整源码我会放到GitHub上开源出来,你也可以再对着课程仔细研究研究,看看怎么让项目代码跑起来。我相信通过这两个项目,你已经对移动端音视频开发建立了比较系统的认识了。
但是如果再回到我们最开始说的录播场景,只靠着这两个项目还不足以支撑构建起整个录播场景,因为在录播场景中还有两个经典项目,就是视频编辑器与视频保存器,不过这两个项目是可以由视频播放器改造而来的,加上这两个项目,录播场景的雏形就已经出来了,你可以对照着我画的示意图来理解。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章总结了音视频开发的相关知识和技术,作者展晓凯分享了他的专栏课程的收获和心得。他首先回顾了专栏内容,包括视频播放器和视频录制器的实战项目,并提到了音视频处理和直播场景的重要性。作者强调了拥抱变化和不断学习的重要性,以及工程师的增长飞轮,即“工程思维”。他分享了如何解决问题的思维模型,并提出了在技术迭代中充实自己并为业务带来价值的经验。最后,作者鼓励读者跳出舒适区,不断拥抱变化,蜕变为积极向上的人,并邀请读者填写结课问卷。 展晓凯的分享涵盖了音视频开发的多个方面,包括技术实践和个人成长,为读者提供了全面的学习和思考。通过本文,读者可以了解到音视频开发的重要性,以及如何在技术领域不断成长和进化。同时,作者的分享也为读者提供了实用的经验和建议,帮助他们在职业生涯中取得更多的成长和回报。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《快手 · 移动端音视频开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • peter
    我是音视频小白,从头到尾跟着老师的专栏学了一遍。学完后,虽然还有点懵懂,但基本了解了音视频这一块内容,构建起了音视频的知识体系,和刚开始的时候已经大不相同了,自己感觉收获很大。非常感谢老师!老师经验丰富,文章写得很好,希望以后还能看到老师的课程。

    作者回复: 看你每次留言也很多,能给你带来帮助是我的荣幸,也谢谢你。

    2022-09-14归属地:北京
    6
  • 梦的点滴
    老师好,之前一直看的您的那本书,主要看安卓部分,项目中也成功运用了。就是最近在看iOS部分的框架,包括filter部分,但因为iOS开发不熟悉,想有个代码参考调试一下,但发现github上没有八九十章节的源码,期望看到后能否补充一下,感谢老师

    作者回复: 回头我有空了补充上去哈,不过Filter部分双旦是一致的。

    2022-11-17归属地:北京
  • Ztiany
    老师你好,看到项目中使用的 native 库为如下方式: libavfilter.a libavformat.a libavcodec.a libpostproc.a libswresample.a libswscale.a libavutil.a libpostproc.a libfdk-aac.a libvo-aacenc.a libx264.a 都被编译为了静态库,我的疑问是:这里的 ffmpeg 是怎么编译的? 具体来说就是,我看到网络上讲解的 ffmpeg 编译都是将 x264 和 fdk-aac 直接编译到 ffmpeg 里面,然后就可以在 ffmpeg 里面使用相关的编码器。而像上面这种集成方式,x264 和 fdk-aac 库的链接放到了 Android 项目里,那么在编译这个项目使用的 ffmpeg 时,是否要做什么处理,才能让 ffmpeg 知道有 x264 和 fdk-aac 这些编码器呢?

    作者回复: ffmpeg的编译可以去参考大师兄那个课程哈,他里面有讲解,另外我的《音视频开发实战》一书中也有讲解。 是在ffmpeg的configure阶段开启了对应的编码器: --enable-encoder=libfdk_aac \ --enable-encoder=libx264 \ --enable-libx264 \ --enable-libfdk_aac \ 然后在cflags和ldflags里面指定好目录: --extra-cflags="-marm -march=armv7-a -Iexternal_libs/fdk-aac/build/armv7a/include -Iexternal_libs/libx264/build/armv7a/include" \ --extra-ldflags="-marm -Lexternal_libs/fdk-aac/build/armv7a/lib -Lexternal_libs/libx264/build/armv7a/lib \

    2022-09-14归属地:北京
  • 一个正直的小龙猫
    想问问老师, 如果去快手面试移动端音视频岗位,需要哪些知识储备,老师学的这门课够不够用?

    作者回复: 如果之前没有基础,仅仅这门课可能还是不够的,需要更多的实战经验,具体可以看看想要面试岗位的JD哈。

    2022-09-14归属地:北京
  • peter
    请教老师几个问题: Q1:视频编辑器与视频保存器是否有开源实现? 文中提到了视频编辑器与视频保存器,能否推荐一个开源实现?比如,github上也许已经存在的开源代码。(移动端的开源实现) Q2:安卓系统自身的哪个API可以获取音频文件的时长? 安卓平台的音频处理,专栏中讲了五种方法:Java层的MediaPlayer、SourdPool、AudioTrack,以及NDK层的OpenSL ES、AAudio。现在我需要获取一个音频文件的时长,只给出此文件的路径,哪一个模块可以实现? Q3:给视频配上另外一段台词,声音不变,有这样的软件吗?前一段看到一个视频,是射雕中的视频,是郭靖在说话。台词变了,但声音没有变,还是郭靖的声音,但台词换成搞笑的词了。这是怎么做出来的? 是软件做的吗? 还是说是请人配的音? Q4:NDK层的音频渲染,有OpenSL ES和AAudio两种,适用于不同的安卓版本。那么,做产品的时候,怎么适配?在代码中判断手机的版本,根据版本分别使用OpenSL ES和AAudio吗?

    作者回复: A1: 目前我个人并不知道开源的实现,一般都是各家自己修改的; A2: 直接使用MediaPlayer肯定是可以的,但是性能消耗最低的应该是用MediaExtractor或者自己封装一个类似于ffprobe来完成这个功能; A3: 一般是配音,然后在通过视频编辑软件(快影)再去合成的吧; A4: 使用Oboe比较好,oboe内部可以根据平台来选择自己的底层实现,我们业务层也可以根据服务端配置来设置;

    2022-09-14归属地:北京
    3
  • geek
    老师,有没有学习的微信群?

    作者回复: 暂时没有呢。

    2022-09-14归属地:北京
  • 在梦上
    凯哥,你的书我也买了,里面第十章关于使用硬解码替换的软解码的那部分源码找不到呀 能发我一份不?iOS的
    2023-03-01归属地:广东
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部