若该文为原创文章,未经容许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108542400
各位读者,常识无穷而人力有穷,要么改需要,要么找专业人士,要么本人钻研
红瘦子(红模拟)的博文大全:开发技术汇合(蕴含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬联合等等)继续更新中...(点击传送门)
FFmpeg开发专栏(点击传送门)
上一篇:《FFmpeg开发笔记(二):ffmpeg在ubuntu编译以及开发环境搭建》
下一篇:敬请期待
前言
本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇应用源码进行编译,版本就应用3.4.8。
FFmpeg简介
FFmpeg是当先的多媒体框架,可能解码,编码, 转码,mux,demux,流,过滤和播放人类和机器创立的简直所有内容。它反对最含糊的现代格局,直至最前沿。无论它们是由某些规范委员会,社区还是公司设计的。它还具备高度的可移植性:FFmpeg能够在各种构建环境,机器体系结构和配置下,跨Linux,Mac OS X,Microsoft Windows,BSD,Solaris等编译,运行并通过咱们的测试基础架构FATE。
库性能介绍
FFmpeg下载
官网地址:http://ffmpeg.org/download.html#releases
CSDN下载地址:https://download.csdn.net/download/qq21497936/12838391
开发应用以后3.4.8稳固版本:
三个都点击了,下载了,如下图:
通过查看,源码中只有configure和makefile,那么是在linux上编译的,笔者想编译windows平台上的mingw32版本的,说不定哪天就要批改编码呢,别说opencv遇到几次了。
FFmpeg编译
步骤一:筹备msys环境
下个msys装置,当然也能够应用msys2,笔者偏向msys,本人配置本人的开发环境。
当然装置msys之后,须要将咱们Qt5.9.3的mingw32编译工具链拷贝进去,并关上终端窗口将环境输出进去,后果如下:
export PATH=$PATH:/mingw530_32/bin/
&esmp;&esmp;
## 步骤二:重新部署库的源码地位,须要拷贝到msys上来
解压后,如下:
步骤三:配置configure
./configure --prefix=/home/21497/compile/ffmpeg/ffmpeg-3.4.8/install
./configure --prefix=/home/21497/compile/ffmpeg/ffmpeg-3.4.8/install --disable-x86asm
步骤四:解决问题“pr: command not found”
配置coreutils
下载地址:http://gnuwin32.sourceforge.net/packages/coreutils.htm
间接下载bin文件。
全拷贝过来,笼罩。
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108542400
步骤五:msys有平台问题,msys2没有,配置msys2环境
下载安装msys2,自带了很多环境,此处留神,咱们要用Qt5.9.3的mingw32,如下图:
export PATH=$PATH:/mingw530_32/bin/
步骤六:配置configure切换msys2
./configure --prefix=/home/21497/compile/ffmpeg/ffmpeg-3.4.8/install --disable-x86asm --enable-shared
应用mingw32的环境变量,如下图:
步骤七:编译
make -j4
同样的问题,ar,参照步骤四,后持续:
间接转用make,简略粗犷,原理读者本人了解
步骤八:装置make install
模块化
&esmp;
测试Demo
FFmpegManager.h
#ifndef FFMPEGMANAGER_H#define FFMPEGMANAGER_H#include <QObject>extern "C" { #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> #include <libavdevice/avdevice.h> #include <libavformat/version.h> #include <libavutil/time.h> #include <libavutil/mathematics.h>}class FFmpegManager : public QObject{ Q_OBJECTpublic: explicit FFmpegManager(QObject *parent = nullptr);signals:public slots:};#endif // FFMPEGMANAGER_H
FFmpegManager.cpp
#include "FFmpegManager.h"#include <QDebug>#include <QDateTime>//#define LOG qDebug()<<//#define LOG qDebug()<<__FILE__<<__LINE__<<#define LOG qDebug()<<__FILE__<<__LINE__<<QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss:zzz")FFmpegManager::FFmpegManager(QObject *parent) : QObject(parent){ LOG << avcodec_configuration();}
工程模板v1.0.0
对应工程模板v1.0.0(windows Qt5.9.3 mingw32)
上一篇:《FFmpeg开发笔记(二):ffmpeg在ubuntu编译以及开发环境搭建》
下一篇:敬请期待
若该文为原创文章,未经容许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108542400