技术文章
-
webrtc 视频会议服务器搭建(webrtc视频会议搭建教程)
通过webrtc 视频会议的需求越来越多,很多人反映搭建webrtc 视频会议服务器便遇到很多问题,这篇文字将webrtc 视频会议搭建过程重新梳理一遍,希望对大家能有帮助,通过下…
-
音视频系列之MP4格式详解
MP4简介 MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准文件中定义的,属于MPEG-4的一部分,是“ISO/IE…
-
Loki: 通过融合基于规则的模型提高基于学习的实时视频自适应的长尾性能
最大化实时视频的体验质量(QoE)是一个长期存在的挑战。传统的视频传输协议以少量确定性规则为代表,难以适应异构、高度动态的现代互联网。新兴的基于学习的算法已经显示出应对这一挑战的潜…
-
RTMP封包协议解析
想做一个直播推流而已,为什么还要学习RTMP的协议?我们想回想一下我们推流端的简要流程: 那么在第三步,RTMP包如何封装呢?真的是简单的调用一下API就完事了吗? 我们现在看一段…
-
NDK 编译 FAAC 引入 Android 工程
AAC就是高级音频编码(Advanced Audio Coding),出现于1997年,基于MPEG-2的音频编码技术,目的是取代MP3格式。 2000年,MPEG-4标准出现后,…
-
NDK编译x264引入到Android工程中
H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,…
-
音视频开发进阶课程|第六讲下:色彩和色彩空间·RGB和YUV的采样和存储
在上一篇文章《音视频开发进阶课程|第六讲上:色彩和色彩空间》,我们带大家了解了视频、图像、像素和色彩之间的关系,还初步认识了两种常用的色彩空间,分别是大家比较熟悉的 RGB,以及更…
-
iOS VideoToolbox 硬编指南(VideoToolbox避坑指南)
引言 调用系统 VideoToolbox 的 API 实现一个硬编很容易,仔细看看文档、了解 API 的使用实现一个基本功能相信难不倒大家。但实际工作中有许多细节,一不注意就会掉坑…
-
SurfaceView、TextureView、GLSurfaceView 和 SurfaceTexture
SurfaceView SurfaceView 是一个可以在子线程中更新 UI 的 View,且不会影响到主线程。 它为自己创建了一个窗口(window),就好像在视图层次(Vie…
-
OpenSL ES渲染音频实例
OpenSL ES 是可以让你使用C或者C++来实现高性能,低延迟音频API。ES代表Embedded Systems,在嵌入式系统中单独设计。使用OpenSL ES可以省去nat…
-
AudioTrack播放ffmpeg解码的PCM音频数据
本文主要介绍ffmpeg解码音频并且搭配AudioTrack以及OpenSLES播放PCM原始音频数据。 音频解码 对于使用ffmpeg进行音视频的解码过程,我们来回忆一下这张图:…
-
Android使用OpenGL渲染ffmpeg解码的YUV数据
在《安卓使用SurfaceView绘制ffmpeg解码的视频数据》虽然我们成功地实现了视频的渲染,但是在YUV转换成RGB的时候,我们调用了ffmpeg内部的转换函数,这里面包含大…
-
OpenGL基础知识(OpenGL技术术语)
在前面的实战中,我们已经通过SurfaceView成功渲染视频了。虽然功能上我们是实现了视频的解码和渲染,但是这里有一个性能方面的问题:就是在解码渲染视频的时候CPU使用率会很高。…
-
Android使用SurfaceView绘制ffmpeg解码的视频数据
在上一篇文章《ffmpeg如何将一个视频文件解码为yuv文件》中我们已经使用ffmpeg解码视频为yuv数据文件了,那么yuv数据如何显示呢? 不知道大家是否还记得这张图: 其中一…
-
音视频生产关键指标:采集预览优化丨音视频工业实战
随着相机采集越来越多的与滤镜、美颜、特效等前处理流程结合,关注采集预览的性能变得十分重要。采集预览阶段表示打开相机,但是还没开始进行直播推流或者视频录制的阶段,但这时候一般也开始进…
-
虚拟现实中的情感和触摸:未来展望篇(下)
现在我们来关注一下相关研究,相关的感情和触觉刺激在VR中的使用。首先是药物,一项在化疗期间监控患者情绪的研究,其目的是让患者在治疗期间保持一个更加放松的状态,因为接受治疗的患者在现…
-
虚拟现实中的情感和触摸:解决方案篇(中)
解决方案 需要考虑的问题 现在要考虑的第一个问题是触摸和感受的类型。触摸它可能是一种与生俱来的经典触摸,也可能是一种带 有情感的接触,就像你所说的、你所听到的,然后它还可能会是第三…
-
虚拟现实中的情感和触摸:面临的问题和最终目标(上)
为了使虚拟现实 (VR) 中的社交互动产生更大的影响,我们需要考虑情绪对我们的人际交流的影响以及我们如何在 VR 中表达它们。本教程将展示关于该主题的研究,我们建议使用基于声音、面…
-
ffmpeg如何将一个视频文件解码为yuv文件
在学习了将ffmpeg引入到Android Studio工程中,下面我们来尝试使用ffmpeg使用软解码将一个视频文件解码为yuv文件。 通过解码为YUV数据,我们可以给视频添加一…
-
Android ffmpeg解封装视频文件
在前面,我们已经将ffmpeg引入到Android工程中去了,如果你还不知道如何在Android中使用ffmpeg,可以回头看看这篇文章:将ffmpeg引入到Android Stu…