问题标签 [android-mediacodec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
111 浏览

java - 使用 mediacodec 解码后帧中的负数

我正在使用 OpenCV 开发 Android 应用程序,我是 MediaCodec 的新手。在我的项目中,我需要解码视频并将传入的帧保存到 OpenCV 矩阵中。

我看了一下这个例子。

我试图测试这个例子,但没有成功。

我的问题是我从缓冲区到 int 数组有一个负数。

这是不起作用的功能:

我在这里想念什么?

0 投票
2 回答
36763 浏览

android - 调整表面视图的大小以在android中的视频显示中更改纵横比

我正在做一个视频会议项目。我的视频显示正在使用表面视图。现在,在视频通话期间,传入帧的纵横比可能会发生变化。所以我尝试了以下代码

如果我在调用开始时调用此函数,一切都很好。我的问题是,当我在更改纵横比的调用之间调用此函数时,显示下一帧需要花费太多时间。有时视频甚至卡住了。

我试图用

但是表面并没有被创造出来。

我正在使用 Mediacodec 进行视频解码,当分辨率发生变化时我会收到通知。

当已经播放视频时,我应该做些什么来调整surfaceView的大小。

感谢帮助.........................

0 投票
2 回答
770 浏览

java - mediacodec ExtractMpegFramesTest 示例不匹配

我试图从bigflake运行这个例子,我认为不匹配。

他们写“ExtractMpegFramesTest.java(需要 4.1,API 16)”所以所需的最低 API 是 16,但我查看了代码,他们使用“import android.opengl.EGL14;” 这需要最低 API 17。

有没有人遇到过这个问题并且成功解决了?(在Android 4.1设备上成功保存10帧)

0 投票
0 回答
251 浏览

android - 如何使用媒体编解码器解码视频流

我必须实现视频流。我录制视频我应该解码视频。我正在使用媒体编解码器来解码视频,但它向我显示这样的错误

这个错误的原因是什么?或者如果你有其他想法,请分享给我

0 投票
1 回答
4299 浏览

android - 视频解码器 使用 MediaCodec 配置

我正在尝试使用 MediaCodec API 解码视频样本。我正在使用surfaceView 来显示渲染样本。如果我按下主页按钮,应用程序将进入暂停状态并且表面被破坏。当我回到恢复状态时,正在创建新的surfaceView 引用,但解码器无法在surfaceView 上抽取样本。所以屏幕显示为黑色。视频配置:videoDecoder.configure(format, surface, null, 0); 那么我如何在上面的语句中重新配置 videoDecoder 。它类似于以下问题 如何在屏幕定向期间保持解码活动?

0 投票
1 回答
2628 浏览

opengl-es - 使用 GLSurfaceview 进行媒体编解码器和渲染,对 OnDrawFrame 进行优化

我正在使用媒体编解码器对来自相机的帧进行编码,并使用 gl 表面视图对其进行渲染。

我的ondrawframe 看起来像这样

}

所以这里我们做了两次 Draw(surface) 渲染到表面。这将在系统中产生开销。有什么地方我只能做一次 Ondraw 吗?两次使用着色器是昂贵的操作有什么方法可以在渲染器和编码器之间共享表面吗?

0 投票
2 回答
3911 浏览

android - android:SurfaceTexure,相机帧等待超时

我正在尝试使用 MediaCodec 和 MediaMux,但遇到了一些麻烦。

这是来自 logcat 的错误:

代码在 onResume 函数中的“mStManager.awaitNewImage();”处出错。logcat 说“相机帧等待超时”。
mStManager 是 SurfaceTextureManager 类的一个实例。而“相机帧等待超时”来自 awaitNewImage() 函数。我已将该课程添加到我的帖子中。

我的部分代码是这样的(onCreate 函数和 onResume 函数):

代码中与错误相关的类

有没有人有任何想法?谢谢!

0 投票
0 回答
403 浏览

android - 相机帧等待超时_android、MediaCodec、MediaMux、SurfaceTexure

我正在尝试将 CameraToMpegTest.java 从http://bigflake.com/mediacodec/更改为 android 项目。我遇到了一些麻烦,这是来自 logcat 的错误:

代码在 onResume 函数中的“mStManager.awaitNewImage();”处出错。logcat 说“相机帧等待超时”。mStManager 是 SurfaceTextureManager 类的一个实例。而“相机帧等待超时”来自 awaitNewImage() 函数。我已将该课程添加到我的帖子中。

我的部分代码是这样的(onCreate 函数和 onResume 函数):

代码中与错误相关的类

有没有人有任何想法?谢谢!

0 投票
1 回答
12626 浏览

android - 使用 MediaCodec 和 MediaMuxer 将图像转换为视频

我有一堆保存为 jpeg 文件的本地图像。我的图像是使用 CameraPreview 捕获的,PreviewFormat 是默认的:NV21。我想从固定数量的图像中生成一个小视频。

我不会使用 FFMpeg,因为它需要 NDK 并且会引入兼容性问题。

MediaCodec 和 MediaMuxer 似乎可行,但网络上没有一种可行的解决方案。

有一些参考资料导致了我目前的解决方案。

1.EncodeAndMuxTest :http : //bigflake.com/mediacodec/EncodeAndMuxTest.java.txt

这个是fadden写的。它非常适合我的需要,除了他使用的是 createInputSurface 而不是 queueInputBuffer。

2.将位图数组转换为YUV(YCbCr NV21)

我按照这个答案进行转换。https://stackoverflow.com/a/17116985/3047840

3.使用MediaCodec将一系列图像保存为Video

这个问题看起来和我的很相似,但我不打扰使用 MediaMuxer。

我的代码如下:

}

日志猫:

0 投票
1 回答
85 浏览

java - 我使用 MediaCodec 从 Buffer 获得的颜色类型是什么

为了了解如何使用 MediaCodec,我遵循了这个示例。

这个例子对我来说很好,除了一件事,我不知道在我从缓冲区中抓取帧之后如何确定颜色类型。

这就是我抓取框架(Java)的方式:

我的问题是:我怎么知道我有什么颜色?

这是输入示例: color[0] = 0xffd2c8bc