mediacodec相关内容

使用MediaMuxer创建的不可流式视频文件

我正在使用MediaCodec编码视频.帧通过相机预览回调传递到MediaCodec实例(未使用Surface).我正在使用 JCodec 库进行混合,并且能够流式传输产生的视频(视频播放器显示正确的持续时间,我可以通过搜索栏更改视频位置. 今天,我尝试使用MediaMuxer而不是JCodec,并且视频看起来仍然不错,但是持续时间绝对不正确(几小时而不是一分钟),搜索栏不起作用完全没有. ..
发布时间:2020-05-08 01:16:28 移动开发

Android MediaCodec如何准确地修剪音频帧

我正在构建在Android上精确地修剪视频文件的功能.使用MediaExtractor,MediaCodec和MediaMuxer实现代码转换.我需要帮助截断任意音频帧以匹配其视频帧. 我相信音频帧必须在解码器输出缓冲区中进行修整,这是可以将未压缩的音频数据进行编辑的逻辑位置. 对于进/出修剪,我正在计算原始音频缓冲区的必要偏移量和大小调整,以将其刺入可用的端盖帧中,并使用以下代码提交 ..
发布时间:2020-05-08 01:16:26 移动开发

MediaCodec createInputSurface

我想使用MediaCodec将Surface编码为H.264. 使用API​​ 18,可以通过调用createInputSurface()然后在该表面上绘制来对表面上的内容进行编码. 我在createInputSurface()上收到IllegalStateException.这是额外的logcat输出: D/H264Encoder(17570): MediaFormat: {f ..
发布时间:2020-05-08 01:16:23 移动开发

Color_FormatSurface实现

是否有关于Color_FormatSurface(AndroidOpaque)颜色格式的可用文档?我的视频编码器当前不支持此格式,应该添加该功能,但找不到任何内容. 任何帮助将不胜感激. 解决方案 由于不透明,因此没有文档.从编程的角度来看,这是“不透明的",而不是在alpha融合的意义上. “不透明"格式背后的思想是,设备制造商认为最适合该设备的任何内容.在qcom设备上,Y ..
发布时间:2020-05-08 01:16:10 移动开发

MediaCodec同时编码和解码

我正在尝试使用GPU将效果应用于视频的帧,然后将这些帧重新编码为新的结果视频. 为了提高性能,我执行了以下流程: 有3个不同的线程,每个线程都有自己的OpenGL上下文.这些上下文的设置方式使它们可以在它们之间共享纹理. 线程1 从视频中提取帧并将其作为纹理保存在GPU内存中,类似于 线程2 使用修改后的GPUImage版本处理纹理,该版本还可以在GPU内存中输出纹理. 最 ..
发布时间:2020-05-08 01:16:08 移动开发

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

我正在通过MediaCodec处理实时流,并且有一种情况,其中MediaFormat会在中途发生变化(即:正在解码的视频的分辨率发生变化).假设我将解码器附加到Surface以便在检测到输入流的分辨率变化后将其渲染,则在向其提供新的分辨率缓冲区(为它提供适当的新MediaFormat)之前重新创建解码器. 我遇到了一些奇怪的错误,这些错误并没有给我太多有关可能出错的信息,例如,以新格式和相同 ..
发布时间:2020-05-08 01:16:06 移动开发

将专用的NV12视频帧转换为RGB

我有一个使用Android MediaCodec解码的H264流.当我查询输出MediaFormat时,颜色格式为2141391875.显然,这是一种特殊的NV12变体,称为HAL_PIXEL_FORMAT_NV12_ADRENO_TILED.这是在Nexus 7(2013)上实现的. 我想获取此数据并将其转换为RGB,以便创建位图.我发现StackOverflow帖子将其他格式转换为RGB ..
发布时间:2020-05-08 01:16:03 移动开发

如何使用MediaCodec解码RTSP服务器中的数据?

我在MediaExtractor类中尝试了setDataSource(),但不适用于RTSP路径.我可以对MediaPlayer类使用相同的路径,并且可以使用,但是对我来说,使用MediaCodec类非常重要.我认为Android没有我可以使用的任何RTSP API,也找不到任何适用于Android的RTSP库. 从RTSP服务器向MediaCodec类馈送视频流是否有相对简单的方法? ..
发布时间:2020-05-08 01:15:50 移动开发

使用Retrofit 2将MediaRecorder捕获的音频文件发送到服务器后,该文件损坏了

我的应用程序录制了音频剪辑,并在录制完成后使用Retrofit2将剪辑发送到服务器.该文件已在服务器中接收到,但文件已损坏,我的意思是无法播放.我使用以下URL(例如url:mydomain.co/audio/myaudio.mp4)播放音频片段,我尝试使用postman与另一个音频文件一起播放,音频文件可以成功播放.此外,甚至可以通过以下方式下载android捕获的音频片段Filezilla也具 ..
发布时间:2020-05-08 01:15:48 移动开发

MediaCodec从视频获取所有帧

我正在尝试使用MediaCodec从视频中检索所有帧以进行图像处理,我正在尝试渲染视频并从outBuffers捕获帧. 但是我无法从接收到的字节中启动位图实例. 我尝试将其渲染到表面或不渲染(空),因为我注意到当渲染为null时,outBuffers会获取渲染帧的字节. 这是代码: private static final String SAMPLE = Environm ..
发布时间:2020-05-08 01:15:46 移动开发

从Surface编码时,Adreno GPU上的编码器崩溃

我一直在努力解决这个问题超过一个星期,并且很可能是 Qualcomm GPU/硬件视频编码器中的错误.由于我们被迫发布该应用程序,并且他们的开发人员论坛也未提供任何反馈,因此我也将其发布在这里,希望有人能够提供一些线索,甚至更好的解决方法,以使编码器中的错误得以解决.没有触发. 应用程序从Surface进行编码.当某些图像渲染到表面时,编码器在同一位置(当前正在编码的帧是关键帧)失败(100 ..
发布时间:2020-05-08 01:15:44 移动开发

如何在Android中缩小视频大小?

我是Android的新手.我不知道如何在android中压缩视频. 请给我建议选项吗? 解决方案 您可以在 Media Pack (属于INDE),有关以下内容的教程 https://software.intel.com/zh-cn/articles/intel-inde-media-pack-for-android- .它有一个示例,展示了如何使用媒体包来转码=重新压缩视频文件. ..
发布时间:2020-05-08 01:15:42 移动开发

如何使用MediaCodec在Android中使用软件编解码器

我想使用Mediacodec软件编解码器将yuv数据编码为h264. 我使用Google软件编码器 OMX.google.h264.encoder 当我使用硬件编码器[OMX.qcom.video.encoder.avc]可以正常工作时,但是当我使用软件编码器[OMX.google.h264.encoder]时,它不对文件进行编码.它将给出错误信息[请参阅日志]. 我无法确定是什 ..
发布时间:2020-05-08 01:15:39 移动开发

Android MediaCodec用于解码MPEG2视频流

我正在尝试使用MediaCodec API解码和显示MPEG2编码的流.我使用MediaExtractor从MPEG传输流(TS)中提取流. 我注意到我尝试使用的所有设备上的解码器configure()均发生故障-Nexus7(2012),Nexus7(2013),Nexus10,错误代码为0x80001001. 在使用configure() API时唯一可能出错的参数是提供的Medi ..
发布时间:2020-05-08 01:15:35 移动开发

将MediaCodec解码的视频帧绘制到屏幕上的最快方法?

我正在寻找最快的方法来拍摄从MediaCodec解码器接收到的图像帧并将其绘制到Android设备屏幕上.重要的约束条件和解释如下: 无法使用MediaPlayer.不允许使用中间应用程序. 必须尽快将MediaCodec解码器的输出帧绘制到屏幕上(以最小化延迟). 可用的解码器输出格式如下: ColorFormat [0] 0x00000013 COLOR_FormatYUV ..
发布时间:2020-05-08 01:15:28 移动开发