原创分析| 入门或者转行音视频,应该要怎么做?

2023-05-16

要不要从事音视频开发

这一两年因为该死的疫情,让短视频、超高清视频和实时音视频反而成为需求风口。

我的看法当然是觉得音视频这个行业还可以,而且从我自己的观察来看,做音视频的现在普遍年龄都在 30+ 了,我 94 年的在组里有可能还是年龄最小的那一批人了。

有很多想从事这方面的开发者经常会有一个误区,把音视频开发认为是安卓的一个分支,我是非常不认同这个观念的。

我的观点是 音视频开发也可以是一个独立的分支,不一定要和 Android 、iOS 联系上的。和信息安全行业一样,也分移动安全、Web 安全、云安全等,不同的安全领域有可能差异很大,但还是都属于信息安全范畴,音视频同样如此。

做客户端上的音视频、服务端上的、嵌入式的、系统底层的都是音视频的范围,另外从事音视频编解码算法、网络通信协议、视频超分、音频降噪等等,也是音视频的领域范围内,所以说音视频也可以是一个很大的范围体系,每个人处在其中的位置不同而已。

如果你很熟练 FFmpeg ,熟悉播放器,或者很懂 OpenGL 渲染,那么不懂 JVM ,不懂 Android Framework 一点也不妨碍你找高薪工作。

音视频行业优势

电信行业的变革:

从1G语音、2G短信、3G图片语音、4G视频到5G未来可期的新时代,见证了音视频行业的磅礴发展。

技术更新慢且门槛高

技术更新慢,技术门槛高,大部分技术沿用至今,依然保持生命力,技术人员成型时间较长。以音视频常见的协议标准和开源项目为例:

协议标准

部分音视频相关的技术标准发布时间年鉴(供参考)

1. 1980年 UDP用户数据报文协议(User Datagram Protocol)

2. 1981年 TCP传输控制协议(Transmission Control Protocol)

3. 1996年 RTP实时传输协议(Real-time Transport Protocol)

4. 1996年 RTCP控制协议(RTP Control Protocol)

5. 2003年 H264视频编解码

6. 2006年 NACK负向反馈(Negative Acknowledgement),接收方只有在没有收到数据的时候才通知发送方 rfc4585

7. 2008年 FLV流媒体格式 (Flash Video)

8. 2009年 HLS基于HTTP的自适应码率流媒体传输协议(HTTP Live Streaming)

9. 2009年 WebRTC网页即时通信(Web Real-Time Communication)

10. 2012年 RTMP实时消息传输协议 (Real Time Messaging Protocol)

11. 2013年 H265视频编解码

12. 2020年 H266视频编解码

开源项目

部分音视频开源项目发布时间,每个开源项目之所以能成功都是经过了开发者长期的时间投入。

1. 2001年 FFmpeg多媒体视频处理开源项目

2. 2009年 WebRTC开源项目发布

3. 2013年 SRS流媒体服务器(Simple-RTMP-Server)发布版本

4. 2013年 ijkplayer手机播放器发布

5. 2014年 OBS开源项目(支持webrtc,早期支持的是RTMP)(GitHub可查最早时间)

6. 2015年 Janus WebRTC流媒体服务器发布版本

7. 2015年 QMPlay2 PC QT(调用FFmpeg的接口,硬解接口,OpenGL)播放器发布

8. 2017年 ZLMediaKit流媒体服务器发布版本

音视频应用领域

音视频自学的难点

  1. 音视频自学非常困难,网上通俗易懂的难找到

  2. 网上部分资源是对应的开源版本较低,比如雷霄骅(雷神)博客的FFmpeg版本较低

  3. 音视频涉及大量的开源库和协议

  4. 比如ffmpeg的编译,如果不熟悉各种编译报错

  5. Janus编译涉及各种开源组件编译不通过

  6. 比如WebRTC涉及的RTP RTCP SDP STUN等协议

  7. 部分嵌入式音视频的朋友技术面窄,技术不深入

  8. 比如有同学做了2年的音视频驱动,一帧音频能持续播放多久都不明白

哪些公司需要音视频

常见招聘音视频的大公司

2022全新音视频流媒体高级开发进六大阶段

本路线涵盖最主流的音视频全栈开发技术,适合嵌入式开发、桌面开发、Android/IOS移动开发、后台开发、IT行业人员往音视频领域发展,适合音视频从业人员进一步系统提升音视频技术。学完具备全栈的音视频技术体系思维和视野,能够结合企业实际场景业务,进行播放器、录屏器、推拉流直播、视频监控、音视频通话、流媒体服务器等实际项目的开发。

​音视频开发免费文档视频资料+学习路线免费领取!
https://docs.qq.com/doc/DYUNJZHF0WWtKQnhL

第一阶段 音视频基础

第二阶段 FFmpeg实战

​FFmpeg+QT QMplay2播放器

OBS推流录制源码分析

​音视频开发学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【文章福利】:小编整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~点击832218493加入(需要自取)

第三阶段 流媒体客户端

第四阶段 流媒体服务器

ZLMediaKit源码剖析多线程

第五阶段 WebRTC项目实战

第六阶段 Android NDK

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原创分析| 入门或者转行音视频,应该要怎么做? 的相关文章

随机推荐

  • zTree取消父子关联

    对于zTree父子关联关系的设置 xff0c zTree里面自带了一个chkboxType函数 取消父子关联 xff0c 只需要在初始化树的时候 xff0c 在settings里面设置 xff1a check enable true chk
  • 解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

    使用sudo mkdir software xff0c 提示XXX 不在 sudoers 文件中 此事将被报告 是因为当前操作用户的权限不足 xff0c 而root用户只有在权限分配及系统设置时才会使用 xff0c 而root用户的密码也不
  • 结构体数组的引用方式

    期末复习时发现答案中有p i a的用法 xff0c 遂进行了一番测试 xff0c 所获心得记载如下 引用结构体指针数组时 xff0c p i 61 61 A i 61 61 p 43 i 注意加括号 xff0c 优先级较低 具体为 xff1
  • Hadoop安装和配置

    1 安装Hadoop 注意 xff1a 安装JDK类似 xff0c 解压后配置环境变量 1 0 Hadoop下载地址 xff1a https archive apache org dist hadoop common hadoop 2 7
  • 机器学习(1)机器学习的范围

    机器学习的范围包括但是不局限与如下 xff1a 机器学习跟模式识别 xff0c 统计学习 xff0c 数据挖掘 xff0c 计算机视觉 xff0c 语音识别 xff0c 自然语言处理等领域有着很深的联系 从范围上来说 xff0c 机器学习跟
  • Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果

    1 xff0c 下载安装Tesseract OCR 安装 xff0c 链接地址Index of tesseract 2 xff0c 安装成功 tesseract v 注意 xff1a 安装后 xff0c 要添加系统环境变量 3 xff0c
  • 4x4矩阵按键应用详解

    一 简介 4x4矩阵按键是单片机外部设备中所使用的排布类似于矩阵的按键组 显然矩阵按键的使用要比独立按键要复杂一些 xff0c 编程也要复杂一些 xff0c 但可以单片机IO资源 4x4矩阵按键即分为4组列线 xff0c 4组行线 xff0
  • Hyper-V 显卡直通

    创建虚拟机后 xff0c 打开虚拟机设置 gt 禁用检查点功能 使用WIN11镜像来部署安装Hyper V虚拟机系统 xff0c 进入桌面后关闭虚拟机 物理机以管理员运行Windows PowerShell 输入以下命令 vm 61 34
  • mwan3 负载平衡 多PPPOE账号 LTE WIFI 负载均衡

    OpenWrt上的MWAN3可以支持多根网线或者多个PPPOE账号的同时拨号使用和负载均衡 并且还可以通过Ping方式来检测中断线路并自动屏蔽中断线路 mwan3的详细介绍 https openwrt org docs guide user
  • websocket实现页面数据实时加载(Springboot+vue)

    在这里先提供两种思路 要实现页面数据的实时加载有两种方式 xff0c 第一种是长轮询的方式 要么是后台长轮询 xff0c 检测到数据变化时 xff0c 通知websocket你该更新一下数据了 要么是前台长轮询 xff0c 每隔一段时间发起
  • 【Cocos2d-x】使用贝塞尔曲线(Bezier)实现精灵抛物线运动

    Cocos2d x中的贝塞尔曲线 在Cocos2d x中贝塞尔曲线运动的封装类为CCBezierTo和CCBezierBy 这两个Action都需要传入一个参数ccBezierConfig xff0c 这是一个结构体 xff0c 这个结构体
  • 常用开源Jabber(XMPP) IM服务器介绍

    转自 xff1a http www kfdoc com Article kaifayuyan Java 200909 283 html 1 Openfire Wildfire 3 x 授权 GPL or 商用 操作系统平台 xff1a 所有
  • socket缓冲区大小设置

    系统提供的socket缓冲区大小为8K xff0c 你可以将之设置为64K xff0c 尤其在传输实时视频时 设置发送和接收缓冲区 int rcvbuf int rcvbufsize 61 sizeof int if getsockopt
  • CentOS 7 安装PostgreSQL

    原文 xff1a https blog csdn net wlwlwlwl015 article details 53256358 下载 在postgresql的官方即可找到源码文件目录 xff0c 地址如下 xff1a https www
  • 使用sudo apt-get update总是报错软件包缓存文件损坏

    命中 1 http cn archive ubuntu com ubuntu xenial InRelease 获取 2 http cn archive ubuntu com ubuntu xenial updates InRelease
  • CSP202112 第四题 磁盘文件操作(C++ 25分)

    使用了tuple xff0c 但这么使用的话 xff0c 只能符合前25 的数据 xff0c 即m小于等于10000 include lt bits stdc 43 43 h gt include lt tuple gt using nam
  • 安装Rust(Windows 10 与 CentOS7)

    注 xff1a 安装及下载需要科学上网 官网下载地址 xff1a Install Rust Rust Programming Language Window安装Rust 0 前提条件 安装C 43 43 编译工具 xff08 如下图所示 x
  • 【辅助驾驶】透视变换、仿射变换(包含鸟瞰图、俯视图、正视图)[3]——汽车全景环视系统

    一 效果 4个不同方向的相机 xff0c 将其鸟瞰变化后 xff0c 进行拼接 xff0c 得到车辆及周围区域的鸟瞰视角图 二 处理流程 1 相机的标定和图片校正 xff1b 2 图像拼接 xff1b 3 拼接缝消除 xff1b 4 移植到
  • 玩客云刷Armbian详细教程

    网上放出了很多关于玩客云的刷机玩法 xff0c 有电视盒子 复古游戏机 Armbian Linux操作系统搭建自己的私有云 可玩性还是很高的 xff0c 而且价格还便宜就入手了一台 下面记录一下我的玩客云折腾之旅 xff0c 机器刷了Arm
  • 原创分析| 入门或者转行音视频,应该要怎么做?

    要不要从事音视频开发 这一两年因为该死的疫情 xff0c 让短视频 超高清视频和实时音视频反而成为需求风口 我的看法当然是觉得音视频这个行业还可以 xff0c 而且从我自己的观察来看 xff0c 做音视频的现在普遍年龄都在 30 43 了