-
基于FFmpeg和Wasm的Web端视频截帧方案
基于实际业务需求,介绍了自定义Wasm截帧方案的实现原理和实现方案。解决传统的基于canvas的截帧方案所存在的问题,更高效灵活的实现截帧能力。 作者 | 小萱来源: 百度Geek…
-
FFmpeg 入门学习 08–打开音视频解码器
使用 FFmpeg 进行音视频解码,其实是一套标准操作,按照固定的流程进行实现即可。 使用 FFmpeg 进行音视频解码的基本流程、及用到的关键 API 接口和 结构体,如下图所示…
-
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 入门学习 02–音视频解封装功能实现
在上一篇文章中介绍了视频播放的基本原理。本文继续使用 FFmpeg 来实现其中音视频解封装功能。 封装格式 封装格式(也叫容器)就是将已经编码压缩好的视频流、音频流及字幕按照一定的…
-
AVX-512 在 FFmpeg 中的应用 | FOSDEM 2023
本文介绍了 AVX-512 在 FFmpeg 中的应用。首先,本文介绍了 AVX-512 的基本信息,包括它与 SIMD 指令集的关系、其特点和新型指令。接着,本文探讨了 AVX-…
-
FFmpeg 视频拼接的案例分析
海外业务有视频拼接的需求,简单的说就是将两个视频拼接在一起形成新的视频(原视频+EC视频)。 调研后发现,视频拼接有如下方式: 一:单独使用ffmpeg的分离器:concat (解…
-
在树莓派上安装 FFmpeg
FFmpeg是用于处理视频和音频文件的开源工具集合。它允许将视频和音频文件从一种格式转换为另一种格式、调整视频大小、流式传输音频和视频,以及对媒体文件执行各种其他操作。 本教程介绍…
-
msys2+minGW方案编译ffmpeg的最佳实践
一、Win10 64bit编译环境的建立 1)从http://www.msys2.org/下载 msys2-x86_64-xxx.exe 2) 安装msys2到默认路径&…
-
FOSDEM 2023 | 双重展示: FFmpeg 6 和 VLC.js
知名多媒体开发者兼 VideoLAN 总裁 Jean-Baptiste Kempf 回顾了 FFmpeg 5.0 版本和 5.1 版本中的改进,并对 FFmpeg 6.0 新版本中…
-
ffmpeg Windows 4个编译方案
在使用ffmpeg过程当中,ffmpeg在Linux(包括mac,android)编译非常容易,直接configure,make即可,Android需要交叉编译,在windows就…
-
FFMPEG中内存管理(ffmpeg占用内存处理)
参考n4.4.2版本中ibavutil/mem.c,主要代码早期放在libavcodec/utils.c,后来分拆过来,文件顶部注释中有FFMPEG初版作者大神Fabrice Be…
-
ffmpeg从视频导出gif动图的两种方式
本文记录了如何使用ffmpeg从视频文件生成gif动图的两种方式。 1、使用ffmpeg可以从视频资料直接导出gif动图,这是很常见的场景。 参考命令一: 参数解释: -ss&nb…