12 liupenglove

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 37w+

注册ffmpeg滤镜过程

1.注册流程在libavfilter目录下,创建vf_lpscale.c文件,这个文件为具体的滤镜代码文件。 在libavfilter目目录下,修改allfilters.c文件中,增加:externAVFilterff_vf_arlpscale; 在libavfilter目录下,修改Makefile,增加一行:OBJS-$(CONFIG_ARLPSCALE_FILTER)+= vf_lpscale.o 重新配置,执行configure,生成config.mak/configh.h 编译ffm..

2020-07-30 21:41:32

利用av_read_frame解码aac、mp4多媒体文件为pcm

1.解码流程本篇博客接上一篇,上一篇博客《利用av_parser_parser2函数,解码aac音频》,上一篇博客是使用av_parser_parser2函数进行音频的解码,这种方法只能解码aac,本篇博客使用av_read_frame函数,可以直接从mp4中解码出pcm音频数据。无论是从流程上还是代码上和上一篇类似。2.代码visualstudio环境代码:#pragma warning(disable : 4996);#include "DecodeAudio2.h"...

2020-07-18 10:36:04

利用av_parser_parser2函数,解码aac音频

1、音频解码音频的编码格式很多,最常用的应该就是aac编码,acc+h264封装成mp4多媒体文件,最常用的音频属性大概为:双通道立体声、44100hz采样(截图中是48K,本例程的mp4是48k音频)。2、解码流程visual studio环境:https://github.com/liupengh3c/goffmpeg3、源码#pragma warning(disable : 4996);#include "DecodeAudio.h"extern "C"{#in.

2020-07-16 22:44:14

利用av_read_frame解码h264、mp4多媒体文件为yuv

1、解码在上一篇博客《利用av_parser_parser2函数,解码h264文件》中,只能解码h264文件为yuv,不能直接从mp4、avi等多媒体文件中直接解码yuv,本文不仅可以解码h264文件到yuv,而且也支持直接从mp4中提取视频并解码为yuv,相比上一篇博客中的方法更通用一些。2、解码流程解码mp4文件比解码h264多了一个步骤:从视频流(stream)中复制参数到解码器上下文(AVCodecContext)中,这是一个必须的步骤,解码h264此步骤可以省略。3、代码v

2020-07-13 22:18:28

利用av_parser_parser2函数,解码h264文件

1、解码原始的图像数据是非常庞大的,本示例的视频20s,分辨率1280*720,原始的yuv420p数据大概在1.4G,如果是2个小时的电影、分辨率为1920*1080,原始的yuv数据可想而知会有多大,所以无论是音频还是视频数据都会经过编码,以降低多媒体mp4、mov等视频的容量。利用av_parser_parser2解码,输入必须是只包含视频编码数据“裸流”(例如H.264、HEVC码流文件),而不能是包含封装格式的媒体数据(例如AVI、MKV、MP4)。2、解码流程懒的画图了,直接手写

2020-07-12 19:23:06

mp4文件解封装为h264+aac(dts)两个文件

1、原理mp4的文件一般情况下是有video的编码文件+audio的编码文件封装而成,典型mp4文件,是有h264+aac组成(代码示例中的mp4音频是dts编码),如下图2、流程上面的流程图和代码的注释是一一对应的,可以结合代码理解一下。3、代码代码的运行环境是visualstudio2019,如果要运行在linux上,代码基本上差不多,需要在linux上编译ffmpeg的库,然后通过cmake编译运行。visual studio环境代码:/* 将mp4文件解封装.

2020-07-12 12:08:18

ffmpeg实现画中画

本篇博客相比上一篇《ffmpeg滤镜学习一,movie+overlay滤镜实现视频加水印、画中画》更深入一些,本次的实现,可以控制子画面出现的时间段、子画面播放时间等,这篇文章主要参考了大师兄悟空公众号下的文章《使用 FFmpeg 实现画中画效果(一)》,下面看一下具体实现:首先提出5个问题: 子画面展示位置? 子画面从主画面的哪个时间点开始播放? 子画面从子画面的...

2019-12-30 22:18:19

ffmpeg滤镜学习一,movie+overlay滤镜实现视频加水印、画中画

1.说明ffmpeg的滤镜上百种之多,其中ffmpeg4.2.1视频滤镜210+,音频滤镜110+,本博客主要记录学习使用ffmpeg api实现视频添加水印,画中画,使用到的滤镜为overlay。2.代码本篇代码主要参考了ffmpeg官方的示例,例子当中封装了一个lp_log的函数,用于将日志打印到文件中。/* * 实现对现有视频增加水印,可以是图片、也可以是视频,若为视频,...

2019-12-28 22:19:08

ffmpeg在visual studio2019上配置及验证

1.下载ffmpeg编译好的Windows版本https://ffmpeg.zeranoe.com/builds/,下载windows版本的static、share、dev三个文件,之后解压。2.配置visual studio2.1 创建控制台应用程序,c++的。2.2 配置visual studio将第一步下载的dev目录下的lib、include复制到项目目录...

2019-11-16 09:29:03

ffmpeg源码在centos上的编译

1.编译说明本次编译会在你的用户根目录下生成三个文件夹:ffmpeg_sources、ffmpeg_build、bin,其中ffmpeg_source为源代码目录,ffmpeg_build目录为项目编译目录,编译产出的库文件在这里,bin文件夹为编译产出的可执行文件存放目录。 本次编译产出的ffmpeg库为静态库,编译完成后,位于ffmpeg_build/lib目录下。2.编译环境阿里...

2019-10-27 13:23:14

ffmpeg常用命令

1. 视频文件准备测试用的视频文件,test.mp4文件。2. 常用命令1. 从视频中分离出h264编码数据ffmpeg -i test.mp4 -vcodec copy -an tt.h2642. 从视频分离mp3音频分离mp3数据比较特殊,不能直接从视频中分离,需要先分离到acc数据,之后进行转码。1. 分离acc数据ffmpeg -i test.mp4 -...

2019-09-24 16:29:06

ffmpeg源码编译

1. 开发环境机器:阿里云ecs服务器系统:Ubuntu 18.04.2 LTS建议:c++开发的同学建议使用Ubuntu,我之前使用的centos,各种问题,所以就换了系统,当前阿里云提供的Ubuntu最新公共镜像是18.04,因此选择了最新的版本进行安装。root账户登录机器。2. 下载ffmpeg源码ffmpeg下载地址:http://www.ffmpeg.org/d...

2019-09-16 22:04:22

c++开发环境搭建

1.开发环境机器:阿里云ecs服务器系统:centos72. 安装gcc、g++2.1 gcc安装centos下可以使用yum工具,直接yum install gcc即可。下图(已提前安装成功):2.2 安装g++可能很多同学说,直接yum install g++,这个就比较特殊了,直接用这条命令安装会提示你没有这个软件包哪g++应该怎么安装呢?应该使用这条...

2019-09-12 05:54:12
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。