美文网首页FFmpegAndroid FFMPEGAndroid知识
FFmpeg下载与配置(Visual Studio)

FFmpeg下载与配置(Visual Studio)

作者: zhang_pan | 来源:发表于2017-12-05 20:31 被阅读105次

    前言

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,开源的ijkplayer、VLC等常见的播放器都是基于FFmpeg去完成的。

    FFmpeg下载

    FFmpeg官网:http://ffmpeg.org/

    1.png

    点击Download

    2.png

    点击Windows Packages

    3.png

    再点击Windows Builds

    这个网站的FFmpeg分为三个版本:
    Static:只包含三个体积很小的exe。
    Shared:除了三个体积很小的exe之外,还包含了dll动态库文件。
    Dev:只包含了开发用的头文件(.h)和导入库文件(.lib)。

    4.png

    点击Download Build进行下载,下载解压后

    5.png

    wins + R打开DOS命令行窗口,切换到static文件夹下的bin文件夹

    6.png

    输入ffmpeg.exe,查看弹出的信息。

    7.png

    ffmpeg.exe的使用

    1. 命令格式

    功能

    ffmpeg.exe用于视频的转码

    最简单的命令
    ffmpeg -i input.mp4 output.avi
    

    该命令是将当前文件夹下的input.mp4文件转换为output.avi文件。我利用命令ffmpeg -i Forrest_Gump_IMAX.mp4 1.avi将mp4格式转换成avi格式,用VLC播放器打开,可以播放,注意这里如果用win10自带的播放器是打不开的,这个播放器不支持avi格式。

    8.png
    命令格式
    ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}
    

    所有的参数都是以键值对的形式指定的。例如输入文件参数是“-i”,而参数值是文件路径;输出视频码率参数是“-b:v”,而参数值是视频的码率值,但是位于最后面的输出文件路径前面不包含参数名称。

    2. 命令参数

    9.png

    详细的参数可以访问:http://ffmpeg.org/ffmpeg.html

    ffplay.exe的使用

    1. 命令格式

    功能

    ffplay.exe用于视频的播放

    最简单的命令
    ffplay input.mp4
    
    命令格式
    ffplay {输入文件路径}
    

    ffplay.exe的参数格式和ffmpeg.exe是类似的。所有的参数是以键值对的形式指定的(由于不包含输出文件,所以只能指定输入参数)。注意位于最后面的输入文件路径前面不包含参数名称。

    我们来试一下,命令行输入ffplay 1.avi

    10.png

    2. 快捷键

    11.png

    Visual Studio关于FFmpeg的配置

    拷贝include、lib、dll动态库

    新建ffmpeg_study项目,在右侧解决方案资源管理器中,右击项目名ffmpeg_study,选择在文件资源管理器中打开文件夹,将dev的include和lib文件夹拷贝到此位置,并将shared/bin下的所有dll动态库拷贝到此位置

    12.png

    配置附加包含目录

    然后右击项目名ffmpeg_study,选择属性 ---> C/C++ ---> 常规

    13.png

    配置附加库目录

    14.png

    添加依赖项

    avcodec.lib
    avdevice.lib
    avfilter.lib
    avformat.lib
    avutil.lib
    postproc.lib
    swresample.lib
    swscale.lib
    
    15.png

    检测FFmpeg的配置

    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    
    extern "C" {
        #include "libavcodec\avcodec.h"
    }
    
    using namespace std;
    void main() {
        cout << avcodec_configuration() << endl;
    
        getchar();
    }
    

    调用avcodec_configuation()函数来检测FFmpeg是否已经配置完成,编译运行:

    16.png

    由于我们下载的FFmpeg库是64位的,所以需要将我们的活动解决方案平台改成x64的

    17.png 18.png

    再编译运行,运行成功,输出信息如下:

    19.png

    展望

    喜欢本篇博客的简友们,就请来一波点赞,您的每一次关注,将成为我前进的动力,谢谢!

    相关文章

      网友评论

        本文标题:FFmpeg下载与配置(Visual Studio)

        本文链接:https://www.haomeiwen.com/subject/pyftixtx.html