首页 > TAG信息列表 > MediaCodec

Android音视频编码录制mp4

Android录制视频有多种方法:MediaRecorder, MediaProjection, MediaMuxer, OpenGL等,每种方法都有其应用场景。 这里介绍的是用MediaCodec + MediaMuxer录制视频,这种方式是将音频流和视频流用MediaCodec编码,然后用MediaMuxer混流合成mp4视频, 这种方式的通用性较好,它不关心数据来源,只

2020我的头条面试之旅,面试官不会的我都会完爆面试官,轻松拿下Offer年薪70w

###大概情况 头条走的内推,但还是参加了统一的笔试(有概率免笔试),笔试印象不太深了,只记得有两个算法题,而且难度都挺大,是那种很容易做对30%但很难做对100%的算法题,不过凭借着我刷题的功底(以及当时的灵机一动),还是把两题全都做出来了。 然后就收到了头条视频面试的通知。值得注意的

【ResourceManagerService 分析】第九篇:MediaCodec 的 init(),configure(),start() 函数的调用 reclaimResource()的逻辑

MediaCodec 的 init() 函数的调用 reclaimResource()的逻辑 // NO_MEMORY 的原因基本上是超宏块 static bool isResourceError(status_t err) { return (err == NO_MEMORY); } // reset() 的时候会调用, 创建 MediaCodec CreateByType(),CreateByComponentName() 的时

Android 音视频入门 (四)- 记录一次MediaCodec ,非科班生金九银十求职经历

主要是初始化:cameraId和outputSizes属性,前者是相机的ID,后者是相机输出的画幅尺寸。 private fun initCamera() { //初始化相机的一些参数 val instanceOfCameraUtil = CameraUtils.getInstance(this).apply { this@CameraActivity.cameraManager = this.cameraManager!! came

FFmpeg 调用 Android MediaCodec 进行硬解码(附源码)

好文推荐: 作者:glumes FFmpeg 在 3.1 版本之后支持调用平台硬件进行解码,也就是说可以通过 FFmpeg 的 C 代码去调用 Android 上的 MediaCodec 了。 在官网上有对应说明,地址如下: trac.ffmpeg.org/wiki/HWAcce… 从图中可以看到,不仅仅是 Android 上支持 MediaCodec,iOS 上也支

【mediacodec】2. media参数的设置(应用层)

文章目录 前言1 视频参数1.1 videosize——图像图像分辨率1.2 videoFrameRate——视频帧率1.3 videoBitRate——视频码率1.4 videoEncode——视频编码类型1.5 log 2 音频参数2.1 audioChannels——声道数2.2 audioSampleRate——音频采样率2.3 audioBitRate——音频码率2.4

【AVD】FFmpeg + MediaCodec 实现 Android 硬件解码,中间有个大坑

最近在做移动端音视频编解码,首先要实现的是移动端视频的解码功能。纯的 FFmpeg 方法在移动端也能实现,但是效率上的确要慢一些,1080p 的视频还好,但是上到 2k、4k,那个解码速度(以肉眼可见的速度解码一帧),就没法忍受了。因此要搞移动端硬件解码,以加速解码速度,同时释放部分 CPU 资

13. Android MultiMedia框架完全解析 - MediaCodec解析

前言 MeidaCodec API: https://developer.android.com/reference/android/media/MediaCodec MediaCodec是一个Codec,通过硬件加速解码和编码。它为芯片厂商和应用开发者搭建了一个统一接口。MediaCodec几乎是所有安卓播放器硬解的标配,要深入分析一个播放器的源码,如NuPlayer, i

14. Android MultiMedia框架完全解析 - NuPlayerDecoder与MediaCodec的交互

前言 上一篇文章中详细分析了MediaCodec,以及由它向下的内容,但是在MediaCodec外面包裹的是一层NuPlayerDecoder,这里就看看它们两者之间是如何沟通的。 从理论上来讲,既然NuPlayerDecoder包裹在MediaCodec外层,所以它相对于MediaCodec也可以理解为App,它调用MediaCodec的API来完成

MediaCodec对超分的支持

Q:mediacode解码出来的数据的是在GPU上还是在cpu上? A:https://source.android.com/devices/graphics/arch-bq-gralloc 结论应该是在RAM上,Gralloc内存分配器会分配内存给CPU、GPU。在使用过程中,传输内存句柄。 Q:使用的格式是什么? A:YUV420/NV12 都有 Q:Android客户端能提供的数据

MediaCodec进行编解码AAC(文件格式转换)

本文来自eric原创授权发布,eric,音视频开发爱好者,简书地址:https://www.jianshu.com/u/1502591a1753。欢迎大家关注。AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声

【六】Android MediaPlayer整体架构源码分析 -【start请求播放处理流程】【Part 4】【01】

承接上一章节分析:【六】Android MediaPlayer整体架构源码分析 -【start请求播放处理流程】【Part 3】 本系列文章分析的安卓源码版本:【Android 10.0 版本】 【此章节小节编号将重新排序】 (*decoder)->configure(format)实现分析: 解码器配置工作。该方法也是在父类中声明和实

Android 音视频配音之音频提取、截断、混音、合并、合成(一)——从视频中提取音频文件

目录 前言 提取前提----了解提取需要用到的工具类:MediaExtractor、MediaCodec 1.MediaExtractor 2.MediaCodec 3.释放 具体提取转码代码 调用 Demo下载 CSDN下载地址 github地址   前言 1.该文章系列是视频配音,涉及到把背景音频从视频中提取出来、背景音频根据台词时间戳进行

【笔记记录】2020-12-31

【安卓】 1.CoordinatorLayout:协调者布局主要协调子视图之间的联动、APPBarLayout。 2.MediaExtractor:作用是把音频和视频的数据进行分离。 3.自Android 3.1之后的版本,Google引入了USB Accessories的概念,并提供了相关的开发库与之通信。 4.[JVM] 主内存与工作内存: 主内存主要包括

音视频相关文章

Android音视频开发 Android Camera架构 Android MediaExtractor + MediaCodec构建简单播放器 Android平台上使用MediaCodec, Opengl对视频进行处理 MediaCodec的使用介绍 MediaCodec基本原理及使用 初识MediaCodec 音频的两种录制方式-AudioRecord,MediaRecorder的使用及播

Camera+MediaCodec+ffmpeg实现视频录制

目录 架构设计CameraCamera实现视频数据采集Camera2优点Camera2 使用实例API1和API2 Camera从打开到预览的基础流程比较API1和API2 Camera 功能设置的比较 MediaCodecMediaCodec编码过程MediaCodec处理具体的视频流方法创建编/解码器配置、启动编/解码器数据处理NV21 数据

Android硬编码知识点总结

Android硬编码知识点总结 编码 软编码ffmpeg可以解决众多Android机型适配的问题,但由于软编码会大量消耗CPU资源,反而得不偿失!所以一般会考虑使用Android自身硬编码,不足时用软编码补充!硬编码中的一些特性有时会难以理解,这里记录一下我在编码时的心得总结! 帧率如何设置? 一般根

详解音视频中的DRM数字版权技术

今天主要开始讲解一下安卓视频开发的DRM这个问题,DRM是英文Digital rights management的缩写,可以理解为版权保护。众所周知,视频或者音频的盗版问题是困扰发行商的一个大麻烦,因为盗版的横行会直接导致发行商利润的减少。那么像在PC端或者移动端的在线/离线多媒体内容的播放上,发行商

iOS的VideoToolBox与Android的MediaCodec对PTS的处理异同

     视频源,不论是从采集设备采集到的,还是本身压制好的文件,其流中的数据都是按照编码顺序存储的。比如1 2 3 4 5,5帧视频数据,1编码成I帧,2 3 4编码成B帧,5编码成P帧。 编码过程: 1. 编码1为I帧; 2. 2,3,4准备编码为B帧,先缓存下来,记录其时间点作为PTS; 3. 再编码5,编码为P帧,5的DTS相对

java-mediacodec ExtractMpegFramesTest示例不匹配

我尝试从bigflake运行This example,但我认为不匹配. 他们编写了“ ExtractMpegFramesTest.java(需要4.1,API 16)”,因此所需的最低API是16, 但我仔细查看了代码,然后使用“ import android.opengl.EGL14;”需要最低API 17. 是否有人遇到此问题并成功解决?(成功在Android 4.1设备上保

android-如何显示解码的MediaCodec帧混乱

我想乱序显示MediaCodec的解码视频帧,或者省略帧,或多次显示帧. 我考虑过配置MediaCodec以使用Surface,反复调用MediaCodec.dequeueOutputBuffer(),保存生成的缓冲区索引,然后再调用MediaCodec.releaseOutputBuffer(desired_index,true),但是似乎没有办法增加数量输出缓冲区,因此如

曲面记录:颜色格式问题

我目前正在尝试通过命令行screenrecord实用程序来记录Surface.根据实现,该框架将视频编码器组件的颜色格式设置为OMX_COLOR_FormatAndroidOpaque.因此,视频编码器被迫从gralloc句柄中检索颜色格式. 执行此用例时,视频编码器遇到了BGRA表面.因此,我要寻找的问题是: 如果是Miracast,则

Android MediaCodec HEVC支持的分辨率

有人在解码HEVC时知道Android MediaCodec支持的分辨率吗? 通过反复试验,我发现以下工作: 640x272 720x304 960x400 1280x528 1920x800 2560x1072 并且以下不: 512x216 3840x1600 有官方文件吗?解决方法:我怀疑是否有任何正式文档-实际上,您可能会依赖CTS测试的决议起作用的事实,但

何时调用MediaCodec:getOutputFormat()?

对于音频编解码器,调用MediaCodec :: getOutputFormat()会在一台设备(而不是另一台设备)上引发IllegalStateException. Android文档说,如果编解码器不在“已配置”或“正在执行”状态,则会引发此类异常: http://developer.android.com/reference/android/media/MediaCodec.html 在两

Android MediaCodec格式/分辨率更改中期

我正在通过MediaCodec处理实时流,并遇到MediaFormat在中间流更改的情况(即:正在解码的视频的分辨率发生变化).假设我将解码器附加到Surface上以在检测到输入流的分辨率变化后立即对其进行渲染,则在向其提供新的分辨率缓冲区(为它提供适当的新MediaFormat)之前,我会重新创建解码器.