• ffmpeg初体验


    ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大。目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快; 且网上的讲解不够详细,对于初次接触FFMPEG的新手(例如我)来说确实不太好使用。为了防止忘记,这里对iOS下使用FFMPEG做一个总结。

    1. FFMPEG层次结构的简单理解

    要使用FFMPEG,首先需要理解FFMPEG的代码结构。根据志哥的提示,ffmpeg的代码是包括两部分的,一部分是library,一部分是tool。api都是在library里面,如果直接调api来操作视频的话,就需要写c或者c++了。另一部分是tool,使用的是命令行,则不需要自己去编码来实现视频操作的流程。实际上tool只不过把命令行转换为api的操作而已。

    2. 预热-在mac os下使用ffmpeg

    在mac os下使用ffmpeg比较简单,可以直接使用命令行来操作。首先安装ffmpeg,这里默认系统已经安装好brew,只需要在终端上输入:

    brew install ffmpeg

    等待安装结束即可。

    安装结束后,尝试以下命令:

    ffmpeg -i input.mp4 output.avi

    如果能顺利转换,表明安装成功

    3. 编译能在iOS下使用的FFMPEG library库

    这一步是编译1所说的library,编译好之后可以调用FFMPEG的api。网上有一些方法,但都要自己手动编译,稍显复杂而且比较陈旧。按照app store的需求,编译出来的包还必须支持arm64。我在万能的github中找到一个能够"一键编译"的脚本,地址如下:

    https://github.com/kewlbear/FFmpeg-iOS-build-script

    而且写这个脚本的歪果仁挺好人,更新很及时,已经更新到了最新的2.5.3版本。下载下来,只有一个build-ffmpeg.sh脚本文件。在终端中转至脚本的目录,执行命令:

    ./build-ffmpeg.sh

    脚本则会自动从github中把ffmpeg源码下到本地并开始编译。

  • 相关阅读:
    Spring 中使用 Hibernate
    数据源
    Spring 对 DAO 的支持
    Spring Boot 整合模板引擎 Freemaker、thymeleaf
    Spring Boot 使用 Filter、Servlet、Listener、Interceptor
    Spring Boot 全局异常
    Spring Boot 启动方式
    Spring MVC 异常处理
    Spring MVC 装配拦截器
    结构体做函数参数
  • 原文地址:https://www.cnblogs.com/jiaoxiangjie/p/9274939.html
Copyright © 2020-2023  润新知