在虎牙工作已经两年了,一开始做的事情杂且乱,左边看一点,右边看一点,最近好多了,可能是领导氛围和能力都优质了不少吧。在这过去的一年里,我从一个连c/cpp都不一定写的完整的人,到如今,ObjectiveC/Java/C/Cpp/Python都会的人,其实才知道,技术从来都不是问题,产品的核心价值才是关键。(好像扯远了) 思考一下,这篇就主要来说下,音视频该怎么学,主要工作内容是什么。 简单来说,贯穿整个直播和点播体系,音视频最基础的,就是播放器。市面上有很多播放器:
- IJKPlayer的轻量级播放器:移动端类似bilibili,斗鱼,快手目前使用的。
- Vlc全能播放器: PC端类似过去虎牙使用的。
- flv.js:一款Web简易播放器
音视频开发工程师,就是做播放器的,其实也不假,高端点的,别人叫媒体开发工程师。这也只是宏观上来看的,类似和一款电商产品一样,也分为很多岗位:
- SDK开发工程师: 主要负责端上SDK开发和维护,提供接口层,把控质量等作用。
- 传输开发工程师: 涉及网络相关的,一般就有这么一堆调用网络Api来开发的人,他们主要负责前后台的负载均衡,卡顿优化,加速播放等能力,致力于挖掘网络低延时音视频传输的工作。
- 编解码开发工程师: 涉及音视频的相关的,他们主要负责音视频编解码,音视频渲染,内核层优化,制作高画质低流量的直播视频流相关的。致力于将画质做到最好,将流量做到最低。
- 图像ai开发工程师: 由于音视频的压缩,必然带来画质的亏损,如何增强画质,或者超分,就是这岗位需要负责的一件事了。
看到这,有没有对音视频开发有一个新的了解。当然,之所以音视频人才难以招,主要的原因在于,设计的方面太广了,做音视频的人,往往从Web/iOS/Android/Pc都需要略懂皮毛,不仅如此,对音视频相关更需要去理解。
既然各位都理解了本职位该做的事情,那么就来说说如何学吧。我也是一路摸过来,也不好说学的怎么样,但我想从现在开始,一点一点的从过去里面积累经验。
- 《音视频开发进阶指南》
这本书可以说是音视频入门必备,内部笼盖了从iOS/Android采集->iOS/Android编码->iOS/Android解码->iOS/Android渲染的大部分细节,读完做一款播放器,杠杠的。(目前我也打算继续读完,然后写一个专刊,专门用于介绍这本书的细节。) 推荐指数: ?????
这本书的作用在于学习OpenGL相关的知识点,但是对于iOS来说,目前大部分使用的是Metal,资料甚少,但是OpenGL和其很像,举一而推三,也是程序员需要具备的。 推荐指数: ?????
学音视频的都知道,所有的日常开发,都离不开FFmpeg的使用,学好ffmpeg,行遍天下都不怕。这本书唯一的缺点就是,命令行的部分偏多,但是实际代码行数偏少,如果有需要继承到app里面的人,建议直接网上搜索相关模块,后续有时间我也想去好好读读源码。 推荐指数:????
看完以上三本,你基本上有了音视频开发工程师的基本能力,你还需要一些主观的学习路线: 直播路线:
额外:
你们可以对着这个列表学习,全部弄完毕之后,差不多你们就可以找到一份满意的offer了。
杨先生 QQ: 694622692 *mail: hatsunemikufans@163.com
|