使用MSYS和MinGW在Windows上构建ffmpeg

4

我正在尝试按照这里的指示在Windows(XP-SP2)上构建FFmpeg。

./configure -–extra-cflags=”-mno-cygwin -mms-bitfields” -–extra-ldflags=”-Wl, -add-stdcall-alias” -–enable-memalign-hack -–enable-shared -–disable-static -–target-os=mingw32

上述命令按照指示放在名为myconfig的文件中,当我运行./myconfig时,会显示以下错误信息:
Broken Shell detected. Trying alternatives.
Trying Shell bash
Unknown option "-–extra-cflags=-mno-cygwin".

根据链接提供的建议,我尝试了各种选项,但仍然无法成功。
我的环境是Win XP,包括:
- MinGW-5.1.6 - bash-2.05b-MSYS - MSYS-1.0.10 - ffmpeg-0.5
编辑:参考howto中的某些更改后,我成功运行了make命令,并在各自的目录中找到以下DLL。
  • ffmpeg\libavcodec\avcodec-51.dll
  • ffmpeg\libavformat\avformat-51.dll
  • ffmpeg\libavutil\avutil-49.dll
但我没有看到任何ffmpeg\ffmpeg.exe文件 :(
可能出了什么问题?

我已将此标记为适合在 Stack Overflow 上讨论,因为这是一个编程问题。请前往该网站创建并关联您的账户,以便在问题被转移时仍能拥有所有权。 - ChrisF
我在 Stack Overflow 上有一个账户 :) - Gopi
@Sri - 那就好了 ;) 我应该先查看你的个人资料 - 抱歉。 - ChrisF
这个问题真的不应该放在StackOverflow上吗? - Ivan Vučica
运行“make clean && make”后的最后几行是什么? - rogerdpack
3个回答

4
可能有些离题,但我为Cygwin编写了一个脚本(链接)来实现这个功能。

谢谢!我从那里下载了最新版本,但要使用libfdk_aac,他们需要配置ffmpeg。我尝试了c:\FFMPEG\bin>ffmpeg --enable-libfdk_aac --enable-nonfree,但它会抛出“未识别的选项'-enable-libfdk_aac'。错误拆分参数列表:找不到选项”。你有什么想法吗? - Gopi
那么,我不能直接将编解码器添加到现有的FFMPEG可执行文件中吗?很抱歉,我不明白您在如何使用您的脚本方面的意思。 - Gopi

2
Ramiro的Windows上的FFmpeg网站提供了更好的逐步说明,并且有一个社区论坛,如果Wiki没有回答您的问题,您可以在论坛上提问。

1
链接已损坏。你有适用于64位Windows的可行解决方案吗? - kheya
有关交叉编译(64位Windows),请参见https://github.com/rdp/ffmpeg-windows-build-helpers,此外这里还有一个Windows论坛:http://ffmpeg.zeranoe.com/forum/,可能会有所帮助。 - rogerdpack

1

最终,我成功地在Windows上构建了ffmpeg,参考了这篇博客http://www.finalmediaplayer.com/source.html

您可能还想将lamex264添加到您的构建中。

  1. 将tar解压缩到/ffmpeg/libraries
  2. ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared
  3. make
  4. make install

其他库:

请使用以下选项重新配置您的ffmpeg:--enable-libx264 --enable-libmp3lame --enable-libfaac --enable-libfdk-aac


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接