ffmpeg 源码分析】的更多相关文章

最新版ffmpeg源码分析一:框架 (ffmpeg v0.9) 框架 最新版的ffmpeg中发现了一个新的东西:avconv,而且ffmpeg.c与avconv.c一个模样,一研究才发现是libav下把ffmpeg改名为avconv了. 到底libav与ffmpeg现在是什么个关系?我也搞得希里糊涂的,先不管它了. ffmpeg的主要功能是音视频的转换和处理.其功能之强大已经到了匪夷所思的地步(有点替它吹了).它的主要特点是能做到把多个输入文件中的任意几个流重新组合到输出文件中,当然输出文件也可…
http://blog.csdn.net/liuhongxiangm/article/details/8824761 https://code.google.com/p/ffmpegsource/issues/detail?id=11 谷歌源码…
原帖地址:http://blog.csdn.net/austinblog/article/details/24800381 首先先看ffmpeg.c文件,有类似于如下的一些变量: InputStream **input_streams = NULL; ; InputFile   **input_files   = NULL; ; OutputStream **output_streams = NULL; ; OutputFile   **output_files   = NULL; ; 其中:…
原帖地址:http://blog.csdn.net/austinblog/article/details/25127533 该文将以X264编码器为例,解释说明FFMPEG是怎么调用第三方编码器来进行编码的.     所有编码器和解码器都是在avcodec_register_all()函数中注册的.从中可以找到视频的H264解码器和X264编码器: REGISTER_DECODER(H264, h264); REGISTER_ENCODER(LIBX264, libx264); 他们都是通过一下…
原帖地址:http://blog.csdn.net/austinblog/article/details/25061945 transcode_init()函数是在转换前做准备工作的.下面看看其源代码: static int transcode_init(void) { , i, j, k; AVFormatContext *oc; AVCodecContext *codec; //输出流的编解码器结构 OutputStream *ost; //输出流 InputStream *ist; //输…
原帖地址:http://blog.csdn.net/austinblog/article/details/24804455 首先从main函数看起,关键解释部分已加注释,该函数在ffmpeg.c文件中.代码如下: int main(int argc, char **argv) { int ret; int64_t ti; // 注册清理回调函数 register_exit(ffmpeg_cleanup); setvbuf(stderr,NULL,_IONBF,); /* win32 runtim…
int avformat_open_input(AVFormatContext **ps,           const char *filename,           AVInputFormat *fmt,           AVDictionary **options)   {       AVFormatContext *s = *ps;       int ret = 0;       AVFormatParameters ap = { { 0 } };       AVDict…
1. av_find_best_streama. 就是要获取音视频及字幕的stream_indexb.以前没有函数av_find_best_stream时,获取索引可以通过如下 ; i<is->pFormatCtx->nb_streams; i++) { if(is->pFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) { is->videoindex= i; } if(is-&g…
原帖地址:http://blog.csdn.net/austinblog/article/details/25099979 该函数的主要功能是一步完整的转换工作,下面看看源代码: static int transcode_step(void) { OutputStream *ost; InputStream *ist; int ret; //选择一个有效的输出流进行处理 ost = choose_output(); if (!ost) { if (got_eagain()) { reset_ea…
===================================================== FFmpeg的库函数源码分析文章列表: [架构图] FFmpeg源码结构图 - 解码 FFmpeg源码结构图 - 编码 [通用] FFmpeg 源码简单分析:av_register_all() FFmpeg 源码简单分析:avcodec_register_all() FFmpeg 源码简单分析:内存的分配和释放(av_malloc().av_free()等) FFmpeg 源码简单分析:常…