本篇文章对自己项目中的网络媒体流解码流程进行了梳理和总结。本文中的方法不同于一般打开文件或流进行读写的流程,不需要通过avformat_open_input,avformat_find_stream_info等操作获取AVFormatContext,然后遍历不同流信息。此处直接通过解析音视频sequ ...
分类:
其他好文 时间:
2017-02-11 17:53:43
阅读次数:
249
本文是我的《FFMPEGTips》系列的第四篇文章,前面的文章有提到如何提取码流信息、如何读每一帧的数据,这些都是离不开网络操作,例如:使用ffmpeg读取一个码流,常规的代码流程示例如下:AVFormatContext*ic=avformat_alloc_context();
if(avformat_open_input(&ic,url,NU..
分类:
编程语言 时间:
2016-12-10 14:13:08
阅读次数:
220
20 格式选项 libavformat库提供一些常规的全局选项,它们都可被混合器/分离器设置。一些混合器/分离器还支持附加的私有选项,这些都在其组件处介绍。 ffmpeg工具中选项通过特定的-option value进行设置,或者通过AVFormatContext选项设置,或者通过libavutil
分类:
其他好文 时间:
2016-02-17 22:28:56
阅读次数:
333
http://www.cnblogs.com/tanlon/p/3879081.html在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构。1.数据结构:(1)AVFormatContext AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数。....
分类:
其他好文 时间:
2015-08-05 20:18:28
阅读次数:
175
AVFormatContext* m_pFormatCtx; AVCodecContext * m_pCodecCtx; AVCodec* m_pCodec;AVFrame* m_pFrame;AVPacket m_AVPkt;// 注册库av_register_all();avformat_net...
分类:
其他好文 时间:
2015-07-16 13:16:04
阅读次数:
296
我在调用avformat_open_input的时候,一直返回-13错误,如下代码: const char *url = "/mnt/sdcard/xpg.mp4";
av_register_all();
AVFormatContext *pFormatCtx = NULL;
int ret = avformat_open...
分类:
其他好文 时间:
2015-05-20 11:31:43
阅读次数:
692
本文继续上篇文章《FFmpeg源代码分析:结构体成员管理系统-AVClass》中的内容,记录FFmpeg中和AVOption相关的源代码。AVOption用于在FFmpeg中描述结构体中的成员变量。一个AVOption可以包含名称,简短的帮助信息,取值等等。上篇文章简单回顾上篇文章中概括了AVClass,AVOption和目标结构体之间的关系。以AVFormatContext为例,可以表示为下图。...
分类:
其他好文 时间:
2015-03-16 09:49:00
阅读次数:
330
打算写两篇文章记录FFmpeg中和AVOption有关的源代码。AVOption用于在FFmpeg中描述结构体中的成员变量。它最主要的作用可以概括为两个字:“赋值”。一个AVOption结构体包含了变量名称,简短的帮助,取值等等信息。所有和AVOption有关的数据都存储在AVClass结构体中。如果一个结构体(例如AVFormatContext或者AVCodecContext)想要支持AVOpt...
分类:
其他好文 时间:
2015-03-15 19:50:23
阅读次数:
257
本文简单分析FFmpeg的avformat_close_input()函数。该函数用于关闭一个AVFormatContext,一般情况下是和avformat_open_input()成对使用的。...
分类:
其他好文 时间:
2015-03-07 11:36:51
阅读次数:
281
本文简单分析FFmpeg中一个常用的函数:avformat_find_stream_info()。该函数可以读取一部分视音频数据并且获得一些相关的信息。...
分类:
其他好文 时间:
2015-03-06 12:50:11
阅读次数:
428