ffmpeg 开发-初级

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg 开发-初级相关的知识,希望对你有一定的参考价值。

参考技术A

常用日志级别

编译
方式一

方式二

报错
clang: error: no such file or directory: \'pkg-config --libs libavformat\'
解决:
``表示的是执行命令,‘’ 代表的是字符串
应使用英文键盘下的`,即键盘1 左边那个引号

查看pkg-config --libs libavformat

报错:Package libavformat was not found in the pkg-config search path
解决:

打印当前目录信息 实例

编译

运行

多媒体文件

流数据

重要的结构体

ffmpeg操作流数据的基本步骤

打印多媒体信息 实例

编译

运行

编译

运行

抽取h264数据 实例

编译

运行

重新封装mp4转flv 实例

编译

运行

视频截取实例

编译

运行

Xcode安装配置ffmpeg开发环境

在Mac平台上,下载安装ffmpeg
配置ffmpeg在Xcode的开发环境

下载ffmpeg

  1. 下载ffmpeg

    ➜  ~ brew install ffmpeg
  2. 查看版本

    ➜  ~ ffmpeg -version
    ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  3. 查看ffmpeg详细资信息

    ➜  ~ brew info ffmpeg
    ffmpeg: stable 3.4.2 (bottled), HEAD
    Play, record, convert, and stream audio and video
    https://ffmpeg.org/
    /usr/local/Cellar/ffmpeg/3.4.2 (248 files, 50.9MB) *
     Poured from bottle on 2018-08-18 at 19:01:35
    From: https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git/Formula/ffmpeg.rb
    ==> Dependencies
    Build: nasm ✘, pkg-config ✔, texi2html ✘
    Recommended: lame ✔, x264 ✔, xvid ✔
    Optional: chromaprint ✘, fdk-aac ✘, fontconfig ✘, freetype ✘, frei0r ✘, game-music-emu ✘, libass ✘, libbluray ✘, libbs2b ✘, libcaca ✘, libgsm ✘, libmodplug ✘, librsvg ✘, libsoxr ✘, libssh ✘, libvidstab ✘, libvorbis ✘, libvpx ✘, opencore-amr ✘, openh264 ✘, openjpeg ✘, openssl ✔, opus ✘, rtmpdump ✘, rubberband ✘, sdl2 ✘, snappy ✘, speex ✘, tesseract ✘, theora ✘, two-lame ✘, wavpack ✘, webp ✘, x265 ✘, xz ✘, zeromq ✘, zimg ✘
    ==> Options
    --with-chromaprint
       Enable the Chromaprint audio fingerprinting library
    --with-fdk-aac
       Enable the Fraunhofer FDK AAC library
    --with-fontconfig
       Build with fontconfig support
    --with-freetype
       Build with freetype support
    --with-frei0r
       Build with frei0r support

    ......

    --without-xvid
       Disable Xvid MPEG-4 video encoder
    --HEAD
       Install HEAD version
  4. 查看下载后的路径,从上面看就可以做知道,默认路径为

    /usr/local/Cellar/ffmpeg

导入到Xcode

  1. 新建Command Line Tool项目

    image-20180818191312836
  2. 导入头文件

    点击项目名—> 右侧Build Settings —> 下拉找到Search Paths(也可以在搜索框直接搜索)—> 点击Header Search Paths—>输入头文件路径/usr/local/Cellar/ffmpeg/3.4.2/include

    Xcode安装配置ffmpeg开发环境
    image-20180818191717672
  3. 导入库文件

    切换Build Phases的tab—>Link Binary With Libraries—>拖拉/usr/local/Cellar/ffmpeg/3.4.2/lib中的.a库到其中

    image-20180818192619825
    image-20180818192657888

    切换回Build Settings的Search Paths中的Library Search Paths,可以看到内容为/usr/local/Cellar/ffmpeg/3.4.2/lib

  4. 查看效果,输出版本号

    #include <stdio.h>
    #include <libavcodec/avcodec.h>

    int main(int argc, const char * argv[]) {
       // insert code here...
       printf("ffmpeg version = %s\n", av_version_info());
       return 0;
    }

    // output
    // ffmpeg version = 3.4.2

以上是关于ffmpeg 开发-初级的主要内容,如果未能解决你的问题,请参考以下文章

音视频处理 ffmpeg初级开发 命令行工具-实用命令

FFmpeg编程博客汇总from: cnblogs - 山上有风景

005android初级篇之jni 一个简单的报错No implementation found for

FFmpeg开发实战:FFmpeg 打印日志

FFmpeg开发笔记搭建Windows系统的开发环境

ffmpeg文档43-开发者