mediacodec相关内容

Android精确搜索视频

我正在努力使用MediaExtractor的seekTo()进行精确查找.虽然我可以尝试无问题地同步帧,但我想尝试特定的时间. 这个问题使我想到了一些实现方法,但是我不确定它们是否有效.基本上,我将必须先寻找最接近的上一个同步帧,然后再提取advance()直到达到目标时间.该过程中的每个帧将被馈送到解码器,即第一个I帧和其余的P帧.这是相关的代码段(基于 google/grafika 的Movi ..
发布时间:2020-05-08 01:15:21 移动开发

使用MediaCodec和MediaExtractor解码和编码视频

我需要将视频解码为位图序列,以便能够对其进行修改,然后将其压缩回android中的视频文件. 我计划通过使用getFrameAtTime并将其保存到图像序列中来对其进行管理.然后,我可以按顺序修改图像并将其编码回电影中.但是我有两个问题: 首先,在我阅读本文时,getFrameAtTime用于创建缩略图,并且不能保证返回正确的帧.这使视频变得迟钝. 第二,保存图像并读回它需要很长时间 ..
发布时间:2020-05-08 01:15:16 移动开发

Android MediaCodec解码H264原始帧

我正在使用Android MediaCodec API解码h264帧.我可以解码并渲染视图上的帧.我的问题是解码器会丢失很多帧,尤其是前几帧. DecodeMediaCodec.dequeueOutputBuffer()返回-1.大约150个h264帧,仅解码了43帧.我找不到问题所在.这是我的代码. /** * init decoder */ private void initDec ..
发布时间:2020-05-08 01:15:13 移动开发

使用Android的MediaCodec + mp4parser编码时,什么决定播放速度?

我正在尝试结合MediaCodec和Mp4Parser(封装为.mp4)在Android上使用API​​ 16录制,编码并最终制作一部短片. 除了.mp4的持续时间外,一切正常,它始终为3秒,运行速度约为“正确"速度的两倍. 编码器的输入为84帧(相隔100ms). 最后一帧设置“流结束"标志. 我在queueInputBuffer 上设置每帧的演示时间 我试图调整所有可能 ..
发布时间:2020-05-08 01:15:04 其他开发

在Android上可播放的最大视频分辨率

有没有一种方法可以提取Android可以播放的最大视频分辨率?我们有从相机下载的MP4文件,我想在播放之前向用户显示一些错误.因为如果分辨率太高,Android只会给您黑屏. 我尝试使用便携式摄像机配置文件,但是即使在可以处理更高分辨率的设备(例如Galaxy S5)上,这大部分时间都可以给我提供1920x1080的分辨率. CamcorderProfile.get(Camcorde ..
发布时间:2020-05-08 01:15:00 移动开发

如何知道Android解码器MediaCodec.createDecoderByType(type)是硬件还是软件解码器?

是否可以找出使用MediaCodec.createDecoderByType(type)接收到的解码器是硬件解码器还是软件解码器? 解决方案 没有真正的正式标志来指示编解码器是硬件还是软件编解码器.实际上,您可以执行以下操作: MediaCodec codec = MediaCodec.createDecoderByType(type); if (codec.getName().st ..

在我的android上,使用opengl曲面将一个H.264视频重新编码为另一个视频非常慢

我正在开发将视频转换为另一视频并为每个帧添加其他效果的功能.我决定使用opengl-es在每个帧上应用效果.我的输入和输出视频是使用H.264编解码器的MP4. 我使用MediaCodec API(Android API 18+)将H.264解码为opengl纹理,然后使用此纹理与着色器在表面上绘制. 我认为将MediaCodec与H.264结合使用会在android上进行硬件解码,而且速度很快. ..
发布时间:2020-05-08 01:14:55 移动开发

Nexus 7 2013 Mediacodec视频编码器输出乱码

我正在开发一个应用程序,该应用程序使用h.264编码器将电影编码为画廊和其他目标.此应用在输出时支持可变的宽高比(1:1、2:3、3:2、16:9、3:4、4:3).我将表面输入用于4.3 API的输入/输出. 该应用程序可以在许多设备上正常运行(在S3,Motorola G,Nexus 7 2012和Motorola X上进行了测试),但是,在Nexus 7 2013上运行时,我碰到了麻烦 ..
发布时间:2020-05-08 01:14:52 移动开发

录制[ContinuousCaptureActivity]时如何在视频中添加音频[Grafika]

我使用 ContinuousCaptureActivity.java .很完美. 现在,我想在此视频中添加音频. 我知道使用 MediaMuxer 可以在视频中添加音频. 但是问题是我不知道如何使用MediaMuxer. 如果您还有其他没有MediaMuxer的解决方案,请与我分享任何链接或文档. 我也有演示 AudioVideoRecordingSample .但是 ..
发布时间:2020-05-08 01:14:49 移动开发

Android提取解码对Mux音频进行编码

我正在尝试改编ExtractDecodeEditEncodeMuxTest.java 以便从通过Cordova的device.capture.captureVideo录制的mp4中提取音频和视频,解码音频,编辑解码的音频样本,编码音频和多路复用器音频随视频一起返回,并再次保存为mp4. 我的第一个尝试就是简单地提取,解码,编码和多路复用音频,而无需尝试编辑任何音频样本-如果我可以这样做,我相 ..
发布时间:2020-05-08 01:14:46 移动开发

使用MediaCodec记录表面

因此,在我的应用程序中,我可以使用基本上,我(库)将从相机获取输入,获取原始字节数据,将其从YUV格式转换为RGBA格式,然后对该图像应用效果,并使用显示在GLSurfaceView的Surface上OpenGL.最终,对用户来说,它就像是应用了效果的视频. 现在,我想使用 MediaCodec API. 但这是讨论表示我们无法将预定义的Surface传递给MediaCodec. ..
发布时间:2020-05-08 01:14:41 移动开发

Android MediaCodec在异步模式下编码和解码

我正在尝试从文件中解码视频,并使用API​​级别21及更高版本(Android OS 5.0 Lollipop)支持的新异步模式中的>用MediaCodec将其编码为其他格式. 在在此过程中,我不需要显示视频. 我认为一般的过程是使用MediaExtractor作为MediaCodec(decoder)的输入来读取文件,允许Decoder的输出呈现为也是共享输入的Surface放入Me ..

异步使用MediaCodec解码和呈现视频文件

最近开始玩弄Android Media Codec类,以渲染来自Native C ++应用程序的视频帧.能够使用同步方法[queueInputBuffer和deququeInputBuffer]使用Android MediaCodec类成功解码和呈现音频和视频流. Android有一个很好的参考示例,说明了如何在本机C ++应用程序中执行此操作.例如:SimplePlayer.cpp ..

如何将Android MediaCodec Surface连接到Vulkan

我对使用Android MediaCodec进行解码并将YUV通过Surface馈入OpenGL纹理有很好的理解.我想对Vulkan做类似的事情.但是,我没有找到任何文档或示例代码. 我的问题是:我如何连接以下管道? MediaCodec Video Decoder ⇨ Surface ⇨ texture ⇨ Vulkan 详细信息 使用 Surface是Android Su ..
发布时间:2020-05-08 01:14:27 移动开发

Android Camera2捕获歪斜的图像

更新:看起来与此相关: 问题: 使用Camera2 API获取相机的特征,并提取适合MediaCodec.class的输出大小 使用适当的相机输出大小之一创建MediaCodec输入表面.将输出馈送到某些MediaMuxer或其他任何设备,以查看输出. 使用编解码器创建的表面作为目标来启动摄像机捕获请求. 编解码器输出具有正确的大小.但是结果因设备而异: Nexus 5/6 ..
发布时间:2020-05-08 01:14:22 移动开发