摘要:一. av_guess_format()函数 原型 AVOutputFormat *av_guess_format(const char *short_name, const char *filename, const char *mime_type); av_guess_format中支持的sho
阅读全文
随笔分类 - ffmpeg、ffplay
摘要:1.设置rtsp超时 AVDictionary* opts = NULL; av_dict_set(&opts, "rtsp_transport", m_bTcp ? "tcp" : "udp", 0); //设置tcp or udp,默认一般优先tcp再尝试udpav_dict_set(&opts
阅读全文
摘要:之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度。最近发现很多人问怎么用FFmpeg采集摄像头图像,事实上FFmpeg很早就支持通过DShow获取采集设备(摄像头、麦克风)的数据了,只是网上提供的例子比较
阅读全文
摘要:一、宏 #define AV_ESCAPE_FLAG_WHITESPACE (1 << 0) 考虑空间特别,甚至在字符串的中间逃避他们。 这相当于将空格字符添加到特殊字符列表中,除了它保证使用完全相同的空格字符列表作为libavutil的其余部分。 #define AV_ESCAPE_FLAG_ST
阅读全文
摘要:FFmpeg的打印日志实现在FFmpeg-n4.2.1/libavutil/log.c中。 一、设置log等级 1、设置日志级别 日志默认级别是AV_LOG_INFO static int av_log_level = AV_LOG_INFO; 使用av_log_set_level将日志级别设置为调
阅读全文
摘要:雷神写了一系列的结构体的分析的文章,在这里列一个列表: 雷神写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContex
阅读全文
摘要:上一篇介绍了YUV格式,并给出了一个YUYV422转RGB24的例子。其实,FFmpeg有一个函数专门进行图像格式转换的。本文就介绍怎么用FFmpeg转换,因为在转换时还要用到AVFrame这个结构体,所以这里也会介绍AVFrame。在FFmpeg中,AVFrame是一个比较重要的结构体。 AVFr
阅读全文
摘要:前言FFmpeg的优秀在于它的功能强大和良好的系统框架,而滤镜就是其中之一。ffmpeg的自带滤镜不但能对视频进行裁剪,添加logo,还能将多个滤镜组全使用。更妙之处在于它还可以方便地添加自己定义的各种滤镜。这种可扩展性对于实际应用来说就颇有价值了。 闲言少述,书归正传!本文第一部分是我对wiki上
阅读全文
摘要:0 引言 FFmpeg使用很久了,一直没有认真看过FFmpeg内部源码所提供的各种机制和功能。本文的主要目标是能够初步总结FFmpeg的avutil中所提供的功能。从FFmpeg官网的文档-libavutil来看,avutil主要有一下几种功能(顺序做了重排): 数学函数 字符串操作 内存管理相关
阅读全文
摘要:Filter,可以认为是一些预定义的范式,可以实现类似积木的多种功能的自由组合。每个filter都有固定数目的输入和输出,而且实际使用中不允许有空 悬的输入输出端。使用文本描述时我们可以通过标识符指定输入和输出端口,将不同filter串联起来,构成更复杂的filter。这就形成了嵌套的 filter
阅读全文
摘要: 1. 什么是ffmpeg filter? 首先是名字:中文名,就称为ffmpeg过滤器,当然也有人称为ffmpeg 滤镜。(用滤镜听起来好像是给video用的,所以不太好,因为audio也可以用)ffmpeg目录下,有个文件夹叫libavfilter,它可以单独编译为一个库。干嘛用的呢?用于音视
阅读全文
摘要:自己学习记录,方便以后查看。 ffmpeg关键结构体类型: 1)解协议 AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。 每种协议都对应一个URLProtocol结构。(注意:FFMPEG
阅读全文
摘要:文章目录 相关指令 相关结构体 av_register_all() 已废弃无需添加 avformat_network_init() 初始化网络封装库 AVFormatContext结构体 AVDictionary 结构体 AVInputFormat 结构体,传入avformat_open_input
阅读全文
摘要:最近学习了ffmpeg关于filter过滤器的开发,关于中间的几个相关概念,我们先放在简单介绍一下: AVFilterGraph:几乎完全等同与directShow中的fitlerGraph,代表一串连接起来的filter们. AVFilter:代表一个filter. AVFilterPad:代表一
阅读全文
摘要:一. ffmpeg AVFilter介绍 利用ffmpeg做图像的pixel format转换你还在用libswscale吗?嘿嘿,过时啦! ffmpeg中有了新东西:libavfilter.使用它,可以完全代替libswscale,并且可以自动完成一些复杂的转换操作呢.libavfilter啊,用
阅读全文
摘要:一、概述 FFmpeg 提供了一种以管道的方式对音视频进行滤镜操作的框架。其也内置了非常多的滤镜,如果这些滤镜还不能满足需求的话也可以自行开发。 本文主要梳理 FFmpeg 滤镜相关的一些基本概念和 API,为之后对具体内置滤镜的分析做准备。 二、滤镜图和滤镜简述 1、什么是滤镜图和滤镜 滤镜图(F
阅读全文
摘要:五、Filter实现的源码分析 5.1 滤镜的回调函数的调用流程,以单滤镜设置(如 -vf "delogo")为例 init() query_format(); // 输入输出的格式查询: 列出滤镜支持的格式列表 config_input(); config_output(); for (;;) {
阅读全文
摘要:ffmpeg内存模型及AVPacket和AVFrame API解释 目录 ffmpeg内存模型 AVPacket常用API AVPacket Demo AVFrame常用API 1. ffmpeg内存模型 /** * Supply raw packet data as input to a deco
阅读全文
摘要:ffmpeg的中滤波器是以帧为原料来进行滤波的,那么自然地就会对帧的格式有所要求,可以说如果滤波器不知道帧的格式,就无法对帧进行处理。在进行视频滤波时,滤波格式指的是视频的像素格式;在进行音频滤波时,滤波格式包括音频采样格式,采样率以及通道数目。 承担协商任务的结构体AVFilterLink 滤波器
阅读全文
摘要:ffmpeg中有很多已经实现好的滤波器,这些滤波器的实现位于libavfilter目录之下,用户需要进行滤波时,就是是调用这些滤波器来实现的。ffmpeg对于调用滤波器有一整套的调用机制。 基本结构 我们把一整个滤波的流程称为滤波过程。下面是一个滤波过程的结构 图中简要指示出了滤波所用到的各个结构体
阅读全文