android使用mediacodec编码后的bytebuffer如何传输? [问题点数:40分,结帖人d383137359]

Bbs1
本版专家分:0
结帖率 99.51%
Bbs1
本版专家分:20
Bbs1
本版专家分:25
Mediacodec编码UDP传输,接收到数据不能解码显示的问题
我是一个新生,最近刚好在做这个,也遇到同样的问题,我用的是UDP,开始也是不显示,后来会花屏,最后发现几个问题: 1 我的将这个每帧数据分包发送的时候,DatagramPacket 被我弄成了存放解码出的数组的初始长度,而这里应该是有效长度,导致接收到数据分包错误了; 2 udp<em>传输</em>过程中1帧数据被分成了很多包,在接收到数据组包的时候一旦发现有一个包没有收到,就要舍弃整帧数据,重新接收其余的数
Android录屏功能的实现,MediaCodec编码为H264,WebSocket实时传输视频流
投屏功能的实现,MediaCodec编解码,MediaProjection获取屏幕视频,WebSocket传视频数据,SurfaceView显示 同时附上摄像头采集MediaCodec实时编解码链接 1.MediaCodec<em>编码</em>: private void initEncoder (){ MediaFormat format = MediaFormat.createVi
Android Camera设置颜色格式与Mediacodec编解码颜色格式
前言我们在前面学习的内容都是为了<em>如何</em>通过Camera预览获得录制的视频,然后把音频和视频上传到服务器或把音频与视频合成本地文件保存打好基础;但我们在还需要学习Camera预览的格式以及MediaCodec编解码的颜色格式的联系,否则我们在合成视频、上传到服务器的视频播放时会有颜色异常;比如:颜色不对、彩色变成黑白等等。知识结构1、Camera预览格式Camera预览格式:NV21、YV12 通过以
利用MediaCodec对音频编解码
利用MediaCodec对音频编解码
android 在用mediacodec编码并传递到vlc播放花屏问题
我参考的文章是http://blog.csdn.net/mirkerson/article/details/38520175 由于<em>传输</em>的数据量大,想降低视频质量,所以修改了视屏的长宽值,造成了传到vlc的视频是双屏,并且出现可花屏的现象,根据改动的值以及源程序代码,分析出可能是参数除了问题。 于是查到下面的信息: 假设我转换一个视频(各项参数都很高),转换参数假设:帧率20fps,分辨率
android MediaCodec 音频编解码的实现
转载请标明出处http://blog.csdn.net/tinsanmr/article/details/51049179 ,本文出自:【Tinsan的博客】 从今天开始 每周不定期更新博客,把这一周在工作与学习中遇到的问题做个总结。俗话说:好记性不如写博客,善于总结的人才能走的更远。写博客这种利人利己的好处我就不一 一列举了,总之,谁做谁知道,哈哈。在文章中如果有什么问题或者错
Android平台采集摄像头图像和使用MediaCodec硬编码的例子详解
很多Android系统上的应用需要采集摄像头图像,并把图像<em>编码</em>成某种格式(比如H264),保存成文件或发送到网络。虽然有FFmpeg可以实现<em>编码</em>的功能,但是<em>使用</em>软<em>编码</em>一方面比较耗电,另一方面,对于CPU性能不是太强的ARM设备来说,软件<em>编码</em>肯定很占CPU资源,有些旧的机器甚至一<em>编码</em>就卡机。从Android 4.1系统起,引进了MediaCodec API,可以实现硬<em>编码</em>的功能,这解决了广大程序员编...
Android Multimedia框架总结(二十)MediaCodec状态周期及Codec与输入/输出Buffer过程(附实例)
前言:前面几节都是介绍Camera2相关,对于Camera2预览把图像显示在SurfaceView上,还有录像时,时时刷新当前图像区域。追溯到最早介绍的MediaPlayer播放视频,这些都离不开重要角色MediaCodec,今天介绍MediaCodec,看下Agenda:
Android项目小结——硬编码(MediaCodec实现YUV420[p|sp]转[h264])
概述 MediaCodec可以实现硬<em>编码</em>(相比FFmpeg来说,效率很高)。 可供参考的博客非常多,只是记录一下自己参考后改写的东西,难免会忘记。 三种方式 (1)基于缓存(ByteBuffer)的同步<em>编码</em> (2)基于缓存(ByteBuffer)的异步<em>编码</em> (3)基于缓存数组的同步<em>编码</em>(废弃,可能效率没前面两种高吧) 基于缓存(ByteBuffer)的同步<em>编码</em> 很典型的代码例程。 public c...
Android之MediaCodec使用经验分享
Android之MediaCodec<em>使用</em>经验分享参考学习资料: http://www.cnblogs.com/Xiegg/p/3428529.html MediaCodec文档翻译&&一些FAQ和例子MediaCodec codec = MediaCodec.createDecoderByType(type); codec.configure(format, ...); codec.star
Android原生编解码接口 MediaCodec 之——完全解析
Android 官方的 MediaCodec API MediaCodec 是Android 4.1(api 16)版本引入的编解码接口,Developer 官网上描述的已经很清楚了。可以配合中文翻译一起看。理解更深刻。 MediaCodec 基本介绍 MediaCodec类可用于访问Android底层的多媒体编解码器,例如,<em>编码</em>器/解码器组件。它是Android底层多媒体支持基础架构...
MediaCodec编码后视频时长不正确的问题
<em>使用</em>MediaCodec对相h机数据进行<em>编码</em>,存储为h264文件之后发现播放的视频长度与实际相比或变长或变短(跟机型有关高端手机会变长)。 尝试在初始化时改变帧率:mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, mFrameRate); 或者在<em>编码</em>时对presentationTimeUs时间戳做调整:mMediaCodec.queueInp...
android编码h264数据,并使用rtp推送数据流,实现一个简单的直播-MediaCodec(一)
写在前面:我并非专业做流媒体的coder,对流媒体行业无比崇拜,只是做了几年安卓车载ROM,对安卓AV开发算是略懂。本篇博客是我对MediaCodec编解码和rtp推流的一次尝试,希望能给有需要的朋友一些细微的帮助,不喜勿喷,如果有不对的地方希望大神指正共同进步,拜谢。  公司近期有意向做直播方面业务,叫我先测试下安卓MediaCodec硬解码并推送实时数据流。由于之前做过USB摄像头用到过Medi
android MediaCodec 实现h264硬编解码全过程
MediaCodec 实现h264硬编解码全过程,视频数据从摄像头读出 yv12格式,转换为I420,投递给encoder,再从encoder取出<em>编码</em>后的h264数据投递给decoder后显示到surfaceView; 实现了udp将h264数据发送到指定主机,可通过vlc播放; 备有可以读取本地264文件流投递给解码器播放; 小米 4.4.2 测试通过.
Android使用MediaCodec录屏、录音小结
Android<em>使用</em>MediaCodec录屏、录音小结 本Markdown编辑器<em>使用</em>StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ct...
Mediacodec获得视频流,写入H264文件
Mediacodec获得视频流,写入H264文件
android 使用MediaCodec 编解码总结
转载地址:https://blog.csdn.net/stn_lcd/article/details/53694120   http://blog.csdn.net/gh_home/article/details/52143102   导言   本文将主要介绍在安卓中调用MediaCodec类实现视频文件的硬解码,以及<em>如何</em>将以byte[]类型存储的图像数据通过硬<em>编码</em>合成视频文件。  ...
MediaCodec硬编码YUV和PCM——非常具有参考意义
http://blog.csdn.net/chinabinlang/article/details/68066689 Android<em>使用</em>系统API进行音视频<em>编码</em> Android<em>使用</em>系统API进行音视频<em>编码</em> from: http://blog.csdn.net/a992036795/article/details/54286654
Android原生编解码接口 MediaCodec 之——踩坑
关键帧 MediaCodec 有两种方式触发输出关键帧,一是由配置时设置的 KEY_FRAME_RATE和KEY_I_FRAME_INTERVAL参数自动触发,二是运行过程中通过 setParameters 手动触发输出关键帧。 自动触发输出关键帧 在MediaCodec硬<em>编码</em>中设置I(关键帧)时间间隔,在 api 中是这么设置的 mediaFormat.setInteger(MediaF...
使用MediaCodec实现H264编码「第四章,Android音视频编码那点破事」
  本章仅对部分代码进行讲解,以帮助读者更好的理解章节内容。 本系列文章涉及的项目HardwareVideoCodec已经开源到Github,支持软编和硬编。<em>使用</em>它你可以很容易的实现任何分辨率的视频<em>编码</em>,无需关心摄像头预览大小。一切都如此简单。目前已迭代多个稳定版本,欢迎查阅学习和<em>使用</em>,如有BUG或建议,欢迎Issue。   说到Android的视频硬<em>编码</em>,很多新人首先会想到MediaRec...
android 使用MediaCodec 编解码总结(最全)
http://blog.csdn.net/gh_home/article/details/52143102   <em>android</em> <em>使用</em>MediaCodec 编解码总结 标签: <em>android</em><em>编码</em>异步解码硬件 2016-08-07 16:32 1906人阅读 评论(4) 收藏 举报  分类: Android(16)  版权声明:本文
使用MediaCodec解码使用SurfaceView显示视频
From https://www.cnblogs.com/CoderTian/p/6221944.html 1.MainActivity.java import <em>android</em>.app.Activity; import <em>android</em>.os.Bundle; import <em>android</em>.os.Environment; import <em>android</em>.view.SurfaceH...
如何通过MediaCodec来进行视频解码后再编码
最近有一个需求是对mp4的视频文件进行解码,之后对图片做处理,做完处理之后再<em>编码</em>成mp4的文件。调查了一下,发现Android API 21之后就支持MediaCodec了,所以先做了一个测试就是先把mp4解码,之后再<em>编码</em>成新的mp4。调试过程中因为Surface的问题,导致查了很久。        具体实现参考了http://www.bigflake.com/<em>mediacodec</em>/里面所说的例
MediaCodec学习笔记
MediaCodec类可用于访问低级媒体编解码器,即<em>编码</em>/解码组件。它是Android低级别多媒体支持基础设施的一部分(通常一起<em>使用</em>MediaExtractor, MediaSync, MediaMuxer, MediaCrypto, MediaDrm, Image, Surface, and AudioTrack.) 从广义上讲,编解码器处理输入数据以生成输出数据。它异步处理数据,并<em>使用</em>一组输
android开发,通过摄像头采集视频 MediaCodec实时编解码
最近在<em>使用</em>研究录屏投屏功能的实现,用到了MediaCodec编解码,之前有做过安卓摄像头实时采集与<em>传输</em>相关的研究。想实现用MediaCodec 编解码实时传播的功能,先做了一个通过摄像头采集视频MediaCodec实时编解码的DEMO。后续有空再完成摄像头采集视频实时编解码并传播功能的DEMO。 下面是MediaCodec实时编解码核心代码: <em>编码</em>: package com.qian
MediaCodec 从Surface编码android锁屏录像和后台录像实现
息屏录像模块 基于以下原理我做出了完整的后头录像功能.不同于其它监控软件的伪后台(伪装窗口运行),此模块完全后台运行,即使锁屏状态也能监测和录像.不仅省电,而且隐蔽性极高,除了你其它人无法察觉. 基于此模块做出一个app. 功能有: 移动侦测录像. 此软件可以侦测摄像头范围内画面.当发生画面变化时自动开始录像,当动作停止一分钟后自动停止录像并保存. 脸部识别侦测录像.侦测到人脸时自动...
MediaCodec 编码时间戳问题
在MediaCodec 的<em>编码</em>时候,需要调用queueInputBuffer( int index, int offset, int size, long presentationTimeUs, int flags) 函数,将装有待<em>编码</em>的帧字节数组传给<em>编码</em>器,第四个参数 代表的<em>编码</em>时间戳,这个<em>编码</em>时间戳非常重要,单位是 微秒,不传或者传错,都会导致解码错误甚至播放不了。 1、不要赋值0,网上好多...
使用MediaCodec实现PCM文件格式编码(压缩)成AAC格式
在Android4.1以后google就提供了MediaCodec这个类来为用户提供音视频的<em>编码</em>解码功能(虽然支持的格式不是很多)。 对于MediaCodec类,我们需要大致介绍一下: 官网提供的概述: In broad terms, a codec processes input data to generate output data. It processes data asynchr
Android MediaCodec API实现的音视频编解码
音视频编解码思路主要借自己开发音视频编解码的经验谈谈思路,希望可以帮助刚接触音视频编解码的猿们: 音视频的原始数据格式 YUV数据之间的转换 MediaCodec 将原始音视频数据<em>编码</em> 音视频两者之间的封装 推流协议的一些说明 音视频的原始数据格式经过自己长达两个多月的摸索,现在大体明白了音视频数据的在每一步之间的格式是什么了!首先,Android调用本地的摄像头以及麦克风采集的原始数据,视频是YU
Android Opengles mediaCodec 预览录制视频 添加水印
将外部纹理转化为普通纹理 <em>使用</em>pbo 叠加水纹纹理(或者其他滤镜等) <em>使用</em>AVO BVO 创建EGL环境共享GLSurfaceview EGLContext 绘制生成的纹理到Mediacodec创建的Surface中,录制成mp4 ...
Mediacodec编码Camera摄像头数据技术要点总结
问题一: Camera采集视频是默认手机为横屏,所以采集到的数据在手机为竖屏时并不能正确显示(旋转了90度)。在Camera预览时可以调用以下函数:Camera.setDisplayOrientation(90)使预览画面正常显示,但并不改变本身采集到的数据,所以,数据还是横屏状态的。问题二: Camera采集数据的默认数据格式是NV21,可以设置为其它的,常用的还有YV12,这里只说NV21,而使
Android自带硬解码解码类型说明MediaCodec使用必看
一、背景 随着Android系统手机性能的不断提升,现阶段大部分手机都自带GPU(承担图形显示的专门硬件),大幅度提高手机显示性能,在视频显示、游戏画面刷新,和高分辨图像显示方面必须<em>使用</em>GPU。GOOGLE在API 16 -4.1版本中增加MediaCodec类,专用于编解码多媒体数据, 二、MediaCodec<em>使用</em>方式      MediaCodec总共有三种<em>使用</em>方法,如下图所示:
MediaCodec硬编码实现手机录屏功能,包括实时添加动态时间水印。
MediaCodec硬<em>编码</em>实现手机录屏功能,包括实时添加动态时间水印,真实项目中抽取出来的。
Android中使用MediaCodec视频编码异步实现
Android中<em>使用</em>MediaCodec进行视频编解码同步异步实现简单的介绍一下MediaCodec:本文主要讲述的是博主自己在用MediaCodec进行编解码过程中分别用同步和异步两种方式实现了硬编解码的过程,因为之前自己在用异步实现的过程中经常会出现解码黑屏的情况,百度和博客上也没有相关的实例,找到的只有一个示例代码,并没有提供什么帮助。所以写了代码去实现,Mediacodec的简单<em>使用</em>我先介绍
使用OpenGL ES通过 MediaCodec进行编码画面变紫
本来以为很简单的,代码都有,直接拿一起的代码修修改改就成功了,结果画面变紫了,最后在这里发现原因,是egl配置不对参考这篇代码EncodeAndMuxTest.java在配置egl时进行修改private static final int EGL_RECORDABLE_ANDROID = 0x3142;int confAttr[] = { EGL14.EGL_RED_SIZE, 8...
android开发,通过摄像头实时采集视频并使用MediaCodec硬编码为H264
最近研究视频通话,写一下关于摄像头采集视频并<em>使用</em>MediaCodec硬<em>编码</em>为H264的过程,希望对有需要的朋友有所帮助。 说实话,刚开始不太熟折腾了挺久的,网上这方面的东西比较少,很多都是代码片段或者就是其他语言写的。这里贴的是本人亲测能用的,希望需要的朋友能少走一些弯路吧。 直接来看看代码吧。都有详细的注释的。 package com.kokjuis.travel.acti
android编码h264(二):MediaCodec 硬编码 h264(硬编码
本篇文章记录一下,<em>android</em>调用<em>mediacodec</em><em>编码</em>camera回掉的YUV数据为h264的方法。     由于公司需要,软<em>编码</em>(X264)由于手机性能的瓶颈,已不能满足要求,所以决定<em>使用</em>硬<em>编码</em>。其实硬<em>编码</em>最早用过MediaRecord,但是不能直接得到h264数据,得先编成MP4,再从MP4里把H264的NALU取出来,感觉太绕了,所以当时抛弃了MediaRecord,选择了x
MediaCodec硬编码成H264视频流
<em>android</em>提供了一个强大的编解码类MediaCodec,可以实现对视频数据的编解码,下面讲一下<em>如何</em>对原始视频数据硬<em>编码</em>成h264格式的流 MediaCodec提供两种方式的输入,一种是将数据写入它的输入缓冲队列里,一种是让MediaCodec建立一个输入Surface,MediaCodec会自动从这个输入Surface中读取数据,因为我做的是录制屏幕的需求,所以我是<em>使用</em>一个Surfa
android 使用MediaCodec(根据设备状况硬编解码)来转码音频(MP3 to aac),并同时裁剪音频
Android<em>使用</em>MediaCodec进行硬编辑音频实现转码,同时实现音频的裁剪。主要<em>使用</em>多线程,解决了部分性能问题,希望对大家有帮助
Android:关于mediacodec编码camera yuv数据帧率过低的问题
网上有很多<em>android</em>平台关于<em>mediacodec</em><em>编码</em>yuv数据为H264数据出现帧率过低的问题 主要是 在while (isRuning) {中有NV21ToNV12(input,yuv420sp,m_width,m_height);这样一段代码,其实大部分博客里面都是直接在java层处理的代码如下:private void NV21ToNV12(byte[] nv21,byte[
MediaCodec 编码解码踩坑记录
概述   在MediaCodec的生命周期内存在三种状态:Stopped, Executing or Released,其中   Stopped状态包含三种子状态:Uninitialized, Configured and Error   Executing状态包含三种子状态:Flushed, Running and End-of-Stream   由于MediaCodec在不同的数据处理模式下状...
【Android】使用MediaCodec硬编码实现视频直播推流端(一)
纯java代码实现视频直播推流,参考github中begeekmyfriend大神的开源项目yasea,其实就是抄袭,哈哈
Android RTMP推流之MediaCodec硬编码一(H.264进行flv封装)
在前面Android平台下<em>使用</em>FFmpeg进行RTMP推流(摄像头推流)的文章中,介绍了<em>如何</em><em>使用</em>FFmpeg进行H264<em>编码</em>和Rtmp推流。接下来讲分几篇文章来介绍<em>如何</em><em>使用</em>Android系统的MediaCodec进行H264硬<em>编码</em>,然后封装推流。这一块涉及的内容很多,其中涉及一些基础知识也会有单独文章介绍比如flv格式。这篇文章主要介绍<em>如何</em>用MediaCodec进行<em>编码</em>,然后将<em>编码</em>后的数据进行fl
OpenGL.ES在Android上的简单实践:21-水印录制(MediaCodec输出h264+MediaMuxer合成mp4 上)
OpenGL.ES在Android上的简单实践:21-水印录制(MediaCodec输出h264+MediaMuxer合成mp4 上) 1、录制视频需要什么? 在上篇文章,我们已经成功的满足了需求,在预览摄像头的同时加上一些简单的视频二次处理(水印)。接下来我们就是要把视频录制下来,这就涉及视频的<em>编码</em>范畴了。视频编解码知识点无论在哪个平台上的操作系统上,都是比较难的一个知识点。在Android...
十分钟完成安卓MediaCodec视频解码
码字辛苦!转载请注明出处! 0.前言 MediaCodec是安卓自带的视频编解码工具,由于<em>使用</em>的是硬解码,其效率相对FFMPEG高出来不少。 但由于部分厂商的解码器的设计,在某些手机上,H.264解码帧会缓存几帧再渲染,造成7帧左右的延迟现象。如果对解码实时性要求较高,可以通过减少IDR帧间隔来解决(三星的Exynos解码器除外)。 首先不得不说,MediaCodec的<em>使用</em>相对于其他解码工...
androidmediacodec强制申请关键帧
https://github.com/AnyRTC/anyRTC-RTMP-OpenSource/issues/49   V_H264Encoder::RequestKeyFrame Android 6.0推送全是I 帧 或者全是P帧 急急急 #49 Open jinlong0813 opened this Issue on Nov 9, 2016 · 9 comments Comme...
mediaCodec 的使用遇到的问题
最近项目需要在<em>android</em>的项目进行音视频的硬编解码,所以<em>使用</em>mediaCodec。这个过程,首先需要对音视频的编解码有足够的理解。无论是音频、视频的<em>编码</em>、解码,MediaCodec都是有三个部分。原理是消费者生产者的处理信息的过程。1.MediaCodec初始化设置,主要设置MediaCodec 2.将数据放到MediaCodec的InputBuffer 3.将数据从MediaCodec的Out
ByteBuffer读取文件乱码
public class NioTest { /**  * @param args  */ public static void main(String[] args) {  // TODO Auto-generated method stub  try {   FileChannel fc = new FileInputStream("src/com/test/IOTest.java")  
Android硬件H264保存文件
package com.interfaces.<em>android</em>encode; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.net.DatagramPacket; import java.net
使用MediaCodec编码AAC音频数据「第五章,Android音视频编码那点破事」
 本章仅对部分代码进行讲解,以帮助读者更好的理解章节内容。 本系列文章涉及的项目HardwareVideoCodec已经开源到Github,支持软编和硬编。<em>使用</em>它你可以很容易的实现任何分辨率的视频<em>编码</em>,无需关心摄像头预览大小。一切都如此简单。目前已迭代多个稳定版本,欢迎查阅学习和<em>使用</em>,如有BUG或建议,欢迎Issue。   在上一章我们讲到了MediaCodec的工作流程,以及<em>如何</em>利用Med...
mediacodec编解码少帧问题
<em>使用</em><em>mediacodec</em>编解码,发现跟输入帧数不对,后面少了几帧,原因: End-of-stream Handling When you reach the end of the input data, you must signal it to the codec by specifying the BUFFER_FLAG_END_OF_STREAM flag in th
android用MediaCodeC将opengl绘制内容录制为一个mp4
做了一个demo:用MediaCodeC将opengl绘制内容录制为一个mp4 https://github.com/xiaxveliang/GL_AUDIO_VIDEO_RECODE 学习MediaCodeC时的参考代码 http://bigflake.com/<em>mediacodec</em>/EncodeAndMuxTest.java.txt 对于以上代码,我做了一个简单的注释,代码如下: ...
OpenGL ES短视频开发(MediaCodec编码)
这一章节进行视频录制,选用MediaCodec, ffmpeg软编效率比较低,这里采用MediaCodec进行<em>编码</em>。 MediaCodec MediaCodec是Android 4.1.2(API 16)提供的一套编解码API。它的<em>使用</em>非常简单,它存在一个输入缓冲区与一个输出缓冲区,在<em>编码</em>时我们将数据塞入输入缓冲区,然后从输出缓冲区取出<em>编码</em>完成后的数据就可以了。 除了直接操作输入缓冲区之外,还有...
使用MediaCodeC将图片集编码为视频
原文地址 原创文章,转载请联系作者 绿生莺啼春正浓,钗头青杏小,绿成丛。 玉船风动酒鳞红。歌声咽,相见几时重? 提要 这是MediaCodeC系列的第三章,主题是<em>如何</em><em>使用</em>MediaCodeC将图片集<em>编码</em>为视频文件。在Android多媒体的处理上,MediaCodeC是一套非常有用的API。此次实验中,所<em>使用</em>的图片集正是MediaCodeC硬解码视频,并将视频帧存储为图片文件文章中,对视频解码出...
Android音视频编解码库MediaCodec
MediaCodec类可用于访问低级媒体编解码器,即<em>编码</em>器/解码器组件。 它是Android低级多媒体支持基础架构的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface和AudioTrack一起<em>使用</em>)。广义而言,编解码器处理输入数据以生成输出数据。 它异步处理数据并<em>使用</em>一组输入和输出缓冲区。 在简...
Android MediaCodec实现摄像头数据硬编解码全过程
MediaCodec h264硬编解码 摄像头
ByteBuffer编码和解码设置
FileChannel fileChannel2=new FileInputStream(&quot;D:\\abr.txt&quot;).getChannel(); Charset charset=Charset.forName(&quot;utf-8&quot;); ByteBuffer byteBuffer=ByteBuffer.allocate(BIZE); while (fileChannel2.read(byteBuff...
java bytebuffer获取来的是乱码的思考?
首先java nio的<em>bytebuffer</em>数据流一些字节流,这些字节流可以代表是有意义的字符也有可能是乱码,如果你把这些字节码直接通过 Charset.forName("UTF-8").newDecoder().decode(buffer).toString(); 转换成字符的时候就有可能是乱码,不管你改成什么<em>编码</em>格式都有可能是乱码。 所以更加通用的方式直接转化成hexstring。
MediaCodec进行编解码AAC(文件格式转换)
本文来自eric原创授权发布,eric,音视频开发爱好者,简书地址:https://www.jianshu.com/u/1502591a1753。欢迎大家关注。AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行<em>编码</em>,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。在介绍
android ndk之opencv+MediaCodec硬编解码来处理视频动态时间水印
<em>android</em> ndk之opencv+MediaCodec硬编解码来处理视频水印学习笔记 <em>android</em>视频处理学习笔记。以前<em>android</em>增加时间水印的需求,希望多了解视频编解码,直播,特效这一块,顺便熟悉NDK。 openvc能干什么?为什么要集成openvc? openvc是一套计算机视觉处理库,直白地讲,就是处理图片和识别图片的。有自己的算法后,可以做一些高级的东西,比如机器视觉...
Android MediaCodec硬编兼容性测试方案
作者:阿宝  更新:2016-08-15  来源:彩色世界(https://blog.hz601.org/2016/08/15/<em>android</em>-<em>mediacodec</em>-hardcode-compatibility-testing/index.html) 简述Android系统在短时间内大放异彩,得益于其源码的开放性;也正因其开放性,各厂商自由定制,导致了系统碎片化严重。Android硬件<em>编码</em>的Me
Android-那些年我们进过的坑-ByteBuffer导致的bug
Android-那些年我们进过的坑-ByteBuffer导致的bug前几天发现这么一个问题,自己实现的序列化,按字节操作。5.0一直没测试,发现反序列化有问题,一直以为数据库的问题。折腾了一晚上。 都知道在5.0 google做了好多优化。我们<em>使用</em>了allocateDirect,debug发现5.0上出问题的时候offset不是0,而5.0一下的时候offset都是04.4中的源码DirectBy
MediaCodec编码H264视频模糊、花屏
问题描述 在给MP4加特效后二次合成<em>编码</em>时,发现在某些手机上二次<em>编码</em>后的视频出现严重的模糊、花屏问题,但是原视频也是同一个手机录制的<em>编码</em>就没问题,只是在二次编辑后才会出现这个问题 解决方案 最后发现是由于MediaFormat.KEY_BITRATE_MODE设置的参数问题导致的,默认录制视频时设置的参数值为: MediaCodecInfo.Encoder...
Android使用AudioRecorder录音,通过G711A编码并实时发送
AudioRecorder:封装了录音的方法:创建录音对象、开始、暂停、停止、取消,<em>使用</em>静态枚举类Status来记录录音的状态。 AudioRecorder类: import <em>android</em>.media.AudioFormat; import <em>android</em>.media.AudioRecord; import <em>android</em>.media.MediaRecorder; import andr...
视频直播推流技术(MediaCodec硬编码+libRTMP,编码器),Demo - Android
- aac audio_codec; h264,video_codec;25 framerate 25帧; - Camera-YUV帧序列-YUV帧预处理(镜像 缩放 旋转)-<em>编码</em>器-H264数据 从摄像头输出的YUV帧经过预处理之后,送入<em>编码</em>器,获得<em>编码</em>好的h264视频流。 &gt;直播,<em>编码</em>器SDK 1.直播 SDK 的开发,尤其是音视频录制、处理、<em>编码</em>、推流等核心功能的研发; ...
Android使用ffmpeg和MediaCodec解码h265裸流(没解码的代码))
具有硬解的能力,但是需要<em>android</em> 4.1以上才能支持。 这个demo主要是测试硬解和软解h265裸流的能力,有一些手机可能不支持硬解,因此硬解和软解的效率是大致相当的。硬解H265<em>使用</em>的是MediaCodec+ffmpeg方案,ffmepg负责拆包,MediaCodec负责解码和渲染,祝你愉快
Android平台使用MediaCodec设置码率无效(跟实际码率偏差很大)的问题解决
Android从4.1系统开始,引进了MediaCodec API,支持对图像进行硬<em>编码</em>,但很多读者刚开始<em>使用</em>这套API遇到很多问题,特别是不知道<em>如何</em>正确设置<em>编码</em>器的参数。设置MediaCodec<em>编码</em>器涉及如下几个重要的参数:码率模式(固定码率、可变码率),码率,帧率、I帧间隔,H264的Profile和Level,下面是一段初始化参数的代码: public AvcEncode(int wi...
Android 采用MediaCodec实现Camera预览视频编解码
Android MediaCodec 实现Camera预览帧数据编解码并投射至另外的SurfaceView显示,另外附加Camera2的<em>使用</em>。
Android利用mediacodec进行视频H264编码解码播放
H264是目前最常用的视频压缩格式之一,可以将视频、图片、音频等转换为字符串流形式,以此可以进行再次编辑、<em>传输</em>等。详情参考http://blog.csdn.net/lcalqf/article/details/42556219。 在Android里,最常用的视频<em>编码</em>解码用的API就是<em>mediacodec</em>了,可以进行多种格式的硬解码,也能和mediamuxer一起<em>使用</em>实现音视频文件的编辑(结合Me
android MediaCodec 音频编解码的实现——转码
本篇文章以mp3转码成aac为例,转码实现原理:mp3->pcm->aac,首先将mp3解码成PCM,再将PCM<em>编码</em>成aac格式的音频文件。
MediaCodec录制音视频,并将合成为一个文件
主要的步骤分为视频录制,音频录制,视频合成。 视频录制采用OpenGLES渲染预览摄像头画面,通过MediaCodec创建一个surface,然后通过创建一个新的egl环境共享预览的EglContext和这个surface绑定,渲染摄像头预览的fbo绑定的纹理,即可录制。 音频录制采用MediaCodec即可,从外部传入pcm数据进行<em>编码</em>录制。 音视频合...
Android 实时视频采集/编码/传输/解码/播放—方案调研
【流媒體】Android 实时视频采集/<em>编码</em>/<em>传输</em>/解码/播放—方案调研(初) 【流媒體】Android 实时视频采集/<em>编码</em>/<em>传输</em>/解码/播放—方案调研(初)  SkySeraph Mar 23rd 2012 Email:skyseraph00@163.com  更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com  实
使用MediaMuxer对音视频进行混合封装「第六章,Android音视频编码那点破事」
本章仅对部分代码进行讲解,以帮助读者更好的理解章节内容。 本系列文章涉及的项目HardwareVideoCodec已经开源到Github,支持软编和硬编。<em>使用</em>它你可以很容易的实现任何分辨率的视频<em>编码</em>,无需关心摄像头预览大小。一切都如此简单。目前已迭代多个稳定版本,欢迎查阅学习和<em>使用</em>,如有BUG或建议,欢迎Issue。   MediaMuxer的<em>使用</em>比较简单,方法很少,就那么几个。但是需要注意...
AudioRecord实现实时录音和MediaCode转码
           最近在做一个基于海思芯片网络摄像头的项目,其中有个需求就是能够实时通话,就和语音聊天一样,但是只要实现一边的实时<em>传输</em>功能就可以了,于是花了接近两个星期的捣鼓,终于搞出了一个比较完美的方案(原谅自己的菜)     AudioRecord 简介       Android提供了两个函数可以实现录音功能,一个是AudioRecord,另一个是功能比较强大的MediaRecor...
Android平台使用MediaCodec进行H264格式的视频编解码
Android平台<em>使用</em>MediaCodec进行H264格式的视频编解码 Android多媒体简介 MediaCodec MediaExtractor MediaMux H264关键词 Android多媒体简介 提起<em>android</em>中的多媒体,就不得不提两个类,那就是MediaPlayer和MediaRecorder,这两个是分别用来进行音视频播放和录制的类。这两个类都可以在java中调...
Camera 仿微信相机 利用MediaCodec API 从录制MP4到解析播放
本文是在 Camera 采集数据通过 textureview 预览,手动对焦、自动对焦 (一) 的基础上,
RK3399-MediaCodec C++使用
通过native C++调用mediaCodec
Android上用MediaCodec+SurfaceView的方式对H264裸流解码播放
    公司要实现在手机app上查看到摄像头的拍摄视频,<em>使用</em>了第三方的服务,但第三方最终只会底层透传一个视频的字节数组,并没有视频播放的功能,此功能需要自己实现。    由于第三方服务是基于native的,所以之前写的h5app不能用了,得重新用native实现,而我本人也是不懂安卓的,但没办法,还是得去琢磨。    一开始只知道我现在能拿到视频的字节数组,但压根不知道怎么把数组变成视频显示在手机...
Android硬编解码MediaCodec使用笔记
一、MediaCodec介绍 MediaCodec类可以用来访问底层媒体编解码器,即<em>编码</em>器/解码器的组件。 它是Android底层多媒体支持架构的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface和AudioTrack一起<em>使用</em>)。 In broad terms, a codec proc...
mediacodec全i帧录制
https://blog.csdn.net/DaltSoftware/article/details/78721124   Android 音视频录制(3)——全关键帧视频录制(视频编辑必备) 2017年12月05日 16:20:50 白云苍狗日悠悠 阅读数:604 标签: <em>android</em> 视频 surface buffer 更多 个人分类: <em>android</em>音视频 概述 在看本篇文...
android使用MediaCodec实现异步视频编解码
<em>android</em><em>使用</em>MediaCodec实现异步视频编解码 最近在做屏幕投影的项目中需要对H.264的视频流做解码播放显示,项目基于Android 7.0的系统,虽然<em>android</em>系统已经提供了一套以MediaCodec为核心的硬解码实现方案。但是在实际运用过程中,遇到许多问题,在这里进行一个总结,方便自己以后查阅,主要涉及以下内容: TextureView与SurfaceView Media...
使用MediaCodec硬解码h.265视频及音频进行播放
h.265这个视频是很多播放器不支持的,就算是bilibili开源的ijkplayer也不能直接播放,需要自己去重新编译 才可以支持。 这里通过这个demo来演示一下<em>如何</em>硬解码视频,播放h.265视频,其实<em>编码</em>的视频同样道理。 视频的播放主要在surfaceView中显示,而解码过程则在音频解码线程和视频解码线程两个线程中分别执行。 视频解码 主要是用到了一个MediaCodec这个类来
Linux下编译Android ffmpeg库(mediacodec 硬件解码)
NDK:<em>android</em>-ndk-r14b-linux-x86_64.zip  NDK下载地址  ffmpeg:ffmpeg-3.3.4.tar.bz2        ffmpeg下载地址 Linux:Ubuntu 1.将下载好的NDK、ffmpeg解压,待用; 2.在ffmepg目录下,编辑configure文件,将 SLIBNAME_WITH_MAJOR='$(SLI
android mediacodec 硬编解码
实现<em>mediacodec</em>硬编解码,支持预览和解码图像同时在2个surface显示。三星s6亲测有效,有需要的就拿去吧。
【第四篇章-android平台MediaCodec】根据编码类型MIME_TYPE获取MediaCodecInfo
String AMIME_VIDEO_VP8 ="video/x-vnd.on2.vp8"; //- VP8 video (i.e. video in .webm) String AMIME_VIDEO_VP9 ="video/x-vnd.on2.vp9"; //- VP9 video (i.e. video in .webm) String AMIME
MediaCodec基本原理及使用
MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合<em>使用</em>,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。广义而言,MediaCodec的工作原理就是处理输入数据以产生输出数据。具体来说,MediaCodec在编解码的过程中<em>使用</em>了一组输入/输出缓存区来同步或异步处理数据:首先,客户端向获取到的编解码器输入缓存区写入要编解码的数据并将其提交
Android Multimedia框架总结(二十一)MediaCodec中创建到start过程(到jni部分)
上一章介绍MediaCodec的说明及状态图,从今天开始,将深入源码中看看其过程,看下Agenda如下: - 一张图看清MediaCodec从创建到start过程 - 补充MediaCodec基本用法 - MediaCodec中BufferInfo内部类: - <em>android</em>_media_MediaCodec.cpp - <em>android</em>_media_MediaCodec.h
Android中如何提取和生成mp4文件(MediaMUxer)
http://ticktick.blog.51cto.com/823160/1710743 标签:mp4 Android MediaCodec MediaMuxer MediaExtractor 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/8
Android使用MediaCodec解码视频并用OpenGL ES进行渲染的思路
in Android 4.1 (API 16) and above, MediaCodec is introduced by Android. By using MediaCodec, we can easily decode video without using Android NDK, like creating video playback application, etc. In ga
Android中使用MediaCodec硬件解码,高效率得到YUV格式帧
http://www.cnblogs.com/welhzh/p/6079631.html Android中<em>使用</em>MediaCodec硬件解码,高效率得到YUV格式帧,快速保存JPEG图片(不<em>使用</em>OpenGL)(附Demo) MediaCodec的<em>使用</em>demo: https://github.com/vecio/MediaCodecDemo https://gi
android 使用MediaCodec和lamemp3对多段音频进行截取和拼接
截取很简单,只要用MediaCodec进行解码解出pcm格式的数据,再把pcm数据用MediaCodec进行<em>编码</em>或者用其他第三方的进行<em>编码</em> 拼接就比较麻烦,音频的音质会受到采样率,比特率和声道的影响,所以理想的状态是这三个属性要一样进行拼接才能保证音质 举个栗子,a和b是两首采样率,比特率和声道都不一样的歌,要拼接成c,首先要设置c的采样率,比特率和声道,这里用a的来进行设置,然后拼接,播放c的时...
android 编解码器MediaCodec使用中常见问题和解决办法
1.请求关键帧: if (Build.VERSION.SDK_INT &amp;gt;= 23) { Bundle params = new Bundle(); params.putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0); mMediaCodec.setParameters(params...
安卓mediacodec如何获取解码后的数据?
在mCodec.configure(mediaFormat, null, null, 0)中将Surface设置成null然后用mCodec.getOutputBuffers()就可以获得解码后的数据了
Android自带硬编解码器MediaCodec使用必看
一、背景随着Android系统手机性能的不断提升,现阶段大部分手机都自带GPU(承担图形显示的专门硬件),大幅度提高手机显示性能,在视频显示、游戏画面刷新,和高分辨图像显示方面必须<em>使用</em>GPU。GOOGLE在API 16 -4.1版本中增加MediaCodec类,专用于编解码多媒体数据,二、MediaCodec<em>使用</em>方式     MediaCodec总共有三种<em>使用</em>方法,如下图所示:          ...
Android MediaCodec图片合成视频
利用MediaCodec可以录制视频,可是可以将图片合成视频吗?之前<em>使用</em>ffmpeg来实现。但是,ffmpeg却是c++写的,而且非常占用内存,虽然它是非常棒的音视频处理库,但是杀鸡焉用牛刀,所以今天就讲一下:<em>如何</em>利用Android API中的MediaCodec来实现图片合成视频 YUV是为了解决彩色电视与黑白电视的兼容性。黑白视频只有Y值,也就是灰...
Android项目小结——硬解码(MediaCodec实现[MP4]转YUV420各种格式)
YUV420 yuv420p:yv12(YYYYYYYY VV UU)、I420(YYYYYYYY UU VV) yuv420sp:nv12(YYYYYYYY UV UV)、nv21(YYYYYYYY VU VU) 同样是三种方式 (1)基于缓存(ByteBuffer)的同步<em>编码</em> (2)基于缓存(ByteBuffer)的异步<em>编码</em> (3)基于缓存数组的同步<em>编码</em>(废弃,可能效率没前面两种高吧) 基...
Android音频视频硬编码和解码_MediaCodec
Android音频视频硬<em>编码</em>和解码_MediaCodec,采用系统自带的<em>编码</em>器和解码器MediaCodec,研究中遇到很多坑,在此记录下来,方便自己和朋友们查看。
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={     stamp:0,     tid:1,     stampnow:Date.parse(new Date())/1000,//统一开始时间戳     ...
黑客大曝光中文版黑客大曝光中文版黑客大曝光中文版下载
黑客大曝光中文版黑客大曝光中文版黑客大曝光中文版黑客大曝光中文版 相关下载链接:[url=//download.csdn.net/download/downloadnumber/2151922?utm_source=bbsseo]//download.csdn.net/download/downloadnumber/2151922?utm_source=bbsseo[/url]
SOA 的一些技术文档下载
SOA 的一些技术文档 SOA 的一些技术文档 SOA 的一些技术文档 SOA 的一些技术文档 相关下载链接:[url=//download.csdn.net/download/douyu0814/2374275?utm_source=bbsseo]//download.csdn.net/download/douyu0814/2374275?utm_source=bbsseo[/url]
ASP.NET+ExtJS开发实例下载
ASP.NET+ExtJS开发实例... 非常牛X.. 值得你一看 相关下载链接:[url=//download.csdn.net/download/lasimmm/2493605?utm_source=bbsseo]//download.csdn.net/download/lasimmm/2493605?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 物联网传输课程设计 java学习后如何复习
我们是很有底线的