
FFmpeg
飞天小蚂蚁
这个作者很懒,什么都没留下…
展开
-
FFMpeg框架代码阅读
原文出处: http://blog.youkuaiyun.com/wstarx/article/details/1572393简介FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MP转载 2012-04-05 21:34:58 · 372 阅读 · 0 评论 -
H264探测过程用到的几个函数原型
转自:一、h264_demuxer过程中用到的几个函数ffmpeg h264探测输入格式:调用av_open_input_file(&pFormatCtx,is->filename,NULL,0,NULL)函数打开输入的文件.1.分析一下函数原型:intav_open_input_file(AVFormatContext**ic_ptr,// 输出参数: 格式上下文转载 2012-06-04 16:38:53 · 1234 阅读 · 0 评论 -
FFMpeg的解码流程
转自:http://lihaoyan.blog.sohu.com/141738572.html1. 从基础谈起先给出几个概念,以在后面的分析中方便理解Container:在音视频中的容器,一般指的是一种特定的文件格式,里面指明了所包含的 音视频,字幕等相关信息Stream:这个词有些微妙,很多地方都用到,比如TCP,SVR4系统等,其实在音视频,你 可以理解为单纯转载 2012-06-04 16:41:09 · 563 阅读 · 0 评论 -
ffmpeg播放流程讲解
转自:http://blog.youkuaiyun.com/livingpark/article/details/57744761. register codecs (1)./configure时选择要编译的codec(以cook为例) 默认时已经选择,不需要指定参数 生成的config.mk文件中有 CONFIG_COOK_DECODER=转载 2012-06-04 16:42:47 · 1034 阅读 · 0 评论 -
ffplay代码学习之thread线程
转自:http://hi.baidu.com/ccqi0000/blog/item/baa5a3da56b88d215882ddfb.html一:main 主线程1>av_register_all ,SDL_Init,创建timer(定时检查是否有解码后的frame,有就显示)其中消息循环中1.捕获key msg2.捕获系统event3.捕获event新的frame转载 2012-06-04 16:45:12 · 714 阅读 · 0 评论 -
关于解码后的data与linesize的关系
AVPicture里面有data[4]和linesize[4]其中data是一个指向指针的指针(二级、二维指针),也就是指向视频数据缓冲区的首地址,而data[0]~data[3]是一级指针,可以用如下的图来表示:data -->xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ^ ^转载 2012-06-05 16:08:02 · 1103 阅读 · 0 评论 -
移植ffmpeg到VC环境经验心得
转自:http://www.cnblogs.com/mcodec/articles/1659671.html所有想学习ffmpeg的网友有福了,大名鼎鼎的ffmpeg,移植到Windows的VC6版本全部开源,编译环境为VC6+SP5+VCPP5。别忘记了顶贴哦。移植ffmpeg到windows,主要的修改是ffmpeg中VC6不支持C99语法,简单移植步骤如下:1:首先装好Linux转载 2012-06-05 16:08:18 · 739 阅读 · 0 评论 -
使用FFmpeg&SDL开发音视频播放器
转自:http://www.if4ever.com/?p=57通过上一个简单的ffmpeg使用事例,对ffmpeg的整体有了一个初步的了解。然后想通过ffmpeg和sdl来开发一个自己的简单的视频播放器。解码的整体思路基本上没有根本的变化,但是为了时间控制,使用多线程开发,使得整个架构变得更加复杂。开发的第一个版本,为了简单和熟练ffmpeg开发,只对视频的图像进行decode和displ转载 2012-06-05 16:07:02 · 644 阅读 · 0 评论 -
FFMpeg中apiexample.c例子分析——编码分析
转自:http://blog.sina.com.cn/s/blog_51a320810100abuq.htmlapiexample.c例子教我们如何去利用ffmpeg库中的api函数来自己编写编解码程序。 (1)首先,main函数中一开始会去调用avcodec_init()函数,该函数的作用是初始化libavcodec,而我们在使用avcodec库时,该函转载 2012-06-05 16:07:51 · 484 阅读 · 0 评论 -
FFMpeg的output_example.c例子分析
转自:http://blog.sina.com.cn/s/blog_51a320810100abus.html该例子讲了如何输出一个libavformat库所支持格式的媒体文件。(1)av_register_all(),初始化libavcodec库,并注册所有的编解码器和格式。(2)guess_format(),根据文件名来获取输出文件格式,转载 2012-06-05 16:07:37 · 458 阅读 · 0 评论 -
使用FFmpeg&SDL开发音视频播放器
转自:http://www.if4ever.com/?p=57通过上一个简单的ffmpeg使用事例,对ffmpeg的整体有了一个初步的了解。然后想通过ffmpeg和sdl来开发一个自己的简单的视频播放器。解码的整体思路基本上没有根本的变化,但是为了时间控制,使用多线程开发,使得整个架构变得更加复杂。开发的第一个版本,为了简单和熟练ffmpeg开发,只对视频的图像进行decode和displ转载 2012-06-05 16:08:34 · 1044 阅读 · 0 评论 -
windows下使用MinGW+msys编译ffmpeg
转自:http://www.diybl.com/course/3_program/c++/cppjs/20111029/562359.html有修改FFmpeg是在Linux平台下开发的,但它同样也可以在其它操作系统环境中编译运行,本文介绍的就是在windowsXP下编译FFmpeg。一准备环境:1 下载 mingw 和 MSYS去 http://sourceforge.n转载 2012-06-05 16:08:13 · 993 阅读 · 0 评论 -
ffmpeg分析系列之一(注册该注册的)
hello,各位好,本人是一名嵌入式软件工程师,目前正使用ffmpeg开发一款嵌入式多媒体播放器,《ffmpeg分析》系列博文是本人在阅读ffmpeg源代码时所做的笔记,希望对各位有点帮助。分析过程结合下面的例程: http://dranger.com/ffmpeg/tutorial05.c 一. 调用av_register_all函数注册所有的格式和编码解码器. 1.1 先调用avco转载 2013-11-25 21:18:05 · 616 阅读 · 0 评论 -
ffmpeg tutorial 创建线程
在手册中,这部分有的没有翻译。流程大致是这样的:main-->定时器产生FF_REFRESH_EVENT事件-->产生decode_thread线程-->进入SDL事件循环 decode_thread-->初始化操作(很简单的找到解码库等)-->read包-->将包放入相应的队列中-->如果是视频流调用video_thread -->如果是音频流则设置audio_callback转载 2013-11-25 21:23:16 · 750 阅读 · 0 评论 -
ffmpeg分析系列之二(文件协议)
URL协议结构:typedef struct URLProtocol { const char *name; int (*url_open)(URLContext *h, const char *url, int flags); int (*url_read)(URLContext *h, unsigned char *buf, int size); i转载 2013-11-25 21:18:40 · 920 阅读 · 0 评论 -
windows下使用MinGW+msys编译ffmpeg
转自:http://blog.chinaunix.net/uid-20718335-id-2980793.html 本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处。 FFmpeg是在Linux平台下开发的,但它同样可以在其它操作系统环境中编译运行,本文介绍的就是在windows下编转载 2012-06-04 16:28:51 · 523 阅读 · 0 评论 -
使用FFMPEG对流数据进行解码
转自:http://blog.youkuaiyun.com/gwinner/article/details/5462855本文以H264视频流为例,讲解解码流数据的步骤。 为突出重点,本文只专注于讨论解码视频流数据,不涉及其它(如开发环境的配置等)。如果您需要这方面的信息,请和我联系。 准备变量 定义AVCodecContext。如果您使用类,可以定义成类成员。我这里定义成全局变量。转载 2012-06-04 15:50:37 · 1486 阅读 · 0 评论 -
FFmpeg快速命令使用
Ffmpeg快速命令使用目录1Ffmpeg使用语法2视频文件截图3视频格式转换4屏幕录制5视频采集6使用ffmpeg压制H.264视频7使用ffmpeg获取PCM数据 Ffmpeg使用语法ffmpeg [[options][`-i' input_file]]... {[options] outp转载 2012-06-04 14:56:54 · 1059 阅读 · 1 评论 -
详解FFMPEG API
转自:http://3xin2yi.info/wwwroot/tech/doku.php/tech:multimedia:ffmpeg认识FFmpegFFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器。因此,对于从事多媒体技术开发的工程师来说,深入研究FFMPEG成为一门必不可少的工作,可以这样说,FFMPE转载 2012-06-04 15:27:44 · 7782 阅读 · 0 评论 -
FFmpeg在Visual Studio环境下的编译问题
转自:http://blog.youkuaiyun.com/jinhaijian/article/details/5875771编译SDK编译之后,运行make install后,在C:/MSYS/local会生成bin、include、lib等文件夹。这样ffmpeg的编译环境就帮我生成了一个SDK,这个SDK在linux上用C来开发是没有问题的,我们需要使这个SDK在MS Visual S转载 2012-06-04 15:47:36 · 940 阅读 · 0 评论 -
ffmpeg结构体以及函数介绍(一)
转自:http://blog.chinaunix.net/uid-20718335-id-3024436.html后续的也均转自此网址本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。 ffmpeg本人也是转载 2012-06-04 16:30:38 · 565 阅读 · 0 评论 -
ffmpeg结构体以及函数介绍(二)
1 avcodec_find_decoder()/** * Find a registered decoder with a matching codec ID. * * @param id CodecID of the requested decoder * @return A decoder if one was found, NULL otherwise. */转载 2012-06-04 16:31:18 · 580 阅读 · 0 评论 -
ffmpeg生成带关键帧头信息的flv文件
转自:http://blog.chinaunix.net/uid-20718335-id-3194374.html普通flv文件头信息中不带关键帧信息,在网页播放器中播放时,seek速度很慢,为了加快flv的seek速度,我们可以在flv的头信息中写入关键帧信息.主要方法为;在写头信息时预留一定的位置用来写关键帧信息,在写包时包关键帧信息先保存起来,等到写文件结束时,根据需要把保存的关键帧转载 2012-06-04 16:35:53 · 3444 阅读 · 0 评论 -
ffmpeg Tutorial学习
转自:http://blog.youkuaiyun.com/gavinr/article/details/6973704安装好ffmpeg后,就开始学习如何应用了,主要也就是熟悉一些常用API。同事推荐了一个ffmpeg的自学教程--An ffmpeg and SDL Tutorial,觉得不错,就开始照敲代码了。这个教程的网址为:http://dranger.com/ffmpeg/tutoria转载 2012-06-04 15:54:07 · 620 阅读 · 0 评论 -
ffmpeg结构体以及函数介绍(三)
转自:http://blog.chinaunix.net/uid-20718335-id-3026906.html1 AVPackettypedef struct AVPacket { /** * Presentation timestamp in AVStream->time_base units; the time at which * t转载 2012-06-04 16:32:19 · 552 阅读 · 0 评论 -
Ffmepg格式详解
1文件格式 2图像格式 3视频编解码器 4音频编解码 文件格式FFmpeg supports the following file formats through the libavformat library: Supported File Format Encoding Decoding MPEG audio X X MPEG1 syst转载 2012-06-04 14:59:47 · 931 阅读 · 0 评论 -
常见视频文件格式详解
目录[隐藏]1AVI---AVI文件 2.MPEG/.MPG/.DAT---MPEG文件 3.RA/.RM/.RMVB---RealVideo文件 4.MOV/.QT---QuickTime文件 5.ASF/.WMV----MICROSOFT流媒体文件 6.AVI(n AVI) 7ISO、BIN、IMG、TAO、DAO、CIF、FCD-镜像文件格式 8M转载 2012-06-04 15:01:11 · 1654 阅读 · 0 评论 -
FFmpeg源码分析之数据流
转自:http://www.cnblogs.com/qingquan/archive/2011/08/29/2158912.html本文主要介绍ffmpeg的数据流,在ffmpeg中主要分有三个主要用途用于媒体流的解码播放,媒体流的转换(解码之后再编码)和媒体流录制。媒体流的解码播放在ffmpeg中媒体流的解码播放流程如下图: 其主要流程为从媒体文件中读取出媒体转载 2012-06-04 15:08:05 · 1080 阅读 · 0 评论 -
调试FFmpeg
1.安装好环境2.eclipse +cdt +mingw+msys(这个网上很多,注:可能还需要mingw_gdb)3.在window下用mingw下编译ffmpeg(这个网上也很多)。注:只做到./configure这一不,以后的make,make install不要做了,因为要在eclipse下编译调试4.在eclipse下新建标准make c工程,目标目录转载 2012-06-04 15:55:31 · 650 阅读 · 0 评论 -
Ffmpeg选项详解
目录[隐藏]1通用选项 2视频选项 3高级视频选项 4音频选项 5音频/视频捕获选项 6高级选项 通用选项-L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的 -f fmt 强迫采用格式fmt -I filename 输入文件 -y 覆盖输出文件 -t duratio转载 2012-06-04 14:58:13 · 876 阅读 · 0 评论 -
FFmpeg编译详解
针对ffmpeg无论是win还是linux下编译都会出现很多问题,因此这里设立编译选项,力图构建一个标准化编译过程,使初学者快速消除对应用ffmpeg的恐惧感,至于其中遇到的问题,则放到下面一个选项FAQ里目录1Linux1.1查看configure帮助1.2选项列表1.3开发人员注意选项1.3.1make之后会生成以下文件转载 2012-06-04 15:03:16 · 2140 阅读 · 1 评论 -
ffmpeg的音频解码部分
总而言之是这样的 一个装音频packet的队列 这个队列是2个指针做的。然后一个回调函数 主线程放包,回调取包,解码在回调里面做。 关键代码: 回调:void audio_callback(void *userdata, Uint8 *stream, int len){ AVCodecContext* aCodecCtx=(AVCodecCo转载 2013-11-25 21:22:07 · 855 阅读 · 0 评论