美文网首页iOS图形处理相关视频直播iOS
iOS 集成FFmpeg环境(一):命令行转换视频格式

iOS 集成FFmpeg环境(一):命令行转换视频格式

作者: 凌峰Mical | 来源:发表于2016-04-25 20:43 被阅读1896次

作用:FFmpeg 可以用来转换视频格式,根据FFmpeg实现环境的配置来更改视频的格式。例如:将flv格式转换成mp4格式,将mp4转换成mp3等等

另外,iOS下利用FFmpeg命令行进行视频裁剪,其中的内容会在下一期在具体谈。

iOS 环境下,集成FFmpeg

1. 集成FFmpeg之前, 需要下载:gas-preprocessor

gas-preprocessor是我们需要编译的ffmpeg的所需要的脚本文件。

1)我们将其解压后,发现内部只有简单的 4 个文件,如下图:

gas-preprocessor解压后的文件

2)将gas-preprocessor.pl文件复制粘贴到 /usr/sbin/ 目录下(按commd+G快捷键,复制此路径) ,若是根本就不能将这个文件复制到这个路径,我们需要换一个路径,/usr/local/bin/ 目录下,然后为文件开启可执行权限,打开终端输入以下命令行。

  • 如果,报错
gas-preprocessor.pl文件拷贝到/usr/local/bin目录下

chmod 777 /usr/sbin/gas-preprocessor.pl
或者
chmod 777 /usr/local/bin/gas-preprocessor.pl

not permitted

如果还是不行,可以确定是权限问题,,那么执行之前加上

cp -R /Users/mical_lf/Desktop/gas-preprocessor.pl /usr/local/bin
2. Mac安装Brew
  • 通过hombre 我们可以方便的来安装之后的yasm和ffmpeg

    curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
    

当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下:

sudo brew install wget  

卸载的话,命令如下:

sudo brew uninstall wget

查看安装软件的话,命令如下:

sudo brew search /apache*/

注意/apache*/是使用的正则表达式,用/分割。

3. 下载安装yasm

1)yasm 又是什么呢?

Yasm是一个完全重写的 NASM 汇编。目前,它支持x86和AMD64指令集,接受NASM和气体汇编语法,
产出二进制,ELF32 , ELF64 , COFF , Mach - O的( 32和64 ),RDOFF2 ,的Win32和Win64对象的格式,
并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。

2)下载 yams

brew install yams

如果报错error,这执行

sudo brew install yams
  • 检测是否已安装 yasm

    brew install yams
    

如果安装成功,会输出如下信息:


brew info yasm
4. 下载安装FFmpeg

1)安装FFmpeg

brew install ffmpeg
如果报错error,这执行

sudo brew install ffmpeg

如果报错,


报错信息
  • 错误信息:brew link yasm ,所以执行图中标记代码

    sudo brew link yams
    
  • 检测是否已安装 ffmpeg

    brew install ffmpeg
    

2)当命令执行完毕,我们再输入:

 brew info ffmpeg
ffmpeg info

看到以上这一大堆东西,我就知道我已经安装完毕了,只是正如大家所见,有很多选择库博主并没有安装。

当然,如果小伙伴们日后想升级 ffmpeg,可以输入以下命令行:

 brew update && brew upgrade ffmpeg

3)转换视频格式:
下载一个.mp4格式的视频,并将这个视频转换成mp4格式,并将码率设置成3.6MB。
1)打开终端,输入以下命令行:(前提是找到这个视频文件,格式如下)

ffmpeg -i moments.mp4 -b:v 640k moments.flv

由于我把视频文件直接放到了桌面上,因此命令行如下:

dongdongwodewangluokankan:~ mical_lf$ ffmpeg -i /Users/mical_lf/Desktop/moments.mp4 -b:v 3.6MB moments.flv

虽然已经转换好了,但是找不到文件呀,卧槽,原来在“我的所有文件”里面:(如下图)

文件.png

2)终端输出结果:

输出.png

下一期,会写iOS集成FFmpeg 文档,并且获取视频的第一帧,裁剪视频等功能。

相关文章

  • 记一次FFmpeg的编译过程的坑

    参考文章:iOS开发 - 超详细集成 FFmpeg 步骤 iOS集成FFmpeg及视频格式转码 以...

  • IOS FFmpeg H.264解码

    1.**本地集成FFmpeg ** (引用) iOS集成FFmpeg及视频格式转码 2.pod集成(省事,但是有些...

  • iOS 集成FFmpeg环境(一):命令行转换视频格式

    作用:FFmpeg 可以用来转换视频格式,根据FFmpeg实现环境的配置来更改视频的格式。例如:将flv格式转换成...

  • FFMPEG

    FFmpeg 官网FFmpeg Githubffmpeg Documentation 功能 视频采集视频格式转换视...

  • FFMpeg for PHP

    FFMpeg for PHP PHP使用FFMpeg来转换视频格式。 本质是使用ffmpeg服务来执行的,而非通过...

  • 使用GPU硬件加速FFmpeg视频转码

    本文内容包括: 在Linux环境下安装FFmpeg 通过命令行实现视频格式识别和转码 有Nvidia显卡的情况下,...

  • FFmpeg学习

    https://github.com/NK-iOS/FFMpeg_iOS iOS开发 - 超详细集成 FFmpeg...

  • iOS 集成FFmpeg与使用

    iOS基于FFmpeg 4.1 的命令编译 1、iOS集成FFmpeg 下载脚本FFmpeg脚本地址 这里目前使用...

  • Mac 配置FFmpeg环境

    Mac 配置FFmpeg环境 假如你的mac 电脑想要看更多格式的视频内容,需要转换视频格式,又不想下载新的App...

  • FFMpeg与mPaaS小程序模块冲突

    mPaaS项目集成小程序模块,同时集成了FFMpeg的视频压缩功能, ffmpeg使用了fftools命令行操作方...

网友评论

  • 辉过来辉过去:能给个差评吗? 一点也不认真! yams yasm 傻傻分不清楚
  • sky_kYU:下一期呢?
  • UILabelkell:war3end.mp4: No such file or directory
    CALLED CLEAN UP!!! 我在Xcode 上面用 老是报用这个错误 我是用的这个ffmpeg -i war3end.mp4 -b:v 640k war3end.mov 大神问一下 这是什么原因 我视频文件 就放到这个当前目当下的 不存在 目录问题要讲
  • 27bba2520ac9:大哥,有没有在xcode中进行转码的啊??
  • yabin小站:不错,期待下期

本文标题:iOS 集成FFmpeg环境(一):命令行转换视频格式

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