前言
现在市面上的图像,音视频软件越来越多,最近两年也是直播,短视频的红利期。而图像、音视频一直是互联网视觉的入口,掌握并熟练运用音视频、图像技术已经是当前互联网时代不可或缺的技能,而且这个技能是具有沉淀性质的。
对于一名合格的音视频开发者来说,我们要掌握的不单单只是一点,而且更为全面的技术栈(客户端+服务器端),只有这样,我们才能更好的理解企业中实际遇到的音视频项目。
第一部分:音视频开发的基本技术:视频+音频
视频包含:H264编码、IPB帧、H264编码质量优化、YUV/RBG原理
音视频开发常用的工具:Mediainfo(分析视频文件),VLC播放器(播放测试),EasylCE(分析TS流),flvAnalyser(分析FLV),mp4box(分析mp4),audacity(分析音频PCM),Elecard_streamEye(分析H264),海康YUVPlayer(分析YUV)。
第二部分:ffmpeg
不管你是从事哪方面开发,ffmpeg是每一个音视频开发者必学技术!
- ffmpeg命令行(其目的是掌握FFmpeg能够解决什么问题,以及用来测试推拉流,转码,提取yuv、pcm测试文件都非常方便)
- ffmpeg API编程(其目的是掌握FFmpeg的开发,包括编解码的使用以及一些坑,这些网上很难找全)
- ffmpeg项目(其目的是能够通过项目实操,将整个ffmpeg技术融会贯通。建议是做一个播放器ffplay.c的小项目,这样会对播放器开发有更深的理解,也会对ffmpeg整个的技术应用很有帮助)
第三部分:流媒体(客户端+服务器端)
流媒体客户端:
- RTMP推拉流(是目前直播主流的推流方案)
- HLS拉流(是目前点播主流方案,包括如何降低HLS的延迟)
- HTTP-FLV拉流
- RTSP推流拉流
整体来说技术应用在直播、音视频通话等项目领域。
流媒体服务器端:
- SRS 作为目前全球GitHub上星最多的流媒体服务器开源项目,它的版本稳定,开源社区活跃。目前也已加入木兰开发社区。在我们开发者学习之后的面试招聘中,这项技术的掌握会成为我们的技术加分项(尤其是在大厂)。
- ZLMediaKit(RTSP/安防)
第四部分:Webrtc
这也是音视频开发最深的。掌握难度较大,能做到一般月薪2-3W,这一块是必须要掌握的核心技术。
- 一对一音视频通话
- 多对多音视频通话
- mesh模型自研多对多音视频通话
- sfu模型Janus多对多音视频通话
- srs4.x音视频通话
如何成为音视频开发
如果你对音视频感兴趣或者想转行到音视频,但由于网上的资料过于散乱而不好学习,再此给大家分享一份字节跳动内部人员整理的Android音视频开发进阶指南,为大家系统学习音视频指条明路。
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
Android音视频开发进阶指南
目录
第1章 Android音视频硬解码篇
- 1.1 音视频基础知识
- 1.2 音视频硬解码流程:封装基础解码框
- 1.3 音视频播放:音视频同步
- 1.4 音视频解封和封装:生产一个MP4
第2章 使用OpenGL渲染视频画面篇
- 2.1 初步了解OpenGL ES
- 2.2 使用OpenGL渲染视频画面
- 2.3 OpenGL渲染多视频,实现画中画
- 2.4 深入了解OpenGL之EGL
- 2.5.2 FBO简介
- 2.6 Android音视频硬编码:生成一个MP4
第3章 Android FFmpeg音视频解码篇
- 3.1 FFmpeg so库编译
- 3.2 Android 引入FFmpeg
- 3.3 Android FFmpeg视频解码播放
- 3.4Android FFmpeg+OpenSL ES音频解码播放
- 3.5 Android FFmpeg+OpenGL ES播放视频
- 3.6 FFmpeg简单合成MP4:视屏解封与重新封装
- 3.7 Android FFmpeg 视频编码
第4章 直播系统聊天技术
- 4.1 百万在线的美拍直播弹幕系统的实时推送技术实践之路
- 4.2 阿里电商IM消息平台,在群聊、直播场景下的技术实践
- 4.3 微信直播聊天室单房间1500万在线的消息架构演进之路
- 4.4 百度直播的海量用户实时消息系统架构演进实践
- 4.5 微信小游戏直播在Android端的跨进程渲染推流实践
第5章 阿里IM技术分享
- 5.1 企业级IM王者——钉钉在后端架构上的过人之处
- 5.2 闲鱼IM基于Flutter的移动端跨端改造实践
- 5.3 闲鱼亿级IM消息系统的架构演进之路
- 5.4 闲鱼亿级IM消息系统的可靠投递优化实践
有需要的小伙伴,可以点击下方课程链接详细了解!!!
https://edu.51cto.com/course/32703.html
标签:指南,ffmpeg,OpenGL,音视频,超好,直播,Android,FFmpeg From: https://blog.51cto.com/u_16163453/8505811