范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

解码器是什么(网址解码器)

  一,MediaCodec工作原理
  MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。
  广义而言,MediaCodec的工作原理就是处理输入数据以产生输出数据。具体来说,MediaCodec在编解码的过程中使用了一组输入/输出缓存区来同步或异步处理数据:首先,客户端向获取到的编解码器输入缓存区写入要编解码的数据并将其提交给编解码器,待编解码器处理完毕后将其转存到编码器的输出缓存区,同时收回客户端对输入缓存区的所有权;然后,客户端从获取到编解码输出缓存区读取编码好的数据进行处理,待处理完毕后编解码器收回客户端对输出缓存区的所有权。不断重复整个过程,直至编码器停止工作或者异常退出。
  mediacodec的作用是处理输入的数据生成输出数据。首先生成一个输入数据缓冲区,将数据填入缓冲区提供给codec,codec会采用异步的方式处理这些输入的数据,然后将填满输出缓冲区提供给消费者,消费者消费完后将缓冲区返还给codec。二,MediaCodec编码过程
  在整个编解码过程中,MediaCodec的使用会经历配置、启动、数据处理、停止、释放几个过程,相应的状态可归纳为停止(Stopped),执行(Executing)以及释放(Released)三个状态,而Stopped状态又可细分为未初始化(Uninitialized)、配置(Configured)、异常( Error),Executing状态也可细分为读写数据(Flushed)、运行(Running)和流结束(End-of-Stream)。
  MediaCodec整个状态结构图如下:
  从上图可知,当MediaCodec被创建后会进入未初始化状态,待设置好配置信息并调用start()启动后,MediaCodec会进入运行状态,并且可进行数据读写操作。如果在这个过程中出现了错误,MediaCodec会进入Stopped状态,我们就是要使用reset方法来重置编解码器,否则MediaCodec所持有的资源最终会被释放。当然,如果MediaCodec正常使用完毕,我们也可以向编解码器发送EOS指令,同时调用stop和release方法终止编解码器的使用。三,MediaCodec API 说明
  MediaCodec可以处理具体的视频流,主要有这几个方法:getInputBuffers:获取需要编码数据的输入流队列,返回的是一个ByteBuffer数组queueInputBuffer:输入流入队列dequeueInputBuffer:从输入流队列中取数据进行编码操作getOutputBuffers:获取编解码之后的数据输出流队列,返回的是一个ByteBuffer数组dequeueOutputBuffer:从输出队列中取出编码操作之后的数据releaseOutputBuffer:处理完成,释放ByteBuffer数据四,MediaCodec基本使用
  所有的同步模式的 MediaCodec API都遵循一个模式:
  创建并配置一个 MediaCodec 对象循环直到完成:如果输入缓冲区就绪,读取一个输入块,并复制到输入缓冲区中如果输出缓冲区就绪,复制输出缓冲区的数据释放 MediaCodec 对象(1) 创建编/解码器
  MediaCodec主要提供了createEncoderByType(String type)、createDecoderByType(String type)两个方法来创建编解码器,它们均需要传入一个MIME类型多媒体格式。常见的MIME类型多媒体格式如下:● "video/x-vnd.on2.vp8" - VP8 video (i.e. video in .webm)● "video/x-vnd.on2.vp9" - VP9 video (i.e. video in .webm)● "video/avc" - H.264/AVC video● "video/mp4v-es" - MPEG4 video● "video/3gpp" - H.263 video● "audio/3gpp" - AMR narrowband audio● "audio/amr-wb" - AMR wideband audio● "audio/mpeg" - MPEG1/2 audio layer III● "audio/mp4a-latm" - AAC audio (note, this is raw AAC packets, not packaged in LATM!)● "audio/vorbis" - vorbis audio● "audio/g711-alaw" - G.711 alaw audio● "audio/g711-mlaw" - G.711 ulaw audio当然,MediaCodec还提供了一个createByCodecName (String name)方法,支持使用组件的具体名称来创建编解码器。但是该方法使用起来有些麻烦,且官方是建议最好是配合MediaCodecList使用,因为MediaCodecList记录了所有可用的编解码器。当然,我们也可以使用该类对传入的minmeType参数进行判断,以匹配出MediaCodec对该mineType类型的编解码器是否支持。
  以指定MIME类型为"video/avc"为例,代码如下:private static MediaCodecInfo selectCodec(String mimeType) {      // 获取所有支持编解码器数量      int numCodecs = MediaCodecList.getCodecCount();      for (int i = 0; i

浓情朱古力(浓情巧克力塔配朱古力草莓伯爵的做法)浓情朱古力(浓情巧克力塔配朱古力草莓伯爵的做法)浓情时刻,怎么能少得了巧克力君呢?让tescoma手把手教你如何将黑巧白巧华丽丽变身成浓情无限的巧克力塔吧!再加上造型可爱的巧克力草吸塑门板(吸塑门板质量怎么样)吸塑门板(吸塑门板质量怎么样)吸塑门板作为经常被用来做橱柜的板材之一,在品质方面还是有很多可取之处的,但是有优点就相对的有缺点,那么吸塑门板的优缺点是什么呢?吸塑门板用来做橱柜怎么好莱客衣柜多少钱平米(好莱客吸塑板单价)随着家居消费需求的升级,以往实用的衣柜已经不能满足新一代的年轻群体,品牌也成为他们选择定制衣柜的一个考察点,今天,小编就来和大家聊聊大家感兴趣的好莱客衣柜是几线品牌?柜猫家居衣柜好衣柜门价格多少一平方(吸塑衣柜门价格多少一平方)现在,吃的到处是防腐剂。喝的全是添加剂,我们的生活,被不健康给充斥着,很是怀念,小时候农村老家,那是虽然,没有好吃的,好喝的,也没有什么玩具,娃娃。但是,健康,快乐。一个塑料玩具枪如何做一名合格的党员(怎么做合格党员100字)庆祝中国共产党成立100周年专题党课讲稿如何做一名合格的共产党员(3篇模板,文章末尾有免费领取方式)如何做一名合格的共产党员1同志们根据公司党委庆祝中国共产党成立100周年活动要求什么叫亚克力(亚克力材料为什么叫亚克力)什么叫亚克力(亚克力材料为什么叫亚克力)什么是亚克力板亚克力板由甲基烯酸甲酯单体(MMA)聚合而成,即聚甲基丙烯酸甲酯(PMMA)板材有机玻璃,有机玻璃源自商品名Oroglas(一pc板是什么(pe板是什么材料)雨棚能遮阳遮雨的简易建筑物。目前,于社区街道车站公路等公共场所已经随处可见,应用广泛!雨棚常见,但是雨棚材料不知道大家是否了解,比如聚碳酸酯(PC)板材PC板类雨棚,结构轻盈灵活造亚克力板是什么(亚克力手工抛光方法)如果要回答形式与功能两者的关系这个设计史上永恒不变的话题,或许亚克力也可以给出一份自己的答案。距1920年第一块亚克力板合成,刚刚好过去了一百年。多彩明快轻盈自由,在亚克力的第10木地板地垫(木地板地垫怎么选择)木地板地垫(木地板地垫怎么选择)那就从三个方面我们来分享一下。一羽毛球馆用什么材料?羽毛球馆室内的话95选用的材料为PVC运动地胶,他的特点呢?环保,自带缓冲,防滑效果好,施工便捷木板种类(木地板分类及优缺点!)木板种类(木地板分类及优缺点!)现在人们装修居室最喜欢用的地面材料就是地板了,无论是结实耐用好打理的强化地板,还是美观大方脚感好的实木地板,都有着大批消费群。木地板是我们装修中最常地板有哪些种类(木地板材质有哪些种类)与瓷砖相比,木地板给人带来的感觉更多的是自然与温润。即使是木地板,其实也包括很多的材质,所以针对于木地板到底该如何选择呢?在木地板的各种材质中,实木材质的地板是最受欢迎的,在此小编
新手做保险怎么找客源(新人做贷款怎么找客户)现如今巨大的保险团队面对的运营压力日益扩大,顾客贮备是生存的关键,传统式的陌生拜访,一切随缘销售市场已不能满足其要求。互联网消费行为的融合与转变是在销售市场端反映,直接影响着广告推代购怎么找货源(新手代购怎么找客源)代购好赚钱吗?他们到底如何运营!大家都觉得代购特别赚钱?答案是X的!代购的钱真不好赚很辛苦,代购其实一般分为三种类型小型个体户代购,直播代购,还有一种是和公司或者某宝销量极高的代购加盟店需要注意什么(炸鸡先生加盟费多少)随着现在大家生活节奏变化的越来越快,很多人都没时间在炸鸡店品尝小吃,更多的是直接买完就走,不会在店铺停留多长时间,所以你看到的就是,现在更多的炸鸡店都缩小了店铺面积,这样不仅减少了干货加盟店(干货店加盟连锁加盟要多少钱)干货加盟店(干货店加盟连锁加盟要多少钱)现在市面上的干果加盟品牌众多,很多品牌的零食不仅美味又健康,质量也是很有保障的,吸引了很多消费者来购买零食。消费者对于零食的需求量在不断增加连锁店如何加盟(加盟店是怎么个加盟法)连锁经营加盟模式的设计应有以下4个原则1双赢原则双赢原则是连锁特许经营最基本最重要的原则之一。特许经营是以合同为基础的一种长期的商业合作关系,在这种独特的商业合作机制中,特许经营将麦吉丽山东总代是谁?我想代理加盟麦吉丽产品?麦吉丽化妆品加盟多少钱?怎么代理?芹大总代18620767468阳光战队创始人代理条件微商代理18620767468麦吉丽产品国家认可吗?麦吉丽支持一件代发吗,国家认可吗追求美丽是麦吉丽辽宁省总代是谁?我想了解麦吉丽产品代理加盟麦吉丽化妆品加盟多少钱?怎么代理?芹大总代18620767468阳光战队创始人代理条件微商代理18620767468麦吉丽产品国家认可吗?麦吉丽支持一件代发吗,国家认可吗追求美丽是如何加盟连锁(加盟)加盟是连锁企业最为的一个问题,甚至有的企业认为,无加盟不连锁,那加盟商从加盟总部那天起,应该如何做人员筹备到新店开业,以及各个落地的操作呢?如果能把整体流程梳理出来,实现标准化,那安卓开发需要学什么(android开发需要什么技术)前言最近在知乎上看到一则15年的帖子毕业一年不到,做Android开发现在我很迷茫?求知乎前辈指点,本一看标题,还以为是在当下Android行情一片哀嚎下的有一贴焦虑贴,可仔细一看什么是虚拟主机(web服务器搭建步骤)虚拟主机的概念最早诞生于1965年,伴随着世界上第一个网站的诞生而诞生,并且已被连续使用了多年。截至到目前,虚拟主机依然是计算机领域的一款强大产品。那么,到底什么是虚拟主机,虚拟主如何设置代理服务器上网(手动设置代理服务器)知道了什么是代理服务器,也知道了代理服务器的工作原理是什么,还知道了为什么要使用代理服务器,那么,怎么使用代理服务器呢?不同的业务场景,有不同的使用方法,以最常用的浏览器浏览网站为