IOS录音:录音权限

2021-02-15
阅读 2 分钟
4.4k
在Xcode->Info->Custom iOS target properties里,添加Privacy-Microphone Usage Description设置,并填写一段描述。

Mac动态库的install name

2021-02-01
阅读 1 分钟
3.2k
某次Mac更新后,.dylib增加了install name一说。今天回归工作第一天,依赖了动态库的mac项目调试运行不起来,提示“@load_path/libxxx.dylib”找不到。好吧,来纠缠一会。

音频学习计划

2021-02-01
阅读 1 分钟
1.1k
今天开始,又正式回归工作。计划在今年内真正入门音视频。2-3月份的主要目标是音频部分。(持续更新)音频待学习内容(ios/android):采集保存.wav播放编码解码各种常见的音频编码特性(压缩比,支持的采样率,适用什么音频,压缩的主要技术,可保存成什么文件,是否支持rtp)音频的封包,解包NetEq,丢包补偿音频的处理...

RTP传输视频数据的两个细节

2020-07-12
阅读 1 分钟
3.3k
最近接到一个工作,为视频会议的视频编码增加一种VP8格式。整个流程包括VP8的编码,封包,发送,接收,解包,解码。在学习这一部分的代码时,注意到两个细节:一,对于压缩后大于1000字节的视频数据进行了拆包,既把较大的视频数据封装成多个RTP包进行发送。二,视频数据并不是拆包后立即发出,而是进入一个队列,根据一...

[编码格式]VP8格式简要说明

2020-07-05
阅读 4 分钟
8.1k
基本信息 支持图片格式:YUV420 帧种类:I帧, P帧 四种参考帧:当前帧(帧内预测),上一帧,golden帧, altref帧。 宏块大小:16*16 疑问:golden和altref分别是什么,有什么区别 基本编码流程 划分宏块 对每个宏块,确定预测方式(用哪个参考帧,预测方式) 对每个宏块,根据预测结果,计算残差。对残差进行DCT/WHT变...

CMake基本使用

2020-06-28
阅读 3 分钟
2.7k
注:add_executable和add_library可以源码列表,源码文件可以在后面通过target_sources添加。因为target_xxx_xxx的命令要求target先定义好,所以这一功能挺重要。

G729编解码

2020-06-22
阅读 5 分钟
4.7k
最近项目中需要用到G729的编解码,查了下FFmpeg,发现只支持G729的解码,没有编码,连用第三方支持都没有。于是开始了漫长的找G729编码器之路。说ITU官网有,大片大片的英文把我吓得不轻;说VoiceAge有封装,去VA官网也没看见;听说是开源的,赶紧去github上搜,也不知道哪个是官方的,反正引用都不多的样子。————我只是想...

FFmpeg在MAC调试运行

2020-06-19
阅读 2 分钟
3.1k
不管是在使用FFmpeg时,或者学习FFmpeg的源码时,能调试跟踪代码,都是非常方便的。然而,跟无数的开源库一样,ffmpeg是用makefile来管理的,并不能直接生成xcode的项目。

FFmpeg配置第三方库

2020-06-17
阅读 2 分钟
6k
FFmpeg支持很多音视频格式的编解码,其中一部分是通过第三方库支持的。这些第三方支持的编解码,默认是不开启的。比如视频的h264,音频的opus(ffmpeg有个原生的opus,但是编码只支持48K).

Doubango(3):主要的plugins类别及相互关系

2020-06-12
阅读 1 分钟
1.3k
上文讲到,doubango把功能分为很多部件,分别用对应部件的plugins来进行处理。那么这篇文章,我们就介绍一下主要的plugin类别。

Doubango(2):plugin结构

2020-06-12
阅读 2 分钟
1.4k
doubango把功能划分为很多部件,如音视频的生产者producer,音视频的消耗者consumer,负责编解码的codec等。每个部件其实可以有不同的实现。如producer在不同平台上就有不同的实现,即使是同一平台,如音频的生产,也可以直接采集麦克风,或者从文件获取音频数据。

Doubango(1):类结构

2020-06-12
阅读 3 分钟
1.3k
如上图,用struct来模拟类,而在每个struct的开始,添加TSK_DECLARE_OBJECT;,然后是类自己的变量。TSK_DECLARE_OBJECT的作用是在每个类的开始添加了3个变量。__def__是一个tsk_object_def_t结构的指针,后面再讲,refCount是一个引用计数。lock也是为了引用计数的一个锁相关变量。