当前位置: 首页 > 知识库问答 >
问题:

如何在windows环境下用cygwin和android ndk r9c编译FFMPEG-2.2.2

酆耀
2023-03-14

有人成功编译了吗

我需要转换一个视频到图像(为现场-壁纸)...你知道更好的方法还是ffmpeg最好?

THX

共有1个答案

林俊晖
2023-03-14

从罗曼的教程开始。以下更改适用于Windows:您应该使用NDKmake.exe,而不是Cygwin中的NDKmake.exe。因此,我在build_android.sh中简单地编写了d://dev/android/ndk/prebuilt/windows-x86_64/bin/make.exe。出于某种奇怪的原因,我无法运行make clean-但我只是选择暂时忽略这个问题。

按照教程,不要忘记设置

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64

此外,使用混合样式路径,即d://dev/whate,而不是cygwin样式/cygdrive/d/deve/whate。注意不要使用带有空格的路径--无论是ndk安装还是FFMPEGgit克隆。

echo 'cat $3' > ./pr
echo 'echo od' > ./od

这些不会破坏构建。

因此,我的构建过程如下:

git clean -d -f -x
./configure --enable-shared --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-doc --disable-symver --cross-prefix=d:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/bin/arm-linux-androideabi- --target-os=android --arch=arm --enable-cross-compile --sysroot=d:/android-ndk-r9c/platforms/android-9/arch-arm/ --extra-cflags="-Os -fpic"

编译确实会显示一些警告,但是。so文件将全部生成。

--extra-cflags="-Os -fpic -marm -march=armv7-a -mfloat-abi=softfp -mfpu=neon"
--extra-ldflags="-Wl,--fix-cortex-a8"
$ d:/Dev/Android/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64//bin/arm-linux-androideabi-gcc  -shared -Wl,-Bsymbolic -Wl,--version-script,libavcodec/libavcodec.ver -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavresample -Llibavutil -Llibpostproc -Llibswscale -Llibswresample -Wl,--fix-cortex-a8  --sysroot=d:/Dev/Android/ndk/platforms/android-9/arch-arm/ -isysroot d:/Dev/Android/ndk/platforms/android-9/arch-arm/ -Wl,--as-needed -Wl,--warn-common -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample @libavcodec/libavcodec.list -lswresample -lavutil -lm -lz -pthread -o libavcodec/libavcodec.so.55
$$(LD) $(SHFLAGS) $(LDFLAGS) $$(LD_O) $$(filter %.o,$$^) $(FFEXTRALIBS)
$(Q)echo >$(SUBDIR)lib$(NAME).list $(wordlist 1,400,$(filter %.o,$$<))
$(Q)echo >>$(SUBDIR)lib$(NAME).list $(wordlist 401,999,$(filter %.o,$$<))
$$(LD) $(SHFLAGS) $(LDFLAGS) $$(LD_O) @$(SUBDIR)lib$(NAME).list $(FFEXTRALIBS)

ps:我使用 make-n libavcodec/libavcodec.so.55准备响应文件 libavcodec/libavcodec.list.

PPS:这里有另一篇文章,帮助构建和使用Android的ffmpeg。

 类似资料:
  • 1.1. 搭建编译环境 1.2. 选择代码分支配置 1.3. 设置 Linux 编译环境 1.3.1. 64-bit Ubuntu 系统 1.3.2. Docker 1.3.3. 在容器中运行Docker镜像 1.3.4. 配置USB使用权限 1.3.5. 下载源码 1.1. 搭建编译环境 这里介绍如何设置本地工作环境来编译 RokidOS 开源项目。目前只支持 Linux OS。 1.2. 选择

  • 1.1. 编译环境配置 1.1.1. Openwrt编译环境搭建 1.1.2. 自带编译工具链环境搭建 1.1.3. MCU编译环境搭建 1.1. 编译环境配置 因为Kamino18平台采用MCU/ARM的异步架构,开发者需要安装arm和MCU交叉编译工具链。 1.1.1. Openwrt编译环境搭建 整个Kamino18平台的YODAOS是基于openwrt进行编译的,通过openwrt我们可以

  • 在Windows下安装和使用Git有两个不同的方案,通过安装msysGit或者通过安装Cygwin来使用Git。在这两种不同的方案下,Git的使用和在Linux下使用完全一致。再有一个就是基于msysGit的图形界面工具——TortoiseGit,也就是在CVS和SVN时代就已经广为人知的Tortoise系列软件的Git版本。TortoiseGit提供和资源管理器的整合,提供Git操作的图形化界面

  • 本文向大家介绍mycat在windows环境下的安装和启动,包括了mycat在windows环境下的安装和启动的使用技巧和注意事项,需要的朋友参考一下  1、下载 从如下地址下载mycat的安装包: http://www.mycat.io/ 2、解压 解压下载的安装包 3、安装 安装mycat前需要先安装jdk和mysql。mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5

  • 前言 ES6的主要内容 模块化的使用和编译环境 Class与JS构造函数的区别 Promise的用法 ES6其他常用功能 本文来讲“模块化的使用和编译环境”。 面试常见问题 ES6 模块化如何使用,开发环境如何打包 Class 和普通构造函数有何区别 Promise 的基本使用和原理 总结一下 ES6 其他常用功能 ES6的现状 开发环境已经普及使用 浏览器环境却支持不好(需要开发环境编译) 内容