随笔分类 -  FFmpeg

摘要:在使用FFmpeg开发时,使用AVFilter的流程较为复杂,涉及到的数据结构和函数也比较多,那么使用FFmpeg AVFilter的整体流程是什么样,在其执行过程中都有哪些步骤,需要注意哪些细节?这些都是需要我们整理和总结的。 首先,我们需要引入三个概念结构体:AVFilterGraph 、AVF 阅读全文
posted @ 2021-04-17 11:34 灰色飘零 阅读(7535) 评论(1) 推荐(2) 编辑
摘要:在学习和使用FFmpeg的时候,我们经常会去查找很多资料并加以实践,但是目前存在一个问题困扰着不少刚接触音视频的同学,那就是FFmpeg的弃用API如何调整。 我们知道FFmpeg中所谓的“被声明为已否决”就是因为函数或者结构体属性被标示为attribute_deprecated,很有可能在未来的版 阅读全文
posted @ 2020-12-30 17:37 灰色飘零 阅读(1727) 评论(0) 推荐(0) 编辑
摘要:在上篇文章 Visual Studio 开发(一):安装配置Visual Studio Code 中,我们讲了一下如何配置VS CODE,来编写和调试C的代码。如果你已经使用VS Code回顾和复习好C相关的知识了,并且有想深入学习FFmpeg的方法,那么可以看看这篇文章,相信对你会很有帮助。 一、 阅读全文
posted @ 2019-02-16 15:00 灰色飘零 阅读(11492) 评论(1) 推荐(2) 编辑
摘要:在Linux/Mac下编译 ffmpeg是非常方便的。但要在 Windows下编译 ffmpeg还真要花点时间。以下就是在 Windowns下编译ffmpeg的步骤: 一、安装Cygwin 一、安装Cygwin 在windows下安装 ffmpeg 的最好方式就是使用Cygwin。 Cygwin是什 阅读全文
posted @ 2019-01-28 21:50 灰色飘零 阅读(1749) 评论(0) 推荐(0) 编辑
摘要:一、概述 在Android开发中,我们对一些音视频的处理比较无力,特别是编辑音视频这部分。而且在Android上对视频编辑方面,几乎没有任何API做支持,MediaCodec(硬编码)也没有做支持。那怎么办呢?在FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg中我们知道ffmpeg命令 阅读全文
posted @ 2018-10-09 16:58 灰色飘零 阅读(1863) 评论(0) 推荐(2) 编辑
摘要:一、FFmpeg 播放视频的基本流程整理 播放流程: video.avi(Container) -> 打开得到 Video_Stream -> 读取Packet -> 解析到 Frame -> 显示Frame。 Container:在音视频中的容器,一般指的是一种特定的文件格式(如 AVI/QT ) 阅读全文
posted @ 2018-08-21 10:47 灰色飘零 阅读(4543) 评论(1) 推荐(3) 编辑
摘要:FFMPEG中结构体很多。最关键的结构体可以分成以下几类: 解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProt 阅读全文
posted @ 2018-08-18 16:50 灰色飘零 阅读(1672) 评论(0) 推荐(4) 编辑
摘要:在上文FFmpeg 结构体学习(六): AVCodecContext 分析我们学习了AVCodec结构体的相关内容。本文,我们将讲述一下AVIOContext。 AVIOContext是FFMPEG管理输入输出数据的结构体。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整理 首先我们先 阅读全文
posted @ 2018-08-17 18:48 灰色飘零 阅读(2768) 评论(0) 推荐(2) 编辑
摘要:在上文FFmpeg 结构体学习(五): AVCodec 分析我们学习了AVCodec结构体的相关内容。本文,我们将讲述一下AVCodecContext。 AVCodecContext是包含变量较多的结构体(感觉差不多是变量最多的结构体)。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整 阅读全文
posted @ 2018-08-17 16:59 灰色飘零 阅读(1803) 评论(0) 推荐(2) 编辑
摘要:在上文FFmpeg 结构体学习(四): AVFrame 分析我们学习了AVFrame结构体的相关内容。本文,我们将讲述一下AVCodec。 AVCodec是存储编解码器信息的结构体。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整理 首先我们先看一下结构体AVCodec的定义的结构体源 阅读全文
posted @ 2018-08-17 15:48 灰色飘零 阅读(1854) 评论(0) 推荐(2) 编辑
摘要:在上文FFmpeg 结构体学习(三): AVPacket 分析我们学习了AVPacket结构体的相关内容。本文,我们将讲述一下AVFrame。 AVFrame是包含码流参数较多的结构体。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整理 首先我们先看一下结构体AVFrame的定义的结构 阅读全文
posted @ 2018-08-17 15:07 灰色飘零 阅读(7186) 评论(0) 推荐(2) 编辑
摘要:在上文FFmpeg 结构体学习(二): AVStream 分析我们学习了AVStream结构体的相关内容。本文,我们将讲述一下AVPacket。 AVPacket是存储压缩编码数据相关信息的结构体。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整理 首先我们先看一下结构体AVPacke 阅读全文
posted @ 2018-08-16 17:43 灰色飘零 阅读(1874) 评论(0) 推荐(2) 编辑
摘要:在上文FFmpeg 结构体学习(一): AVFormatContext 分析我们学习了AVFormatContext结构体的相关内容。本文,我们将讲述一下AVStream。 AVStream是存储每一个视频/音频流信息的结构体。下面我们来分析一下该结构体里重要变量的含义和作用。 一、源码整理 首先我 阅读全文
posted @ 2018-08-14 16:27 灰色飘零 阅读(1778) 评论(0) 推荐(2) 编辑
摘要:在 FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析 中,我们分析了FFmpeg中最重要的两个模块以及重要的结构体之间的关系。 后面的文章,我们先不去继续了解其他模块,先针对在之前的学习中接触到的结构体进行分析,然后在根据功能源码,继续了解FF 阅读全文
posted @ 2018-07-31 16:30 灰色飘零 阅读(3455) 评论(0) 推荐(2) 编辑
摘要:一、libavformat介绍 libavformat的主要组成与层次调用关系如下图: AVFromatContext是API层直接接触到的结构体,它会进行格式的封装和解封装,它的数据部分由底层提供,底层使用了AVIOContext,这个AVIOContext实际上就是为普通的I/O增加了一层Buf 阅读全文
posted @ 2018-07-20 18:40 灰色飘零 阅读(4267) 评论(0) 推荐(2) 编辑
摘要:在上一篇文章 FFmpeg学习(四):FFmpeg API 介绍与通用 API 分析 中,我们简单的讲解了一下FFmpeg 的API基本概念,并分析了一下通用API,本文我们将分析 FFmpeg 在编解码时使用的API。 一、FFmpeg 解码 API 分析 1. avformat_open_inp 阅读全文
posted @ 2018-07-20 11:08 灰色飘零 阅读(6038) 评论(0) 推荐(6) 编辑
摘要:一、FFmpeg 编解码流程 FFmpeg编解码流程图如下,此图包含了整体的解封装、编解码的基本流程。 下面我们要介绍的术语及相关API都是围绕这个流程图展开的。 二、FFmpeg 相关术语 1. 容器/文件(Container/File):即特定格式的多媒体文件,比如MP4,flv,mov等。 2 阅读全文
posted @ 2018-07-17 17:49 灰色飘零 阅读(13365) 评论(1) 推荐(4) 编辑
摘要:一、安装ffmpeg 分为两种安装方式: 1. 命令行安装 2. 下载压缩包安装 去 http://evermeet.cx/ffmpeg/ 下载7z压缩包,解压缩后,将ffmpeg文件拷贝到一个地方,然后在bash_profile里面配置好环境变量 二、安装ffplay 分为两种安装方式: 1. 命 阅读全文
posted @ 2018-02-22 11:39 灰色飘零 阅读(26933) 评论(0) 推荐(2) 编辑
摘要:首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert)。 下载的文件为压缩包,解压后得到ffmpeg-3.3目录。 修改ffmpeg-3.3的configure文件: 原因:如果不修改配置,直接进行编译出来 阅读全文
posted @ 2017-06-02 17:32 灰色飘零 阅读(4513) 评论(2) 推荐(2) 编辑
摘要:版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/6930221.html 转发RTSP流,这类需求一般出现于转发一些摄像头采集视频,并在摄像头上做RTSP Server,然后通过转发的设备将视频内容转发出去。或者是直接拉取网络上的一些RTSP服务器的内容流, 阅读全文
posted @ 2017-06-02 17:04 灰色飘零 阅读(16257) 评论(0) 推荐(4) 编辑

点击右上角即可分享
微信分享提示