从图像和音频创建视频文件(预先录制)

时间:2009-12-14 11:06:06

标签: iphone cocoa-touch

我遇到了一些示例代码,其中添加了一组图像以制作QTmovie。

我的目标是针对OS X平台而没有任何QT框架。 我有一个想法,即创建一个带扩展名的文件,并使用适当的元数据嵌入它,并找到一种以所需格式插入图像和音频的方法。因此,当创建文件时,可以简单地播放它。

我不确定哪种格式/扩展名更好。  指针非常感谢。

2 个答案:

答案 0 :(得分:0)

如果没有QuickTime(或等效的多媒体框架),您所描述的是相当多的工作。通常,您可以使用视频压缩算法(例如H.264)将图像编码为视频,并使用音频压缩算法(例如AAC)来编码音轨。然后,您可以将这些流写入容器文件,例如MPEG-4文件,该文件交错流以进行回放,包含元数据和索引等。然后进行播放,解析文件,解码视频和音频数据,并安排播放,注意保持同步。

QuickTime为您完成所有这些(以及更多),并且自己编写这一切将是一项艰巨的任务。是否有某些原因导致您在OS X上运行但无法使用QuickTime?

鉴于问题是用iPhone标记的,为什么不能只使用QTKit?

如果您必须从头开始,您可以采用一种非常简单的解决方案,将图像序列存储为一组JPEG文件(但是您需要libjpeg;如果您使用原始RGB或PPM必须),音轨作为原始WAV数据,然后有另一个存储时间信息的文件(你定义的文本文件),所以你只需流出音频,并将图像的帧号与其对应的存储时间码/样本偏移量。这是一个非常简单的解决方案,可以毫不费力地工作。

如果你让我们更多地了解你想要达到的目标,我们可以提供一些更具体的建议。

答案 1 :(得分:0)

如果要编写程序来执行此操作,可以使用Java中的Xuggler来执行此操作。它允许您以几乎所有媒体播放器都可播放的格式保存您的最终视频。

首先了解视频文件(例如MP4,Quicktime)如何通过此Overly Simplistic Guide to Internet Video实际表示音频和视频。

然后,使用MediaTool tutorials。您可以编写将原始图像制作成视频文件的程序(请参阅此sample code)。最后,要编写一个使音频和视频同步的程序,请参阅this tutorial;它会生成一组图像,并会产生一些音频噪音,当球撞到一个盒子边缘时,它会随时改变。

希望有所帮助。

技术