游戏迷提供最新游戏下载和手游攻略!

FFMpeg 系列1 FFMpeg4.0.2 在:Mac 上编译

发布时间:2024-09-24浏览:45

mac系统版本:10.13.6

NDK版本: r16b版本

ffmpeg 版本:4.0.2

选择与你的系统对应的ndk

选择你系统对应的ndk

环境变量配置

在命令行中配置:

输入vim ~/.bash_profile 或打开~/.bash_profile

加入

等等,还有第三步。输入source ~/.bash_profile使环境生效。

编译脚本强调一下,下面的脚本没有启用neon和硬解码。

#!/bin/bashADDI_CFLAGS='-marm'API=27PLATFORM=arm-linux-androideabiCPU=armv7-aNDK=/Users/shitou/Documents/android-ndk-r16b # 修改本地ndk路径SYSROOT=$NDK/platforms/android-$API/arch-arm/ISYSROOT=$NDK/sysrootASM=$ISYSROOT/usr/include/$PLATFORMTOOLCHAIN=$NDK/toolchains/$PLATFORM-4.9/prebuilt/darwin-x86_64OUTPUT=/Users/cvte/Documents/share #自己指定一个输出目录function build_one{./configure \--prefix=$OUTPUT \--enable-shared \--disable-static \--disable-doc \--disable-ffmpeg \--disable-ffplay \ --disable-ffprobe \--disable-avdevice \--disable-doc \--disable-symver \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--target-os=android \ --arch=arm \--启用交叉编译\--sysroot=$SYSROOT \--extra-cflags='-I$ASM -isysroot $ISYSROOT -Os -fpic -marm' \--extra-ldflags='-marm' \$ADDITIONAL_CONFIGURE_FLAG make clean make make install}echo '开始编译ffmpeg.'build_oneecho '完成编译.'

将ffmpeg-build.sh放入ffmpeg4.0.2文件夹中

修改编译脚本的权限,如ffmpeg-build.sh

//命令行进入ffmpeg4.0.2文件夹chmod 777 ffmpeg-build.sh

执行./ffmpeg-build.sh

免费音视频学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流高级开发

编译完成后会出现:

如果编译成功就会出现

目录位置:

编译后的文件夹

好了,现在大家应该已经编译成功了。

接下来我们要讲一下如何将这些生成的文件导入到Android studio中,不过别着急,我们先讲一下4.x.x和之前的3.x.x的区别,不然你就会有前面代码的第一句之后。提问,哈哈~~,先听我唠叨。我们可以看一下之前的博客,第一句代码是

//注册所有包装器-- av_register_all(); 4.x 以上已弃用;

结果发现

attribute_deprecatedvoid av_register_all(void);

同时,解码器的注册功能也被废弃。

//注册所有解码器-- avcodec_register_all(); 4.x 以上被放弃;

据说4.x版本与3.x有些不同。这些注册函数不需要手动调用。组件可以直接使用。但我们如何找出哪些方法已被放弃或替代呢?在我们的例子中,在从官网下载的ffmpeg4.0.2文件夹中,找到doc文件夹。里面有一个APIchanges文件。用编辑器打开,我们可以发现该版本的API变化。

ctrl+F 查找对应的api

现在我们可以和之前的版本进行比较,看看哪些API发生了变化。

接下来进入Android studio集成ffmpeg的部分。

FFMpeg4.0.2 在:Mac 上的原始FFMpeg 系列1 编译- 掘金

用户评论

微信名字

终于找到一个好的教程!我一直想在 Mac 上用 FFmpeg 这个强大的工具,但始终不知道怎么开始编译。这篇博客写的详细清晰,通俗易懂,跟着步骤很快就成功了。真希望你能继续分享更多关于 FFmpeg 的文章。

    有7位网友表示赞同!

寒山远黛

FFMpeg 简直是万能的编辑器!能处理各种音频和视频格式,功能强大到不可思议. 这篇文章教程讲的很好,虽然我也遇到了一些小问题,但最后还是顺利编译成功了!

    有17位网友表示赞同!

相知相惜

Mac 上想编译 FFmpeg 的话确实挺不容易的,很多教程都比较模糊或者直接跳过一些关键步骤。这份博客写的太棒了!每一个细节都清晰易懂,尤其是对于新手来说真是个福音。

    有10位网友表示赞同!

煮酒

其实我觉得直接用 Homebrew 安装 FFMpeg 更加简单快捷,为什么非要自己编译呢? 这种方法花费的时间精力太多了,而且如果遇到问题还得自己去解决,真有点麻烦...

    有14位网友表示赞同!

颜洛殇

之前一直用的是 Windows 上的 FFmpeg,这篇文章让我终于可以搬到 Mac 平台上使用了! 操作步骤很详细,我按照这篇博客一步步做了,就顺利编译成功了! 感谢作者分享这种宝贵经验!

    有8位网友表示赞同!

纯真ブ已不复存在

文章写的不错,很有实用价值,我尝试按照你的步骤编译 FFMpeg,遇到了一个奇怪的问题,不知道是什么原因导致的... 你能帮我看看吗?

    有6位网友表示赞同!

娇眉恨

FFMpeg 本身功能确实强大,但是 compiled version 的文件体积比较大,占用空间不少. 希望作者可以分享一些更小巧的版本。

    有5位网友表示赞同!

┲﹊怅惘。

安装 FFmpeg 太慢了!我感觉编译过程超级费时,还经常出现未知错误,真不想再浪费时间在这里。有没有更快便捷的方法?

    有13位网友表示赞同!

涐们的幸福像流星丶

Mac 上编译 FFMpeg 可能有点困难,需要有一定的编程基础,对于小白来说还是比较难。希望作者能在未来的文章中添加一些更详细的解释,或者制作一些视频教程,以便我们更容易理解和操作。

    有16位网友表示赞同!

焚心劫

感谢作者分享这篇博客!终于解决了我长期困扰的问题了 - 在 Mac 上编译 FFMpeg 有点难度,但是你的步骤清晰易懂,一步步跟着做就成功了。 继续努力!

    有12位网友表示赞同!

拉扯

这篇文章讲的太详细了!我第一次接触到 FFmpeg,按照你的步骤一步步做了,竟然顺利编译成功了! 感觉自己学习进步了不少...

    有16位网友表示赞同!

醉婉笙歌

之前一直在使用在线视频转换工具,这次终于鼓起勇气决定在 Mac 上编译 FFMpeg 了。 这篇文章真的很大帮助,清晰易懂,操作流程很顺畅。

    有17位网友表示赞同!

柠夏初开

FFMpeg 的功能确实是强大的,但是文章中提到的步骤有些繁琐复杂呀, 对新手来说可能比较难理解执行。 可以尝试用更直观的图文并茂的方式来讲解?

    有9位网友表示赞同!

发型不乱一切好办

安装 FFmpeg 太麻烦了!我还是喜欢直接使用自带的视频工具.

    有9位网友表示赞同!

予之欢颜

我试着按照你写的步骤编译 FFMpeg,但是遇到了很多问题,不知道是什么原因导致的。 能不能提供一些常见问题的解决方法?

    有7位网友表示赞同!

炙年

我比较好奇的是在 Mac 上编译 FFmpeg 的实际应用场景? 有哪些优势和局限性?

    有20位网友表示赞同!

早不爱了

这篇博客内容很棒,希望能看到更多关于 FFMpeg 方面的文章,比如如何使用 FFmpeg 实现一些特定的视频处理功能等等。

    有14位网友表示赞同!

迁心

这 really awesome blog post! After reading this, anyone could compile FFmpeg on Mac in no time. Cheers to the author for making it so accessible!

    有19位网友表示赞同!

热点资讯