技术文章
-
査勇:华为云在视频AI转码领域的技术实践
华为云媒体处理服务研发负责人查勇结合华为云在超高清视频转码领域的实践经验,详细介绍了云上使用AI技术提升视频视听体验的关键技术,以及如何助力行业实现音视频体验升级。
-
AI 卷见实时互动|ZegoAvatar ⾯部表情随动技术解析
AI”卷”进实时互动 2021年,元宇宙概念席卷全球,国内各大厂加速赛道布局,通过元宇宙为不同的应用场景的相关内容生态进行赋能。针对“身份”、“沉浸感”、“…
-
iOS音频采集技术
01 背景 在移动直播中, 声音是主播和观众互动的重要途径之一, 为了丰富直播的内容,大家都会想要在声音上做一些文章, 在采集录音的基础上玩一些花样,比如演唱类的直播间中, 主播伴…
-
如何在ffmpeg中添加一个codec,基于H264 Encoder
介绍 ffmpeg是一个很强大的框架,包含众多的编解码器、提供很多方便的函数用于解析或生成各种媒体文件。 大部分情况下,开发者使用ffmpeg开发应用程序,然而有时也有开发ffmp…
-
WebRTC 源码编译及 Android 开发环境的搭建
最近开始折腾 WebRTC 了。 先介绍一下 WebRTC 源码编译以及 Android 开发环境的搭建。 整个下载编译过程都需要能够正常访问外网,这需要自己想办法克服了。 安装 …
-
如何通过 FFmpeg 代码来获取文件信息
本篇文章主要是讲解如何通过 FFmpeg 代码来获取文件信息。 首先准备一个文件,用命令行来查看它的基本信息。 文件地址如下: https://github.com/glumes/…
-
FFmpeg 日志打印
本文主要讲解 FFmpeg 实现简单的日志打印。 日志打印基础使用 在 FFmpeg 中提供了 av_log() 方法去打印日志,它的函数声明如下: 其中 level&n…
-
AliPLC 智能丢包补偿算法,提升弱网环境的通话质量
阿里云视频云音频技术团队在综合考虑效果、性能开销、实时性等诸多因素后,研发了实时因果的智能丢包补偿算法 AliPLC (Ali Packet Loss Concealment),采用低复杂度的端到端的生成对抗网络来解决语音在传输过程中的丢包问题。
-
如何解决数据流录制回放过程中的音画不同步问题
21 年 6 月, ZEGO 即构科技推出了行业内首套 数据流录制 PaaS 方案,打破传统录制服务传统,实现 100% 录制还原效果。 在实现数据流录制回放的过程中,我们需要将音…
-
FFMpeg 实现视频编解码(ffmpeg编解码流程)
FFMpeg 作为音视频领域的开源工具,它几乎可以实现所有针对音视频的处理,本文主要利用 FFMpeg 官方提供的 SDK 实现音视频最简单的几个实例:编码、解码、封装、解封装、转…
-
OpenGL ES 如何一次性渲染到多个纹理(opengles渲染到纹理)
OpenGL ES 多目标渲染 OpenGL ES 多目标渲染(MRT),即多重渲染目标,是 OpenGL ES 3.0 新特性,它允许应用程序一次渲染到多个缓冲区。 利用 MRT…
-
视频编码之I,P,B帧
视频编码之I,P,B帧 编码主要是想办法压缩视频的大小。 使用帧间编码技术可以去除时间上的冗余信息,具体包括以下几个部分。 运动补偿:运动补偿是通过先前的局部图像来预测、补偿当前的…
-
SDL 播放 PCM 音频文件【音视频基础学习】
在前面的文章中已经能够利用 SDL 去播放 YUV 视频文件了,接下来要通过 SDL 去播放 PCM 音频文件。 SDL 播放音频文件有两种方法,可以理解成 推(push…
-
OpenGL GPUImage源码分析
GPUImage 是 iOS 上一个基于 OpenGL 进行图像处理的开源框架,后来有人借鉴它的想法实现了一个 Android 版本的 GPUImage ,本文也主要对 Andro…
-
SDL 如何播放 YUV 视频文件【音视频基础学习】
在前面的文章中,我们已经能够加载 YUV 帧并显示了,那是把一张图片转换成 YUV 帧得到的素材。 如果是一个 YUV 视频文件的话,那就是很多 YUV 帧连续在一起,既然能展示一…
-
SDL 如何加载 YUV 文件并显示【音视频基础学习】
在前面的文章中已经完成了图片的加载和显示,接下来要做的就是加载 YUV 文件并显示。 YUV 文件素材准备 做这个功能点比较麻烦的是素材问题,上哪去找一个 YUV 文件出来,谷歌和…
-
SDL加载图片并显示【音视频基础学习】
在前面的文章中已经介绍完 SDL 显示窗口、消息循环和事件响应这些基础内容,有了这些基础就可以进行功能性开发了。 本篇的主要内容是利用 SDL 加载并显示一张图片,然后再去进行更多…
-
Android JNI 中的线程操作
今天学习一下如何在 Native 代码中使用线程。Native 中支持的线程标准是 POSIX 线程,它定义了一套创建和操作线程的 API 。 我们可以在 Native 代码中使用…
-
播放器性能优化干货
优化播放器性能,我们首先要知道播放的完整流程,从播放的各个阶段找优化方案。 下面是播放的完整流程: 给一个网络url,首先要进行网络请求,网络如何优化,涉及到网络优化的方方面面 网…
-
OpenGL ES 如何绘制贝塞尔曲线
最近要求为图像设计流线型曲线边框,想着可以用 OpenGL 绘制贝塞尔曲线,再加上模板测试来实现,趁机尝试一波。 基于贝塞尔曲线的曲边扇形 什么是贝塞尔曲线 运用贝塞尔曲线设计的汽…