结束语 音视频技术更宠爱脚踏实地的人

你好,我是刘歧。

今天这节课,是我们专栏的最后一讲。感谢有你的一路相伴,每次看到在留言区认真地提问、回答问题的你,我都会感到无比欣慰,这说明你在认真地思考,这让我觉得自己正在做一件很有意义的事情,回顾我们来时的路,你会发现,在不知不觉中我们收获了很多知识。

图片

从第一节课到现在,我已经尽我所能地将音视频技术相关的重要知识提炼出来,讲给你听了。从音视频相关的基础知识,到OBS、Handbrake等好用的音视频处理工具,再到FFmpeg命令行参数和API的应用,希望你能跟在我身后打开一扇又一扇音视频技术的大门。

但是门后的世界到底如何呢?之后还需要你自己在实践中继续摸索着前行。毕竟师父领进门,修行在个人,方法摆在你面前了,就看你愿不愿意去践行它。

记得之前一个做前端开发的同事,他在刚接触音视频流媒体开发的时候说过一句话:“这音视频技术对我们年轻人好像不太友好啊。”这话其实说对了一半,严格意义上来讲,其实是音视频技术更宠爱脚踏实地的人。

因为音视频的参考标准比较多,需要有实实在在的技术积累,认认真真地将自己用到的标准研究一番,然后才能够略窥门径,耍小聪明的人不太适合做这门技术。这样的难度自然而然地筛掉了一部分人,所以真正从事这个领域的人确实不多。

当然,也许你会比较关注从事音视频技术的开发者的工资待遇会不会高一些?根据我的个人经验,这一行的工资很高,非常高,特别特别高。但前提是你要有良好的技术基础和相关的知识积累,这都需要我们花更多的时间去学习、去实践。

我们这个专栏虽然要结束了,但你未来的学习之路还很长。记得当时我们开篇的时候就说过,我们把FFmpeg当成进入音视频领域的突破口,这只是我们入门的第一课,除了FFmpeg之外,还我们还有很多软件可以参考,例如gstreamer、mediainfo、vlc等。但如果你想要在这个领域深耕,需要掌握的就不仅限于这样的软件工具了,还需要有一定的计算机应用技术基础。

我近几年在学习音视频技术的时候感觉越来越顺心应手了,其实也是得益于早些年积累的计算机基础知识。所以为了让你入门之后的路走得更顺利一些,我把我之前的经验总结成了几条建议,在这里分享给你。

  1. 选择一门合适的计算机程序设计语言作为入门音视频程序开发技术的语言,通过前面列举过的几个程序来看,C或者C++应该是首选,尽管JavaScript、Java、Python的用户规模很大,Rust、Go很时髦,但如果没有一个相对比较完整的开源项目做参考的话,学习起来难度还是比较大的。
  2. 学一学Bash和Makefile,因为Linux、Macbook、Windows等编译环境的不同,在编译开源软件的时候会遇到千奇百怪的报错。有的人遇到错误的时候会比较慌,不知道从哪里入手排查,这时候其实只要认真地看一看错误提示,基本上是有解决办法的,因为错误提示会给出错误的原因。但是并不是所有的开源项目都很友好,所以还是需要自己去看一下Makefile或者构建项目的脚本,看看为什么会报错,这样才能从根本上解决问题。
  3. 自己跟着LFS动手构建专属于自己的Linux发行版,这样可以加深对一个操作系统及其软件的理解,尤其是如何安装的问题。
  4. 勤复习《高等数学》《高等代数》《离散数学》几本书的知识点,因为音视频处理会涉及一些算法优化,这时候就需要有一定的数学基础。尤其是当你有一天突然萌生了一个想法,“这个VVC编码器效率好像不太行,是不是哪一步消耗的时间比较多?我看看”,这时候如果你的数学不太好,可能就真的会从入门到放弃了。
  5. 涉猎更多的开发技术,比如Linux内核程序设计与开发、Linux网络程序设计与开发、文件系统设计与开发、设备驱动程序开发等。
  6. 一定要按照音视频的参考标准从main函数开始,写上一两个解析器或者解码器,哪怕性能没那么优秀,但至少你会对音视频的编解码、文件分析等操作有一个整体的感知,遇到问题后也会有一个大概的解决方向。

图片

有了以上几点基本技能作为基础,以后你做音视频技术部分的开发与应用应该是会越来越顺的,解决问题也会越来越得心应手。坦率地讲,如果你真的把这几点付诸实践的话,就算不做音视频技术开发与应用,工资待遇也不会差很多,毕竟基础技术实力在那儿放着呢。

这两年网络中大肆贩卖35岁焦虑的文章比较多,但其实35岁的线与音视频技术领域的从业人员关系不大。从目前的状态看,我认识的音视频技术研发人员超过80%都是大于35岁的,甚至会感觉很多人的年纪远大于35岁,并不是因为他们年纪小但是长得老,而是因为他们工作的时间确实超过了十年,丰富的经验让他们有一种老成持重的感觉。

但即便他们已经有了完整的知识体系和丰富的经验,也还在持续地学习。前辈们实践与学习所花的时间并不比我们少,他们和我们一样勤奋,我们在进步的时候,他们依然在进步。所以想要在这个领域做出一番事业,是没有什么捷径可走的,前辈们尚且如此努力,我们有什么理由懈怠呢?

希望你选择了音视频技术之后,能够爱上这门技术,投入时间和精力去琢磨、去学习、去研究,脚踏实地,永不放弃地去追求极致。这个过程中你也许也会迷茫、困惑,但只要你坚持下去,时间就会给你答案。非淡泊无以明志,非宁静无以致远,仅此而已。

最后,文末有一份结课问卷,希望你可以花两分钟的时间填写一下。我会认真倾听你对这个专栏的意见或建议,期待你的反馈!

精选留言(4)
  • 悟空@OnVideo 👍(1) 💬(0)

    如果有更多需要交流的,可以加我的微信ffmpegsteven

    2022-08-29

  • peter 👍(0) 💬(1)

    请教老师几个问题: Q1:哪几个标准需要好好研究? 我现在的目标是对音频的处理,应用于移动端,需要研究哪些标准?一般怎么研究这些标准?(官网上直接看标准吗?或者有其他什么好的方法) Q2:Bash学习,是指Linux下的Bash编程吗? Q3:能否以加餐形式提供编码器、JieMa器的实现讲解? 比如老师提供一个C或C++实现的编码器、Jiema器。

    2022-08-29

  • 大土豆 👍(3) 💬(1)

    我觉得最严重的问题是,肯投钱来研发音视频底层技术的公司,实在是太少了,国内就几十家。大多数公司自研还容易放弃。导致音视频现在没啥新的从业者涌入。

    2022-08-29

  • ifelse 👍(0) 💬(0)

    学习打卡

    2024-01-03