使用带有iPhone SDK的FFMPEG库进行视频编码

时间:2009-11-05 10:30:29

标签: iphone video encoding ffmpeg

我需要将iphone相机拍摄的几张照片编码成mp4视频文件,我知道FFMPEG可以这样做(应用程序TimeLapser和ReelMoments已经这样做了)。我计划在我的app iMotion中使用它(在appstore中可用)。

我使用以下链接成功安装并编译了iphone SDK的ffmpeg: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html

但现在我被困在我的XCode项目中。接下来我应该怎么做才能使用FFMPEG库进行视频编码?关于外部库使用的Apple文档非常简单,我可以在网上找到任何解释如何执行此操作的教程。

如果有人可以帮助我,我将非常感激......。

由于

Aurelien Potier

3 个答案:

答案 0 :(得分:11)

在github上查看iFrameExtractor项目。虽然这不是您正在寻找的,但它有用于构建ffmpeg库的脚本和xcode项目链接库。

此博客文章中的更多信息:

http://www.codza.com/extracting-frames-from-movies-on-iphone

答案 1 :(得分:8)

在“项目”菜单中,选择“编辑活动目标”[...]“。

然后在Build分隔符中,确保选择了All Configuration并执行以下操作:

  • 搜索“标题搜索路径”并指明FFmpeg标题的位置;
  • 搜索“库搜索路径”并指明编译的静态库二进制文件(.a文件)所在的位置。

这应该这样做,但后者还有一个更巧妙的技巧。您可以向“库搜索路径”添加构建条件,以便编译器将不同的二进制文件用于不同的体系结构,即您可以无缝地为模拟器和设备进行编译。以下说明。

  • 选择“库搜索路径”行,单击同一窗口左下角的按钮,然后选择“添加构建设置条件”;
  • 出现'Any SDK',选择'Any iPhone OS Simulator'并指明x86 ffmpeg二进制文件的路径。
  • 重复上述步骤,将“Any iPhone OS Simulator”替换为“Any iPhone OS Device”,并指出ARM ffmpeg二进制文件。

以下是此类构建设置的示例。

alt text

答案 2 :(得分:4)

另一种选择是在服务器上使用FFMPEG。将图像发送到服务器并使用PHP w / ffmpeg转换视频。 有了这个,您就不必担心在设备上编译FFMPEG了。 只是一个想法