上一篇文章深入分析了FFmpeg解码过程中核心API的内部源代码,本文继续分析FFmpeg编码过程中核心API的内部源代码。本文的编码流程可以参考程序《最简单的基于FFmpeg的视频编码器》。函数调用关系图首先呈现分析的结果,如图所示。...
分类:
其他好文 时间:
2015-03-13 16:42:59
阅读次数:
328
本文简单分析FFmpeg的avcodec_open2()函数。该函数用于初始化一个视音频编解码器的AVCodecContext。...
分类:
其他好文 时间:
2015-03-08 01:28:04
阅读次数:
674
附录 Andoird/NDK环境下FFmpeg及相关库的编译
本篇介绍在Android/Ndk环境下FFmpeg的编译及使用, FFmpeg自带了H264、AAC、MP3的解码器,但却没有(或没有好的)相应的编码器。相应的编码器需要使用第三方库。推荐使用的第三方库为x264(H264编码) 、FDK_AAC(AAC编码),lame(MP3编码)。
在顺序上,应该先编译好第三方库,最后再编...
分类:
移动开发 时间:
2015-03-07 18:44:02
阅读次数:
236
本文记录FFmpeg的两个API函数:avcodec_find_encoder()和avcodec_find_decoder()。avcodec_find_encoder()用于查找FFmpeg的编码器,avcodec_find_decoder()用于查找FFmpeg的解码器。...
分类:
Web程序 时间:
2015-03-06 12:44:00
阅读次数:
480
一、基本概念1)ESES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音...
分类:
其他好文 时间:
2015-03-06 09:30:03
阅读次数:
166
本文简单分析FFmpeg中常用的一个函数:avformat_alloc_output_context2()。在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av_register_all())。avformat_alloc_output_context2()函数可以初始化一个用于输出的AVFormatContext结构体。它的声明位于libavformat\a...
分类:
其他好文 时间:
2015-03-03 23:47:06
阅读次数:
837
转自:链接要做一个移动端视频通话软件,大致看了下现有的开源软件一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun ser...
分类:
移动开发 时间:
2015-03-02 10:48:02
阅读次数:
254
1.数据究竟应当是数字的还是模拟的,应当由传输的数据性质决定。
2.什么是调制?就是把数字信号转换为模拟信号的过程。
3.PCM编码器的作用?就是将模拟信号变为数字信号。
4.美国ISM频段是Industrial,Scientific,Medical,工业,科技,医疗的缩写。
5.电信号一般在200m/us~300m/us之间,远离地面3.6万公里的卫星,上行和下行的时延均约270ms。
...
分类:
其他好文 时间:
2015-03-01 14:30:06
阅读次数:
125
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。 Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF...
分类:
其他好文 时间:
2015-02-26 14:47:01
阅读次数:
163
最近在asp.net项目中碰到的一个问题。一个编码器模块使用单实例实现,结果碰到了编码ID重复的异常。public class IdGenerator{ private static IdGenerator single; public static IdGenerator Single...
分类:
编程语言 时间:
2015-02-15 18:07:56
阅读次数:
158