DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

10 2021 档案

摘要:前言FFmpeg的优秀在于它的功能强大和良好的系统框架,而滤镜就是其中之一。ffmpeg的自带滤镜不但能对视频进行裁剪,添加logo,还能将多个滤镜组全使用。更妙之处在于它还可以方便地添加自己定义的各种滤镜。这种可扩展性对于实际应用来说就颇有价值了。 闲言少述,书归正传!本文第一部分是我对wiki上 阅读全文
posted @ 2021-10-28 17:30 DoubleLi 阅读(727) 评论(0) 推荐(0) 编辑

摘要:1. 简介: Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。 使用 inotify 很简单:创建一个文件描述符,附加一个或多个监视器(一个监视器 是一个路径和一组事件),然后 阅读全文
posted @ 2021-10-28 11:56 DoubleLi 阅读(516) 评论(0) 推荐(0) 编辑

摘要:0 引言 FFmpeg使用很久了,一直没有认真看过FFmpeg内部源码所提供的各种机制和功能。本文的主要目标是能够初步总结FFmpeg的avutil中所提供的功能。从FFmpeg官网的文档-libavutil来看,avutil主要有一下几种功能(顺序做了重排): 数学函数 字符串操作 内存管理相关 阅读全文
posted @ 2021-10-27 15:49 DoubleLi 阅读(245) 评论(0) 推荐(0) 编辑

摘要:Filter,可以认为是一些预定义的范式,可以实现类似积木的多种功能的自由组合。每个filter都有固定数目的输入和输出,而且实际使用中不允许有空 悬的输入输出端。使用文本描述时我们可以通过标识符指定输入和输出端口,将不同filter串联起来,构成更复杂的filter。这就形成了嵌套的 filter 阅读全文
posted @ 2021-10-22 11:33 DoubleLi 阅读(258) 评论(0) 推荐(0) 编辑

摘要:​ 1. 什么是ffmpeg filter? 首先是名字:中文名,就称为ffmpeg过滤器,当然也有人称为ffmpeg 滤镜。(用滤镜听起来好像是给video用的,所以不太好,因为audio也可以用)ffmpeg目录下,有个文件夹叫libavfilter,它可以单独编译为一个库。干嘛用的呢?用于音视 阅读全文
posted @ 2021-10-21 15:35 DoubleLi 阅读(354) 评论(0) 推荐(0) 编辑

摘要:自己学习记录,方便以后查看。 ffmpeg关键结构体类型: 1)解协议 AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。 每种协议都对应一个URLProtocol结构。(注意:FFMPEG 阅读全文
posted @ 2021-10-20 16:08 DoubleLi 阅读(197) 评论(0) 推荐(0) 编辑

摘要:文章目录 相关指令 相关结构体 av_register_all() 已废弃无需添加 avformat_network_init() 初始化网络封装库 AVFormatContext结构体 AVDictionary 结构体 AVInputFormat 结构体,传入avformat_open_input 阅读全文
posted @ 2021-10-20 15:56 DoubleLi 阅读(344) 评论(0) 推荐(0) 编辑

摘要:最近学习了ffmpeg关于filter过滤器的开发,关于中间的几个相关概念,我们先放在简单介绍一下: AVFilterGraph:几乎完全等同与directShow中的fitlerGraph,代表一串连接起来的filter们. AVFilter:代表一个filter. AVFilterPad:代表一 阅读全文
posted @ 2021-10-20 15:47 DoubleLi 阅读(220) 评论(0) 推荐(0) 编辑

摘要:一. ffmpeg AVFilter介绍 利用ffmpeg做图像的pixel format转换你还在用libswscale吗?嘿嘿,过时啦! ffmpeg中有了新东西:libavfilter.使用它,可以完全代替libswscale,并且可以自动完成一些复杂的转换操作呢.libavfilter啊,用 阅读全文
posted @ 2021-10-20 15:39 DoubleLi 阅读(607) 评论(0) 推荐(0) 编辑

摘要:一、概述 FFmpeg 提供了一种以管道的方式对音视频进行滤镜操作的框架。其也内置了非常多的滤镜,如果这些滤镜还不能满足需求的话也可以自行开发。 本文主要梳理 FFmpeg 滤镜相关的一些基本概念和 API,为之后对具体内置滤镜的分析做准备。 二、滤镜图和滤镜简述 1、什么是滤镜图和滤镜 滤镜图(F 阅读全文
posted @ 2021-10-20 11:41 DoubleLi 阅读(432) 评论(0) 推荐(0) 编辑

摘要:一、引言当我们在 C++ 中直接像 C 那样使用类的成员函数指针时,通常会报错,提示你不能使用非静态的函数指针: reference to non-static member function must be called 两个解决方法: 把非静态的成员方法改成静态的成员方法正确的使用类成员函数指针 阅读全文
posted @ 2021-10-20 10:37 DoubleLi 阅读(1583) 评论(0) 推荐(0) 编辑

摘要:五、Filter实现的源码分析 5.1 滤镜的回调函数的调用流程,以单滤镜设置(如 -vf "delogo")为例 init() query_format(); // 输入输出的格式查询: 列出滤镜支持的格式列表 config_input(); config_output(); for (;;) { 阅读全文
posted @ 2021-10-19 15:18 DoubleLi 阅读(146) 评论(0) 推荐(0) 编辑

摘要:DLOPEN DLMOPEN DLCLOSE NAME dlclose, dlopen, dlmopen - 打开/关闭共享对象 SYNOPSIS #include <dlfcn.h> void *dlopen(const char *filename, int flags); int dlclos 阅读全文
posted @ 2021-10-18 17:15 DoubleLi 阅读(547) 评论(0) 推荐(0) 编辑

摘要:ffmpeg内存模型及AVPacket和AVFrame API解释 目录 ffmpeg内存模型 AVPacket常用API AVPacket Demo AVFrame常用API 1. ffmpeg内存模型 /** * Supply raw packet data as input to a deco 阅读全文
posted @ 2021-10-15 17:52 DoubleLi 阅读(1182) 评论(0) 推荐(0) 编辑

摘要:ffmpeg的中滤波器是以帧为原料来进行滤波的,那么自然地就会对帧的格式有所要求,可以说如果滤波器不知道帧的格式,就无法对帧进行处理。在进行视频滤波时,滤波格式指的是视频的像素格式;在进行音频滤波时,滤波格式包括音频采样格式,采样率以及通道数目。 承担协商任务的结构体AVFilterLink 滤波器 阅读全文
posted @ 2021-10-15 17:08 DoubleLi 阅读(148) 评论(0) 推荐(0) 编辑

摘要:ffmpeg中有很多已经实现好的滤波器,这些滤波器的实现位于libavfilter目录之下,用户需要进行滤波时,就是是调用这些滤波器来实现的。ffmpeg对于调用滤波器有一整套的调用机制。 基本结构 我们把一整个滤波的流程称为滤波过程。下面是一个滤波过程的结构 图中简要指示出了滤波所用到的各个结构体 阅读全文
posted @ 2021-10-15 11:55 DoubleLi 阅读(256) 评论(0) 推荐(0) 编辑

摘要:ffmpeg中的并行解码分为两种: Frame-level Parallelism Slice-level Parallelism Frame-level Parallelism 帧间依赖 我们之前讨论过Frame-level Parallelism。在之前的文章中,我们说过在进行帧级的并行处理时, 阅读全文
posted @ 2021-10-15 11:54 DoubleLi 阅读(681) 评论(0) 推荐(0) 编辑

摘要:并行算法类型可以分为两类 Function-level Decomposition,按照功能模块进行并行 Data-level Decomposition,按照数据划分进行并行 Function-level Decomposition 在h.264解码时进行功能划分,例如对于四核系统,各个核心分别执 阅读全文
posted @ 2021-10-15 11:52 DoubleLi 阅读(244) 评论(0) 推荐(0) 编辑

摘要:滤波也不总是单一的输入,也存在对多个输入流进行滤波的需求,最常见的就是对视频添加可视水印,水印的组成通常为原视频以及作为水印的图片或者小动画,在ffmpeg中可以使用overlay滤波器进行水印添加。 对于多视频流输入的滤波器,ffmpeg提供了一个名为framesync的处理方案。framesyn 阅读全文
posted @ 2021-10-15 11:34 DoubleLi 阅读(362) 评论(0) 推荐(0) 编辑

摘要:如果有定制ffmpeg滤波器的需求,有两个结构体是必须要了解的:AVFilter、AVFilterPad,所定制的滤波器主要就是通过填充这两个结构体来实现的。我们下面将详细解析这两个结构体,并通过对滤波器的初始化流程以及滤波流程进行分析,进一步加深对ffmpeg滤波框架的了解。 AVFilter A 阅读全文
posted @ 2021-10-14 18:34 DoubleLi 阅读(526) 评论(0) 推荐(0) 编辑

摘要:在做音视频相关的开发过程大体如下所示,对于其中的编码/解码,整个流程相对比较固定,使用ffmpeg可以很好的完成这部分的开发。对其中的帧数据处理(包括音频和视频数据)则相对要多样化一些,比如对视频做尺寸变换,进行音频音量均衡,直播中的美颜处理,多路流合成等等,这些都是属于流程中的帧数据处理。今天要介 阅读全文
posted @ 2021-10-14 18:21 DoubleLi 阅读(449) 评论(0) 推荐(0) 编辑

摘要:滤镜 什么是滤镜?百度百科介绍说“滤镜主要是用来实现图像的各种特殊效果......”。 我们最早在ffmpeg是如何转码的一文中了解过滤镜,来回顾下当时的转码流程图。 从图中可以看到滤镜前后画的是虚线,表示可有可无,在术语中,滤镜指的是在编码之前针对解码器解码出来的原始数据(即音视频帧)进行处理的动 阅读全文
posted @ 2021-10-14 16:27 DoubleLi 阅读(775) 评论(0) 推荐(0) 编辑

摘要:本文的主要目的是梳理,记录自己在学习开发ffmpeg视频滤镜的笔记。参考的主要内容是根据ffmpeg中doc下的writing_filter.txt文件以及ffmpeg的源码。 1. Contex 定义自己私有的上下文结构 跳过头文件往下走,我们一般在滤镜的文件中会首先给出和定义一个自己的私有上下文 阅读全文
posted @ 2021-10-14 16:04 DoubleLi 阅读(88) 评论(0) 推荐(0) 编辑

摘要:最近在使用ffmpeg开发了一些滤镜filter功能,中间出现一些问题,今天想把这部分的内容整理为笔记,方便以后遇到同样问题的时候,方便翻阅。 如何生成dump core文件? 当我们在linux下将ffmpeg编译好之后,进入运行调试阶段,突然ffmpeg就cash了,提示出现了一个莫名其妙的"s 阅读全文
posted @ 2021-10-14 15:47 DoubleLi 阅读(422) 评论(0) 推荐(0) 编辑

摘要:FFmpeg Filter 1. 概念介绍 在多媒体处理中,术语滤镜(filter)指的是修改未编码的原始音视频数据帧的一种软件工具。 2. 基本原理 ● 在编码前,ffmpeg可以对raw(真实/原)音频和视频使用libavfilter库中的滤镜进行处理。(非压缩数据帧)● 多个滤镜可以组成滤镜链 阅读全文
posted @ 2021-10-14 15:40 DoubleLi 阅读(2658) 评论(0) 推荐(0) 编辑

摘要:1、执行上图的两个步骤 2、重启clion 阅读全文
posted @ 2021-10-14 10:55 DoubleLi 阅读(212) 评论(1) 推荐(1) 编辑

摘要:其它过滤器文章:day09 1 FFmpeg过滤器框架分析。day09 2 视频过滤器实战。day09 3 音频过滤器实战(ffmpeg进行混音,将两路音频pcm数据合成一路输出)。day09 4 FFmpeg filter补充之使用filter添加水印。day09 5 FFmpeg filter补 阅读全文
posted @ 2021-10-13 18:09 DoubleLi 阅读(111) 评论(0) 推荐(0) 编辑

摘要:文章目录 一、Docker基础介绍 1.1 我们为什么要使用Docker 1.2 Docker是什么 1.3 Docker能干什么 1.4 Docker的优势 二、Docker安装 2.1 前提说明 2.2 具体安装步骤 2.3 测试 三、Docker常用命令 四、Docker 镜像 4.1 Doc 阅读全文
posted @ 2021-10-13 17:33 DoubleLi 阅读(205) 评论(0) 推荐(0) 编辑

摘要:概述 Docker 可以通过 Dockerfile 的内容来自动构建镜像。Dockerfile 是一个包含创建镜像所有命令的文本文件,通过 docker build 命令可以根据 Dockerfile 的内容构建镜像。 一、基本结构: Dockerfile 由一行行命令语句组成,并且支持以 # 开头 阅读全文
posted @ 2021-10-13 17:11 DoubleLi 阅读(232) 评论(0) 推荐(0) 编辑

摘要:命令格式 add_subdirectory (source_dir [binary_dir] [EXCLUDE_FROM_ALL])添加一个子目录并构建该子目录。 命令解析 source_dir必选参数。该参数指定一个子目录,子目录下应该包含CMakeLists.txt文件和代码文件。子目录可以是相 阅读全文
posted @ 2021-10-13 17:05 DoubleLi 阅读(1024) 评论(0) 推荐(0) 编辑

摘要:0 综述 我觉的Cmake比较核心的一些东西就是 怎么去组织一个项目的编译框架 最终输出目标有哪些(可执行程序,动态库,静态库等等) 怎么为指定的输出目标指定编译参数(需要哪些源文件,需要哪些编译参数) 怎么为指定的输出目标指定链接参数(需要哪些外部库,需要哪些链接参数) 如果存在多个独立输出目标是 阅读全文
posted @ 2021-10-13 15:24 DoubleLi 阅读(543) 评论(0) 推荐(0) 编辑

摘要:cmake的四个命令:add_compile_options、add_definitions、target_compile_definitions、build_command cmake的四个命令:add_compile_options、add_definitions、target_compile_ 阅读全文
posted @ 2021-10-13 15:21 DoubleLi 阅读(1906) 评论(0) 推荐(0) 编辑

摘要:1. 说明 在实际的项目平台中可能安装有多个版本的编译器,同时由于不同的功能可能会需要设置不同的编译参数,这篇笔记就记录如何选择指定的编译器和配置参数。 2. 选择编译器 2.1 初始状态 我使用的开发平台默认安装的gcc5.5.0,后面又安装了clang3.8.0,在默认path下C编译器会使用g 阅读全文
posted @ 2021-10-13 10:29 DoubleLi 阅读(27473) 评论(1) 推荐(1) 编辑

摘要:首先,阅读本文前,可以参考前面几篇文章。 详细分析FFmpeg过滤器框架 FFmpeg过滤器实战(1) FFmpeg过滤器实战(2) ffmpeg已经实现了很多滤波器,这些实现位于于libavfilter⽬录之下,具有一整套机制。 官网地址:http://ffmpeg.org/libavfilter 阅读全文
posted @ 2021-10-12 11:38 DoubleLi 阅读(1259) 评论(0) 推荐(0) 编辑

摘要:目录 音视频过滤器 视频过滤器 FFmpeg 音视频过过滤器 在编码之前,FFmpeg 可以使用 libavfilter 库中的过滤器处理原始音频和视频帧。几个链式过滤器行程一个过滤图像。 FFmpeg中的filter包含三个层次,filter -> filterchain -> filtergra 阅读全文
posted @ 2021-10-12 11:31 DoubleLi 阅读(1083) 评论(0) 推荐(0) 编辑

摘要:一、三种库函数的链接方式用过C语言的都知道库函数的重要:我们将功能比较独立的部分做成一个个函数,供我们复用。最终对库函数的引用有3种方式: 方式 链接时刻 库指定时刻 特点静态链接 编译时 编译时 编译时检查链接错误,编入运行程序(运行程序独立)动态链接 运行时 编译时检查链接错误,运行时调入依赖库 阅读全文
posted @ 2021-10-09 17:48 DoubleLi 阅读(499) 评论(0) 推荐(0) 编辑

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