为MP4视频添加效果?

时间:2009-12-06 02:02:35

标签: iphone c objective-c video mp4

我想为MP4视频做几件事,但我不知道从哪里开始。

我想做的一些事情:
- 将视频的颜色更改为Black&白色,棕褐色等。
- 添加动画,例如淡入,淡出,自定义图像/文本移动
- 将文字嵌入视频

基本上,视频编辑程序的基本功能。

我是否可以使用代码库为MP4视频执行这些操作?或者我可以阅读的某个地方开始使用?我似乎无法找到任何关于此的信息,尤其是MP4的格式。

我想我需要为视频的每一帧应用某种RGB转换以获得色彩效果,并且可能会将我想要的动画视频添加到MP4视频中。

编辑:非常感谢信息人员。我试图通过程序BTW来做这个。 FFmpeg仅用于视频转换,因此不能完全满足我的需求。 Puffadder为我提供了必要的信息,让我了解该怎么做。无论如何,非常感谢大家!

4 个答案:

答案 0 :(得分:3)

Shervin,

MP4不是视频格式。这是一个容器。它们是有区别的。因此,当您说“MP4视频”时,您在技术上是不正确的。容器(例如MP4,Matroska,AVI等)只是将几个多媒体和/或文本流包含在一个文件中,容器的“格式”只是指定了这些流存储到容器文件中的方式而没有任何内容。关于里面的“视频”。要找出MP4文件中有哪些流,您需要一个像“mp4box”这样的工具。它将为您提供有关多媒体流的信息,并允许提取这些流。为此目的考虑“yamb”。

AFAIK,ffmpeg是一种编码/解码工具,而不是视频编辑器。所以我认为它不适合你的工作(除非你需要做一些视频格式转换)。

关于MP4的格式,它是ISO / IEC 14496-14规范,不是免费提供的。我觉得你也不需要它。只需使用yamb从MP4文件中提取视频并找到视频编辑库。

答案 1 :(得分:1)

我也会推荐FFMPEG,我已经习惯了它在实时mp4视频流上执行运动检测和运动概述,需要一些思考,但我的过程是,将帧解压缩为原始RGB或YUV数据,检查使用比较算法的数据,然后使用边缘检测算法(针对我的情况优化)标记具有特定颜色(红色)的“移动”像素。获得已处理的原始数据后,可以使用FFMPEG即时重新压缩它。您甚至可以使用FFMPEG将数据存储到文件中,也可以使用live555通过网络传输数据。如果您决定使用live555流式传输数据,那么您将能够使用vlc或任何其他具有rtsp功能的媒体播放器连接到流(并下载它)。

答案 2 :(得分:0)

ffmpeg是视频转换的家喻户晓的名称,包括MPEG-4。我不知道它是否具有客观C绑定,但如果有,我不会感到惊讶。

答案 3 :(得分:0)

如果您使用的是Mac(而不是iPhone)并且拥有Core Video和Core Image,我相信您可以使用Core Image过滤器完成任务。

一个好的起点似乎是Core Video Programming Guide

您还可以使用Quartz Composer并以图形方式设置管道。然后你可以从代码中加载和使用它。