Iphone 为MP4视频添加效果?

Iphone 为MP4视频添加效果?,iphone,c,objective-c,video,mp4,Iphone,C,Objective C,Video,Mp4,我想对MP4视频做几件事,但我不确定从哪里开始 一些我想做的事情: -将视频颜色更改为黑白、深褐色等。 -添加动画,例如淡入、淡出、自定义图像/文本移动 -在视频中嵌入文本 基本上,视频编辑程序的基本功能 有没有一个代码库,我可以用来做这些MP4视频?或者在某个我可以开始阅读的地方?我似乎找不到任何关于这个的信息,特别是MP4的格式 我在想,我需要对视频的每一帧应用某种RGB转换以获得颜色效果,并可能将我想要的动画视频附加到给定的MP4视频中 编辑:非常感谢大家提供的信息。顺便说一句,我正试图通

我想对MP4视频做几件事,但我不确定从哪里开始

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

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

有没有一个代码库,我可以用来做这些MP4视频?或者在某个我可以开始阅读的地方?我似乎找不到任何关于这个的信息,特别是MP4的格式

我在想,我需要对视频的每一帧应用某种RGB转换以获得颜色效果,并可能将我想要的动画视频附加到给定的MP4视频中

编辑:非常感谢大家提供的信息。顺便说一句,我正试图通过编程来实现这一点。FFmpeg仅用于视频转换,所以这并不能完全满足我的需要。Puffadder为我提供了必要的信息,让我明白该怎么做。无论如何,谢谢大家

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

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

谢尔文

MP4不是视频格式。它是一个容器。这是有区别的。因此,当你说“MP4视频”,你是技术上不正确的。容器(例如MP4、Matroska、AVI等)仅将多个多媒体和/或文本流包含到单个文件中,容器的“格式”仅指定这些流存储到容器文件中的方式,而与其中的“视频”无关。要了解MP4文件中有哪些流,您需要一个类似“mp4box”的工具。它将为您提供有关多媒体流的信息,并允许提取这些流。为此考虑“YAMB”。

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

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

谢尔文

MP4不是视频格式。它是一个容器。这是有区别的。因此,当你说“MP4视频”,你是技术上不正确的。容器(例如MP4、Matroska、AVI等)仅将多个多媒体和/或文本流包含到单个文件中,容器的“格式”仅指定这些流存储到容器文件中的方式,而与其中的“视频”无关。要了解MP4文件中有哪些流,您需要一个类似“mp4box”的工具。它将为您提供有关多媒体流的信息,并允许提取这些流。为此考虑“YAMB”。

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


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

如果你在Mac(而不是iPhone)上,并且有核心视频和核心图像,我相信你可以使用核心图像过滤器来完成这项任务

一个很好的开始似乎是


您还可以图形化地使用和设置管道。然后你可以从代码中加载和使用它。

如果你在Mac(而不是iPhone)上,并且有核心视频和核心图像可用,我相信你可以使用核心图像过滤器来完成这项任务

一个很好的开始似乎是


您还可以图形化地使用和设置管道。然后您可以从代码中加载和使用它。

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

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

这实际上是针对iPhone项目的,因此不幸的是核心视频不可用:(好的,用iphone重新标记。这实际上是一个iphone项目,不幸的是核心视频不可用:(好的,用iphone重新标记。我明白了,这非常有帮助。谢谢。我想我现在明白了方向。因为我试图用代码来做这件事,我可能会想用MP4Box来提取视频流。但是,看起来