【问题标题】:FFmpeg on iPhoneiPhone 上的 FFmpeg
【发布时间】:2011-02-17 13:42:46
【问题描述】:

我已经下载了 iPhone 的 ffmpeg 库并编译了它们。我的目标是使用 ffmpeg 库从一系列图像创建电影文件。iphone 上 ffmpeg 的文档数量非常少。我检查了一个名为 iFrameExtractor 的应用程序,它与我想要的相反,它从视频中提取帧。

在命令行有一个命令叫

ffmpeg -f image2 -i image%d.jpg video.mov 

这会将一系列图像转换为视频。我实际上在我的mac上检查了它,它工作正常。我想知道的是我们如何在 iPhone 中获得等价物。或者更确切地说要调用哪个类/api或方法。有几个应用程序在 iPhone 上执行此操作的示例。不知道他们是否通过 ffmpeg 做到这一点。无论如何,供参考“时间流逝”和“卷轴时刻”

提前致谢

【问题讨论】:

  • 阅读源码...命令行解析应该很容易理解。
  • HI andrew...谢谢您的信息...但是文件的数量是巨大的。这几乎就像大海捞针一样......无论如何我都会尝试这种方法。再次感谢

标签: iphone ffmpeg


【解决方案1】:

你需要声音吗? 如果不需要声音,可以尝试使用openCv。 我认为它更容易使用。您只需调用一个方法将图片附加到电影中: http://opencv.willowgarage.com/documentation/c/reading_and_writing_images_and_video.html

【讨论】:

  • 您好,olipion,感谢您提供此信息...我会检查一下。这适用于 iPhone 吗?我不需要声音,只要视频就可以了
  • 我想是的。我没有使用 opencv 来做到这一点,但我使用 opencv 在 iphone 上进行人脸检测。我认为它应该有效。
  • 我为 arm(iPhone 的本机指令架构)下载了 openCv 静态库,并且这些库生成得很好。链接到它们的库没有问题。作为第一步,我尝试使用一个图像创建一个 .avi 文件,看看它是否有效。但是 cvCreateVideoWriter 总是返回一个 NULL 值。我做了一些搜索,我相信这是由于编解码器不存在。我正在 iPhone 模拟器上尝试这个。这就是我所做的......
  • - (void)viewDidLoad { [super viewDidLoad]; UIImage *anImage = [UIImage imageNamed:@"1.jpg"]; IplImage *img_color = [self CreateIplImageFromUIImage:anImage]; //图像创建得很好 CvVideoWriter *writer = cvCreateVideoWriter("out.avi",CV_FOURCC('P','I','M','1'), 25,cvSize(320,480),1); //writer 始终为 null int result = cvWriteFrame(writer, img_color); NSLog(@"\n%d",结果); //因此这也是0 cvReleaseVideoWriter(&writer); }
  • 我不确定第二个参数。什么样的编解码器或它到底做了什么......我是这方面的n00B。有什么建议吗?
【解决方案2】:

如果我错了,请有人纠正我,但我不相信 iPhone 应用程序可以调用外部可执行文件(这是有道理的,那就是多任务处理)。你必须使用 libav* 来完成你所追求的。为 iPhone 编译 ffmpeg:

http://github.com/gabriel/ffmpeg-iphone-build

然后阅读 ffmpeg.org 上的 API 文档。对于每个库,ffmpeg 源代码中都应该有一个示例文件,显示该库核心功能的使用情况。即在 libavcodec 中,有一个名为 api-example.c 的文件,在 libavformat 中,有一个名为 output-example.c 的文件。

【讨论】:

  • 您好 jtrim,感谢您提供此信息。将在文档中更加努力地检查。
猜你喜欢
  • 1970-01-01
  • 2011-10-14
  • 2011-08-10
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 2011-07-04
相关资源
最近更新 更多