Android 达到什么水平才能顺利拿到 20k 无压力?
这个薪酬水平大概是阿里 P7+8、腾讯 T3.2T3.3 这样的大公司资深骨干员工,或者小公司的总监级管理者的待遇了。
如果需要翻倍,比如挑战阿里 P9,或者腾讯 T4 这样的级别,那么就要在以下方面努力:能力、担当、视野、大局观、向上管理等等。
我还没到这个阶段,还是不多发言了。
五、已经有大厂背景而且到了职业瓶颈
比如在大厂做到了总监或经理下面的最高位置,但是又没有管理或者架构师岗位能满足我们的职业诉求,那就要开始广泛留意互联网最新的发展趋势和风投资本走向。
每隔几年就有几家新的业务模式起来,伴随而来的是若干家快速起飞的公司,比如从门户网站四巨头 — BAT — TMD — 拼多多、虾皮、快手 等等这样的发展趋势。
技术人员在怎样的情况下成长最快?是听了一场 infoQ 技术分享还是读完了一本技术书?都不是,而是能跟得上一个高速发展的业务项目。
什么才是高速发展的业务项目呢?回头看看,2G 打开了了移动互联网天下,3G 带来了即时通信,诞生了 QQ、微信等巨头,4G 带来了短视频兴起,字节跳动等公司迅速崛起。可以说 2 3 4G 的出现促成了移动互联网的 10 年繁荣。而未来,5G 也会促成至少 10 年音视频行业的繁荣!
所以,做音视频研发的前景是非常广阔的,对于很早就看出音视频前景的同学来说,已经开始通过各种渠道搜集相关的学习资料,及早的投入到了音视频研发当中。
作为 Android 开发者的我们到底应不应该上音视频这条船?
从未来的大趋势来看,随着 5G 的普及,音视频慢慢变成人们日常生活中的必需品。除了在线教育、音视频会议、即时通讯这些必须使用音视频技术的产品外,其它的产品也需要加入音频、视频元素。
随着音视频技术的普及,更加有创意的产品会如雨后春笋般孕育而生。目前,音视频技术从之前的“象牙塔”逐渐走向“百姓家”已是不争的事实。
正是因为这样一个大的趋势,现在除了各大厂之外,其它一些小厂也开始寻找音视频人才。一名稍好点的音视频人才现在可能会有好几家家公司抢着要、争着要。对音视频人才的需求从小众变成了大众,这更多的是大家对未来市场预期的结果。
各大厂为了争夺未来,抢占先机,不惜重金笼络人才。通过招聘市场我们可以了解到,一名合格的音视频开发人员,少则 30 万起,多则年薪可达百万以上!
出现这种情况的原因主要有两个:
音视频方面的人才不好培养,
现有的优秀人才太少了。
而且随着时间的推移,在未来几年音视频人才会更加受欢迎。
那么,我们该如何学习音视频呢?
=======================================================================
一、绘制图片
1. ImageView 绘制图片
2. SurfaceView 绘制图片
3. 自定义 View 绘制图片
二、AudioRecord API 详解
三、使用 AudioRecord 实现录音,并生成 wav
创建一个 AudioRecord 对象
初始化一个 buffer
开始录音
创建一个数据流,一边从 AudioRecord 中读取声音数据到初始化的 buffer,一边将 buffer 中数据导入数据流。
关闭数据流
停止录音
四、用 AudioTrack 播放 PCM 音频
1.AudioTrack 基本使用
MODE_STATIC 模式
MODE_STREAM 模式
2.AudioTrack 详解
音频流的类型
Buffer 分配和 Frame 的概念
AudioTrack 构造过程
3. AudioTrack 与 MediaPlayer 的对比
区别
联系
SoundPool
五、使用 Camera API 采集视频数据
1.预览 Camera 数据
2.取到 NV21 的数据回调
六、使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
1.MediaExtractor API 介绍
2.MediaMuxer API 介绍
3.使用情境
七. MediaCodec API 详解
1.MediaCodec 介绍
2.MediaCodec API 说明
3.MediaCodec 流控
流控基本概念
Android 硬编码流控
Android 流控策略选择
由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:
=======================================================================
Android OpenGL ES 开发(一): OpenGL ES 介绍
Android OpenGL ES 开发(二): OpenGL ES 环境搭建
Android OpenGL ES 开发(三): OpenGL ES 定义形状
Android OpenGL ES 开发(四): OpenGL ES 绘制形状
Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图
Android OpenGL ES 开发(六): OpenGL ES 添加运动效果
Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件
Android OpenGL ES 开发(八): OpenGL ES 着色器语言 GLSL
Android OpenGL ES 开发(九): OpenGL ES 纹理贴图
Android OpenGL ES 开发(十): 通过 GLES20 与着色器交互
使用 OpenGL 显示一张图片
GLSurfaceviw 绘制 Camera 预览画面及实现拍照
使用 OpenGL ES 完成视频的录制,并实现视频水印效果
=======================================================================
深入学习音视频编码,如 H.264,AAC,研究使用开源编解码库,如 x.264,JM 等
深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
音视频编解码技术
音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准
音视频编解码技术(二):AAC 音频编码技术
流媒体协议
流媒体协议(一):HLS 协议
流媒体协议(二):RTMP 协议
多媒体文件格式
多媒体文件格式(一):MP4 格式
多媒体文件格式(二):FLV 格式
多媒体文件格式(三):M3U8 格式
多媒体文件格式(四):TS 格式
多媒体文件格式(五):PCM / WAV 格式
============================================================================
FFmpeg 命令行工具学习(一):查看媒体文件头信息工具 ffprobe
FFmpeg 命令行工具学习(二):播放媒体文件的工具 ffplay
FFmpeg 命令行工具学习(三):媒体文件转换工具 ffmpeg
FFmpeg 命令行工具学习(四):FFmpeg 采集设备
FFmpeg 命令行工具学习(五):FFmpeg 调整音视频播放速度
FFmpeg 学习(一):FFmpeg 简介
FFmpeg 学习(二):Mac 下安装 FFmpeg
FFmpeg 学习(三):将 FFmpeg 移植到 Android 平台
FFmpeg 学习(四):FFmpeg API 介绍与通用 API 分析
FFmpeg 学习(五):FFmpeg 编解码 API 分析
FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析
FFmpeg 结构体学习(一): AVFormatContext 分析
FFmpeg 结构体学习(二): AVStream 分析
FFmpeg 结构体学习(三): AVPacket 分析
FFmpeg 结构体学习(四): AVFrame 分析
FFmpeg 结构体学习(五): AVCodec 分析
评论