jjzjj

MediaCodec

全部标签

android - 如何在没有 MediaExtractor 的情况下为 H264 使用 MediaCodec

我需要在没有MediaExtractor的情况下使用MediaCodec,并且我正在使用FileInputStream读取文件。目前它不工作,它在屏幕上显示一个绿色的乱码。这是完整的源代码:FileInputStreamin=newFileInputStream("/sdcard/sample.ts");StringmimeType="video/avc";MediaCodecdecoder=MediaCodec.createDecoderByType(mimeType);MediaFormatformat=MediaFormat.createVideoFormat(mimeType,

android - 如何在没有 MediaExtractor 的情况下为 H264 使用 MediaCodec

我需要在没有MediaExtractor的情况下使用MediaCodec,并且我正在使用FileInputStream读取文件。目前它不工作,它在屏幕上显示一个绿色的乱码。这是完整的源代码:FileInputStreamin=newFileInputStream("/sdcard/sample.ts");StringmimeType="video/avc";MediaCodecdecoder=MediaCodec.createDecoderByType(mimeType);MediaFormatformat=MediaFormat.createVideoFormat(mimeType,

【AVD】解决 HarmonyOS 2.0.0 系统上 NDK MediaCodec 硬解码概率性失败的问题

之前参考Google官方nativecodecdemo实现了一个Android机上硬解码的功能,期望能改善手机的CPU使用率,提高应用性能。但是后来同事报出说在华为Mate10手机上解码失败,由于当时我手边没有Mate10,只有P30,而在P30、小米8和小米MIX2S上测试均未复现。因此一直没处理,最近再次提上日程,本想给华为提case,写了个硬解码Demo,竟然解决了这一概率性失败的问题。代码实现代码实现完全参考Google官方nativecodecdemo,具体工程可从我的GitHub上下载NdkMediaCodecDemo。原始问题原始问题在于使用NDKMediaCodec硬解码h26

Android音视频开发:MediaCodec解码视频,得到YUV值,一帧一帧加载到SD卡中保存

一、MediaCodec​MediaCodec类可用于访问低级媒体编解码器,即编码器/解码器组件。它是Android低级多媒体支持基础设施的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface,以及AudioTrack.)。1.1数据类型编解码器处理三种数据:压缩数据、原始音频数据和原始视频数据。​所有这三种数据都可以使用ByteBuffers,但您应该使用Surface用于原始视频数据以提高编解码器性能。Surface使用原生视频缓冲区,而不将其映射或复制到ByteBuffers因此,它的效

Android音视频开发:MediaCodec解码视频,得到YUV值,一帧一帧加载到SD卡中保存

一、MediaCodec​MediaCodec类可用于访问低级媒体编解码器,即编码器/解码器组件。它是Android低级多媒体支持基础设施的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface,以及AudioTrack.)。1.1数据类型编解码器处理三种数据:压缩数据、原始音频数据和原始视频数据。​所有这三种数据都可以使用ByteBuffers,但您应该使用Surface用于原始视频数据以提高编解码器性能。Surface使用原生视频缓冲区,而不将其映射或复制到ByteBuffers因此,它的效

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

我正在尝试从文件中解码视频并使用MediaCodec将其编码为不同的格式在API级别21及更高版本(AndroidOS5.0Lollipop)中支持的新异步模式。在诸如BigFlake之类的网站上有许多在同步模式下执行此操作的示例。,谷歌的Grafika,以及StackOverflow上的几十个答案,但没有一个支持异步模式。我不需要在此过程中显示视频。我相信一般的程序是用MediaExtractor读取文件。作为MediaCodec的输入(解码器),允许解码器的输出渲染成Surface这也是MediaCodec的共享输入(编码器),然后最后通过MediaMuxer写入编码器输出文件.S

Android MediaCodec Format/Resolution Change 中流

我正在通过MediaCodec处理实时流,并且有一个场景,其中MediaFormat在流中更改(即:正在解码的视频的分辨率发生更改)。鉴于我将解码器附加到Surface以在我检测到传入流的分辨率变化后立即渲染它,我重新创建了解码器,然后再将其提供给新的分辨率缓冲区(为其提供适当的新的MediaFormat)。我遇到了一些奇怪的错误,这些错误并没有给我太多关于可能出错的信息,即当调用MediaCodec.configure时使用新格式和相同的Surface:android.media.MediaCodec$CodecException:Error0xffffffeaatandroid.m

android - 处理来自 Mediacodec 输出的帧并在 Android 上更新帧

我正在做一个关于图像处理的项目。我实时接收原始h264视频流并使用MediaCodec对其进行解码。我已在TextureView或SurfaceView上成功显示解码视频。现在我想处理每一帧,使用OpenCV4Android对其进行处理并在屏幕上显示更新的视频帧。我知道OpenCV有一个示例项目演示了如何处理来自手机摄像头的视频帧,但我想知道如果我有另一个视频源该怎么做。还有一些关于TextureView的问题:SurfaceTextureListener的onSurfaceTextureUpdated()有什么作用?如果我在这个函数中调用getBitmap(),那么这是否意味着我得到

android - 如何使用 Android MediaCodec 记录 webview Activity 屏幕?

我的任务是在WebView中记录用户Activity,换句话说,当用户在WebView中导航时,我需要创建一个mp4视频文件。很有挑战性:)IfontthatinAndroid4.3introducedMediaCodec:被扩展为包括一种通过Surface提供输入的方法(通过createInputSurface方法)。这允许输入来自相机预览或OpenGLES渲染。我什至找到了一个示例,您可以在其中录制用opengl编写的游戏:http://bigflake.com/mediacodec/我的问题是:如何记录webviewActivity?我假设如果我可以将webview内容绘制到op

Android MediaCodec 无法解码 wma 文件

我已经成功地使用MediaCodec解码了MP3文件。但是无法解码mimetype=x/ms-wma的wma文件。该代码对于MP3文件按预期工作,我看到MP3Extractor在[MediaExtractor](http://androidxref.com/4.1.2/xref/frameworks/av/media/libstagefright/MediaExtractor.cpp)中实例化但是libstagefright中没有WMAExtractor类,如果这是问题所在,那么MediaPlayer怎么才能播放wma文件呢??我哪里遗漏了什么,或者哪里搞砸了??谁能指导我很好地理解这