zoukankan      html  css  js  c++  java
  • ffmpeg 入门教程

    1.在terminal,安装ffmpeg开源库

    #brew install ffmpeg 
    

    2.新建一个目录first_ffmpeg,并在first_ffmpeg目录下新建ffmpeg目录

    3.拷贝/usr/local/Cellar/ffmpeg/4.1.1/下的lib和include文件夹到上一步中的ffmpeg目录

    4.在first_ffmpeg,创建如下内容的CMakeLists.txt

    
    cmake_minimum_required(VERSION 2.8)
    
    project(first_ffmpeg)
    
    include_directories("/The/path/to/first_ffmpeg/ffmpeg/include")
    link_directories("/The/path/to/first_ffmpeg/ffmpeg/lib")
    link_libraries(libavcodec.a)
    link_libraries(libavdevice.a)
    link_libraries(libavfilter.a)
    link_libraries(libavformat.a)
    link_libraries(libavutil.a)
    link_libraries(libpostproc.a)
    link_libraries(libswresample.a)
    link_libraries(libswscale.a)
    
    add_executable(${PROJECT_NAME} "main.cpp")
    
    

    5.书写main函数如下

    #include <iostream>
    
    using namespace std;
    
    extern "C"
    {
        #include "libavcodec/avcodec.h"
        #include "libavformat/avformat.h"
        #include "libswscale/swscale.h"
        #include "libavdevice/avdevice.h"
    }
    
    int main()
    {
        cout << "Hello FFmpeg!" << endl;
        av_register_all();
        unsigned int version = avcodec_version();
        cout << "FFmpeg version is:" << version << endl;
        cout << "Hello World!" << endl;
        return 0;
    }
    
    

    6.编译运行

    #mkdir build 
    #cd build
    #cmake ..
    #make
    #./first_ffmpeg
    

    输出:

    Hello FFmpeg!
    FFmpeg version is:3810148
    Hello World!
    

    7.工程first_ffmpeg目录结构如下

    #first_ffmpeg tree -L 2
    

    .
    ├── CMakeLists.txt
    ├── build
    │   ├── CMakeCache.txt
    │   ├── CMakeFiles
    │   ├── Makefile
    │   ├── cmake_install.cmake
    │   └── first_ffmpeg
    ├── ffmpeg
    │   ├── include
    │   └── lib
    └── main.cpp

    转载本Blog文章请注明出处,否则,本作者保留追究其法律责任的权利。 本人转载别人或者copy别人的博客内容的部分,会尽量附上原文出处,仅供学习交流之用,如有侵权,联系立删。
  • 相关阅读:
    error in ./src/views/demo/ueditor.vue Module build failed: Error: Cannot find module 'node-sass' Require stack:
    Spring Cloud Stream 定时任务消息延迟队列
    项目结构介绍
    Java面试题
    SpringBoot中用SpringSecurity实现用户登录并返回其拥有哪些角色
    MySQL索引优化
    MySQL中的执行计划explain
    SpringBoot之单体应用
    SpringBoot之SSM多模块应用
    Spring-aop面向切面编程笔记
  • 原文地址:https://www.cnblogs.com/drfxiaoliuzi/p/10362698.html
Copyright © 2011-2022 走看看