我们将通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发。这里是第八篇:iOS 视频编码 Demo。这个 Demo 里包含以下内容:1)实现一个视频采集模块;2)实现一个视频编码模块,支持 H.264/H.265;3)串联视频采集和编码模块,将采集到的视频数据输入给编码模块进行编码,并存储为文件;4)
目录一、内容元素二、基础概念2.1、视频封装格式2.2、视频的编码格式2.2.1、视频解码的主要影响因数1)视频质量2)视频码率3)算法复杂度4)鲁棒性2.2.2、常见的编码方式1)H.26X 系列2)MPEG 系列2.3、音频编码方式2.3.1、AAC:Advanced Audio Coding2.3.2、MP3:MPEG-1 or MPEG-2 Audio Layer III2.3.3、W
转载 2023-09-01 19:01:59
600阅读
音视频解码简介一、为什么音视频要编解码?一张图片2M是很正常的大小,1秒视频里有24帧,一分钟就是2G大小,传输上基本是不可能的,所以要压缩/解压缩,这就是编/解码二、解码的方法1、空间一般图片的一个像素点就3个颜色+1个透明度,一个像素点4bit。但是图片上有很多点是同样的颜色和透明度,所以可以做个映射表。映射表的key可以是坐标也可以是范围,例如:动画片颜色单一,压缩比非常大2、时间两帧,也
iOS中,Core Audio提供的一套软件接口来处理音频,支持录音、播放、声音效果、格式转换、文件流解析等。现在常用的场景是网络传输过来的音频流播放,在Core Audio中,可以使用Audio Queue或者OpenAL实现。 audio queue可以录音或播放,它的作用主要是: ·连接音频的硬件部分 ·管理内存 ·对于压缩的音频格式,能使用编解码codec ·调节录音与播放 下面重点
ijkplayer iOS 音视频解码//创建音频解码线程if ((ret = decoder_start(&is->audd< 0)
原创 2023-05-22 17:19:22
356阅读
结合各种资料和自己的理解,估计有些浅显。FFMPEG解码流程:  1. 注册所有容器格式和CODEC: av_register_all()  2. 打开文件: av_open_input_file()  3. 从文件中提取流信息: av_find_stream_info()  4. 穷举所有的流,查找其中种类为CODEC_TYPE_AUDIO  5
作者:声网Agora我们知道 Camera 采集回传的是 YUV 数据,AudioRecord 是 PCM,我们要对这些数据进行编码(压缩编码),这里我们来说在 Android 上音视频解码逃不过的坑-MediaCodec。
转载 2022-01-24 11:49:41
1516阅读
一、ffmpeg    ffmpeg属于GPL或者LGPL,确切属于哪一种,要根据编译选项,因为它里面的库有些属于GPL的有些属于LGPL的,你编译的时候打开或者关闭这些库的选项,就决定了它属于哪一种。项目由以下几部分组成:ffmpeg 视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件.ffserver 基于HTTP(RTSP正在开发中)用于实时广播的
0、生活中的音视频技术平时我们打开电脑中自己存电影的目录的话,一般都会如下图所示,一大堆五花八门的电影。因为下载的来源不同,这些电影文件有不同的格式,用不同的后缀表示:avi,rmvb,mp4,flv,mkv等等(当然也使用不同的图标)。在这里需要注意的是,这些格式代表的是封装格式。何为封装格式?就是把视频数据和音频数据打包成一个文件的规范。仅仅靠看文件的后缀,很难能看出具体使用了什么音视频编码标
转载 2021-11-01 13:48:57
1052阅读
 前言iOS下Apple为我们提供了非常方便的音频编解码工具AudioToolbox。该工具中包含了常见的编解码库,如AAC、iLBC、OPUS等。今天我们就介绍一下如何使用 AudioToolbox 进行AAC音频的编码工作。AAC编码的基本流程在 iOS 中进行AAC编码的流程比较简单,按以下几步即可完成。设置AAC编器的输入、输出格式。创建AAC编码器。转码。得到AAC编码数据后,
音频编解码格式 *MPEG Audio Layer 1/2 *MPEG Audio Layer 3(MP3) *MPEG2 AAC *MPEG4 AAC *Windows Media audeo v1/v2/7/8/9 *RealAudio cook/sipro(real media series) *RealAudio AAC/AACPlus(real media s
转载 精选 2010-10-27 11:16:08
1092阅读
最近在做iOS音频相关的App,在做之前选择了三种解决方案。第一种方案是使用苹果自带的音频解析类AVPlayer,虽然AVPlayer也可以播放音频。但是要做类似于QQ音乐这样的App,使用AVPlayer就显得无能为力了。第二种解决方案使用第三方音频解析框架AudioStreamer,这是一个老外写的音频解析框架。其中包括本地和网络的音频数据解析。核心文件 AudioPlayer.h 和 Aud
转载 2023-07-17 20:29:35
477阅读
时至今日,短视频App可谓是如日中天,一片兴兴向荣。随着短视频的兴起,音视频开发也越来越受到重视,但是由于音视频开发涉及知识面比较广,入门门槛相对较高,让许许多多开发者望而生畏。一、视频是什么?不知道大家小时候是否玩过一种动画
原创 2022-04-25 14:04:35
1214阅读
解码详解~~~
转载 2022-10-13 16:41:03
174阅读
本系列文章通过拆解采集 → 编码 → 封装 → 解封装 → 解码 → 渲染流程并实现 Demo 来向大家介绍如何在 iOS/Android 平台上手音视频开发。这里是第十二篇:iOS 视频解码 Demo。这个 Demo 里包含以下内容:1)实现一个视频解封装模块;2)实现一个视频解码模块;3)串联视频解封装和解码模块,将解封装的 H.264/H.265 数据输入给解码模块进行解码,并存储解码后的
转载 2023-08-29 21:28:32
66阅读
iOS音视频开发涉及的方面比较广泛,一般分为采集、音视频的封装、编码、推流、拉流、解封装、解码、播放等阶段。其中音视频的编码和解码阶段是非常重要的步骤。其中编码分为硬编码和软编码,对应解码分为硬解码和软解码。硬编码硬编码是指使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。 硬编码一般性能高,对CPU没有压力,但是对其他硬件要求较高(如GPU等)。软编码软编码是指使用CP
前面我们介绍了ffplay的调试环境集成、ffplay总体架构、ffplay的读取线程等相关内容,今天介绍下ffplay解码线程工作流程。因为视频解码和音频解码的过程大概一致,因此本文主要介绍视频解码线程内容,字幕的解码忽略...我们还是从这张图开始:图导出的可能有点模糊,再加上上传图床后不知道有没有更加模糊了,想要高清大图的可以后台留言,加v信索取。从图中可以看出,解码线程的主要工作内容是将资
原创 2022-04-27 23:42:30
386阅读
前面我们介绍了ffplay的调试环境集成、ffplay总体架构、ffplay的读取线程等相关内容,今天介绍下ffplay解码线程工作流程。因为视频解码和音频解码的过程大概一致,因此本文主要介绍视频解码线程内容,字幕的解码忽略…我们还是从这张图开始:图导出的可能有点模糊,再加上上传图床后不知道有没有更加模糊了
原创 2022-04-30 10:39:10
165阅读
据DxOMARK官方消息,iPhone 11 Pro Max的音质得分已经出炉,71分不及去年的iPhone Xs Max,官方也给出了详细的测试过程,我们来看一下吧。今年秋天推出的苹果iPhone 11 Pro Max是iPhone 11系列中尺寸最大的机型,主摄像头配备了三个模块,一如iPhone 11 Pro。作为苹果的旗舰手机,11 Pro Max配备有坚实的音频规格,带有立体声扬声器和多
转载 9月前
159阅读
  • 1
  • 2
  • 3
  • 4
  • 5