算法工程师-视频编解码
职位描述
在这里,你将参与JVET / VVC的下一代视频编码标准设计和算法研究;
在这里,你将参与视频编码(包括但不限于VVC/AV1/AVS3)优化:通过信号处理和机器学习的快速编码决策、数据结构、并行框架设计,优化编码速度,同时在有竞争力的视频编码内核基础上,探索基于语义的内容自适应编码优化;
在这里,你将参与超低带宽的视频压缩:针对超低带宽场景下,探索针对信号处理和语义的信息论极限;
在这里,你将参与视频编码与处理联合优化:在标准编码框架的基础上,借助AI领域的新技术成果来研究视频信号的表征、编码与处理,将视频前后处理与编码联合优化,提升端到端压缩效果;
在这里,你将进行面向人眼视觉模型编解码技术研究:将视频编码与质量评价相结合,提升人眼压缩体验;
在这里,你将参与为VR/ AR等新兴应用设计和实施新颖的视频处理、编码和质量评估算法,以推动端到端系统体验优化。
加入我们,迎接未来的视频洪流的挑战,同时为用户提供无处不在的沉浸式高品质视频服务,布局下一代多媒体标准开发和沉浸式多媒体体验创新(如虚拟现实、增强现实、沉浸式音视频等)。来吧,我们等你加入!
职位要求
【必备项】
- 本科及以上学历,计算机等相关专业,有视频或图像编码和处理研究背景;
2、有视频编码优化或视频标准的经验优先考虑,如X264,X265,VVENC, VVC,JEM,HEVC,SHVC,SCC,H.264 / AVC,SVC,MVC,AVS,VP8和/或图像编码标准,如JPEG,JPEG-XR,JPEG HDR或JPEG2000;
3、精通C ++和C编程,有使用视频编码开源软件或标准参考软件的经验,如X264,X265,VVENC, VTM,JEM,HM,SHM,JM和JSVM优先考虑;
4、有出色的分析研究及创新能力。
研发工程师-音视频
职位描述
在这里,你将参与淘宝直播及短视频等丰富的内容业务场景,围绕“更清晰、更好看、更好玩”,和其他优秀的同学一起,为用户提供极致的体验; 在这里,你将负责为用户提供最优的播放体验,负责直播推流和视频播放,包括但不限于音视频采集渲染、RTC视频传输、QOS优化、视频架构设计、客户端性能优化等; 加入我们,你将会面对新的内容场景,通过技术深耕,致力于行业领先的音视频技术创新和应用,帮助创造极致的消费者体验。你的工作将服务于改善全世界数十亿人的购物、娱乐和交互的体验。探索未知,挑战未来,来吧,我们等你加入!
职位要求
【必备项】
- 熟悉音视频引擎技术架构和常见的多媒体框架,如WebRTC、FFMPEG、GStreamer等;
- 了解音视频通话的客户端架构,了解音视频采集、编码、推流等环节;如H.264、Opus、AAC、AV1等,熟悉常见的系统层,如RTP、RTCP、RTSP、RTMP等;
- 熟练掌握C/C++开发语言,计算机基础扎实;
- 扎实的网络技术基础,对Socket通信、UDP、TCP/IP、HTTP、ICE有深刻的理解;
- 有较强的学习欲、好奇心和进取心,积极乐观、责任心强,具有良好的团队沟通和协作能力
云计算工程师
可以参与到弹性计算、智算超算、云存储、云网络、混合云、数据库、云终端、云原生、操作系统、高性能网络、芯片、信息安全、其他(架构及平台研发)等一个或多个领域,开展科研及技术研发工作。
- 从事云计算、云网融合领域的新技术研究探索,开展技术评测与验证;
- 承担天翼云操作系统、弹性计算、分布式存储、服务器、云安全等技术及软硬协同、云网融合、云边协同、ABC一体化(AI/BigData/Cloud)等方向关键问题的深入研究,提出创新方法,并与产品研发团队协同,完成落地实施;
- 跟踪、研究云计算领域前沿技术和相关产业的发展趋势,提出云计算领域关键核心技术攻关方向,探索和解决核心技术问题,提出创新性解决方案;
- 产出高质量的研究报告、知识产权和技术标准,丰富中国电信在云计算领域的知识产权储备;
5.深化与国内外高校、研究机构的学术交流与合作,提升中国电信在云计算领域的学术影响力。 本岗位需求将根据实际需要由中国电信天翼云和中国电信云计算研究院共同招聘。
1 音视频播放器
FFmpeg常见的API
音频队列视频队列
PTS DTS 音视频同步
OpenGL渲染视频
音频冲采样
音频播放
硬件解码。
2 视频容器mp4封装技术
h.264 265编码,
aac编码,
音视频同步
pts 时间基
OpenGL基础,我们必须要掌握的。
1、基本概念和安装配置
* 学习图形学的基本概念:像素、坐标系、颜色、矢量、矩阵等。
* 绘制基本形状:使用顶点缓冲对象(VBO)和顶点数组对象(VAO)绘制三角形、四边形等基本形状。
* 简单着色器:编写顶点着色器(Vertex Shader)和片段着色器(Fragment Shader),理解着色器的基本概念。
- 变换和3D投影
* 变换矩阵:学习平移、旋转、缩放变换,以及使用矩阵表示和计算这些变换。 * 视图变换:了解视角变换和观察点的概念,学习设置观察矩阵。 * 投影变换:理解正交投影和透视投影,学习设置投影矩阵。
- 纹理映射 * 基本纹理映射:学习加载和使用纹理,理解纹理坐标和采样。 * 多重纹理:了解如何在一个物体上应用多个纹理。 * 纹理过滤和环绕方式:学习设置纹理的过滤模式(如线性过滤、最近邻过滤)和环绕方式(如重复、镜像等)。
- 光照和材质 * 基本光照模型:学习Phong光照模型,包括环境光、漫反射光、镜面反射光。 * 光源:学习如何在场景中添加点光源、平行光和聚光灯。 * 材质属性:了解物体材质的属性,如漫反射、镜面反射、发光等。
- 高级OpenGL技术 * 帧缓冲对象(FBO):学习使用FBO进行离屏渲染,理解多重渲染目标(MRT)。 * 高级着色器技术:了解几何着色器(Geometry Shader)和计算着色器(Compute Shader)的使用。 * 后期处理:实现一些常见的后期处理效果,如模糊、边缘检测、HDR等。
- 动画和物理 * 基本动画技术:学习关键帧动画、骨骼动画等。 * 物理引擎:了解如何结合物理引擎(如Bullet)进行物理模拟。
- 优化和高级渲染技术 * 性能优化:学习减少绘制调用、使用Instancing、批处理等技术来优化性能。 * 高级渲染技术:了解延迟渲染(Deferred Shading)、全局光照(Global Illumination)、环境光遮蔽(Ambient Occlusion)等。
音视频流媒体开发
第一阶段:
无论是音视频图像渲染方向,还是流媒体方向,音视频基础都是需要学习的,比如rgb yuv,FFmpeg 播放器核心,音视频编解码,硬件编解码
H.264 265编码算法,解析。mp3/aac/mp4/flv/mkv这些视频容器。以及如何将264 265这些视频流封装到mp4 都是需要深入学习的
流媒体开发方向侧重于网络通讯,所以Linux网络socket通讯编程是基础中的基础,从自己手写tcp udp私有协议开始,到深入tcp协议栈,可靠性udp封装,udp打洞 p2p,流媒体转发服务器等,都要滚瓜烂熟。 然后就是一些常见的流媒体协议,比如rtsp rtmp rtcp rtp hls sip等。当然这些东西,你音视频网络通讯功底好,就非常容易学习。
第二阶段:
深入研究网络通讯,比如webrtc这种低延迟,经济实惠的p2p 结合relay的框架, 比如它里面的udp打洞,网络拥塞,都懂,丢包重传等机制。这些东西一方面需要你的网络通讯基础,另一方面需要你的 c++工程能力。
第三阶段:
进一步研究这一套低延迟框架如何适应大规模的应用场景。这种工作 更加偏向于后端音视频服务器开发,当然这种岗位现在局限于一些大厂。中小公司没这种技术以及金钱的实力
应届C++ OpenGL开发方向就业市场分析:
- 就是我们前面说的OpenGL+音视频的岗位,这些岗位主要做的工作,其实在音视频领域叫后期处理。
第二 就是视频特效叠加。这个属于AR领域,大家看到的直播带货虚拟场景啊,直播特效啊,人脸上带个狗鼻子啊,变脸啊,最近 几年新兴的一些应用场景特别多。我们将实时采集的图片,交给机器学习,机器学习就能实时识别场景里面的内容,比如识别到人脸,就能 准确标定人脸上鼻子的具体位置,嘴唇的具体位置,有了这些位置数据以后,我们就可以用opengl 叠加各种特效,动画。 所以这个属于比较前沿的AR领域。
第三就是 AIGC领域,随着大模型人工智能越来越火,那么大模型要接触到终端消费者,一些前端的交互界面,渲染,都需要用到OpenGL。
第四就是各种设计软件领域,比如CAD CAE啊,这几年国产替代,很多国产设计软件都在大量招人,这个领域一般跟Qt结合开发的岗位比较多。
第五就是游戏引擎,以及游戏引擎周边的工具软件开发,比如游戏编辑器啊等等。 第六就是一些前沿的虚拟现实 虚拟仿真软件领域的基础软件开发,这个市场稍微小一些,但是依然有公司在做。
音视频流媒体
所需要具备的技能:音视频基础(ffmpeg环境搭建,音视频基础)FFMPEG编程(FFMPEG命令,音视频渲染,FFmpeg API,音视频编码,音视频封装格式,音视频过滤器,播放器开发,ffplay播放器,ffmpeg录制转码)
流媒体(rtmp流媒体,hls流媒体,http-flv流媒体,RTMP/HLS/HTTP-FLV流媒体服务器,RTSP流媒体)
WEBRTC(WebRTC中级开发, WebRTC高级开发,Janus服务器源码)
应用场景:
视频点播
视频会议
远程教育
远程医疗
短视频
在线直播系统
主流的流媒体协议主要有:RTMP,HLS,RTSP等