乐趣区

关于ffmpeg:FFmpeg开发笔记三ffmpeg介绍windows编译以及开发环境搭建

若该文为原创文章,未经容许不得转载
原博主博客地址: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_OBJECT
public:
    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

退出移动版