FFmpeg笔记
-
FFmpeg filters 分析(FFmpeg 滤镜相关的一些概念和 API)
一、概述 FFmpeg 提供了一种以管道的方式对音视频进行滤镜操作的框架。其也内置了非常多的滤镜,如果这些滤镜还不能满足需求的话也可以自行开发。 本文主要梳理 FFmpeg 滤镜相…
-
FFmpeg af_silencedetect 的实现
本文分析 FFmpeg af_silencedetect 的实现。 一、af_silencedetect 的作用及基本原理 af_silencedet…
-
FFmpeg af_volumedetect 的实现
本文分析 FFmpeg af_volumedetect 的实现。 一、af_volumedetect 的作用及基本原理 af_volumedetect…
-
FFmpeg silenceremove 音频静音修剪
本文主要测试在 FFmpeg 命令中使用 silenceremove filter 进行音频静音的修剪。 参数说明 1、start_x 参数…
-
FFmpeg filters 分析: af_volume
一、概述 本文分析 FFmpeg af_volume 的实现 二、af_volume的作用及基本原理 af_volume的作用是调整音频的音量,基本原理是PCM数据乘于某个系数,就…
-
FFmpeg 入门学习 07–创建音视频解码管理类
使用 FFmpeg 进行音视频解码,其实是一套标准操作,按照固定的流程进行实现即可。使用 FFmpeg 进行音视频解码的基本流程、及用到的关键 API 接口和 结构体,如下图所示:…
-
FFmpeg 入门学习 06–音视频解码基本流程
如上图所示,在之前文章中介绍了视频播放的基本原理、并且已经实现了解封装的功能。解封装得到的 AVPacket 数据是压缩过的编码数据,需要进一步解码后才可以进行播放。 使用 FFm…
-
FFmpeg 入门学习 05–给解封装线程增加休眠唤醒机制
为使解码过程不会受到解封装过程进展的影响,解封装和解码一般并行操作,两者之间通过缓存数据进行交互。如上图所示: 解封装线程和解码线程可以套用生产者和消费者模式来实现线程间的通信。为…
-
FFmpeg 入门学习 04–生产者消费者模式
为使解码过程不会受到解封装过程进展的影响,解封装和解码一般并行操作,两者之间通过缓存数据进行交互。 背景 生产者消费者模式 如下图所示:生产者在缓冲区未满时不断添加数据,并唤醒消费…
-
FFmpeg 入门学习 03–缓存队列的实现
在之前的文章中实现了打开视频文件并进行解封装的功能,解封装之后即可进行解码操作。为使解码过程不会受到解封装过程进展的影响,解封装和解码一般并行操作,两者之间通过缓存数据进行交互。 …
-
FFmpeg 视频拼接的案例分析
海外业务有视频拼接的需求,简单的说就是将两个视频拼接在一起形成新的视频(原视频+EC视频)。 调研后发现,视频拼接有如下方式: 一:单独使用ffmpeg的分离器:concat (解…
-
FFmpeg 入门学习 01–打开视频文件
背景 FFmpeg 是音视频开发中最常用到的开源软件,许多商业软件都以 FFmpeg 为基础进行开发定制。由于近期工作中的项目涉及到了音视频相关开发,本系列文章用来整理和记录在使用…
-
在树莓派上安装 FFmpeg
FFmpeg是用于处理视频和音频文件的开源工具集合。它允许将视频和音频文件从一种格式转换为另一种格式、调整视频大小、流式传输音频和视频,以及对媒体文件执行各种其他操作。 本教程介绍…
-
Linux Ubuntu下ffmpeg源码编译详解
最近需要在linux里编译ffmpeg,记录如下。 1、下载源码 FFmpeg源码下载地址:http://ffmpeg.org/download.html 2、 解压并创建生成目录…
-
msys2+minGW方案编译ffmpeg的最佳实践
一、Win10 64bit编译环境的建立 1)从http://www.msys2.org/下载 msys2-x86_64-xxx.exe 2) 安装msys2到默认路径&…
-
ffmpeg Windows 4个编译方案
在使用ffmpeg过程当中,ffmpeg在Linux(包括mac,android)编译非常容易,直接configure,make即可,Android需要交叉编译,在windows就…