iOS中的交互式视频:是否可以通过点击视频中的离散部分来触发代码中的特定操作?

时间:2013-02-06 18:05:17

标签: ios animation video-streaming http-live-streaming

我问这个是因为我无法在任何地方找到答案,至少使用我能想到的关键词。 我发现的最相关的问题/答案是:(Create interactive videos in iPad - An app for product demo)。用户Jano回复说:

  

为iOS创建交互式视频的最简单方法是使用Apple的HTTP直播流技术。您必须创建视频,嵌入元数据,使用MPMoviePlayerController或AVPlayerItem播放它,然后显示可点击区域以响应元数据通知。

     

元数据应包含您要跟踪的元素的坐标,例如:连衣裙和产品的标识符。您可以使用可点击的子视图覆盖此信息,该子视图显示有关产品的更多信息。在iTunes中有几种​​这样的应用程序,这里有一个。

     

一旦你获得了一个工作产品和几周的视频,最困难的部分是用尽可能少的人机交互来进行运动跟踪。一种方法是使用Adobe After Effects,另一种方法是基于OpenCV编写自己的解决方案。

我发现有关此技术的示例(http://vimeo.com/16455248)显示当视频到达嵌入的元标记时自动添加NSButton。我的客户想要一个在特定时间暂停的人体交互式视频(可能使用元标签)并对用户点击视频中的元素做出反应(例如:想象一下胃内的药丸;点击这个药丸之后它会触发另一个预先渲染视频,以一种对用户不透明的方式)。我已经考虑过使用Cocos2D或Open GL ES的动画,但我缺乏掌握这些技术的人。

我不太明白上面引用中的“运动跟踪”参考。 Jano提到了Adobe After Effects和OpenCV。这种运动跟踪就像一个“UIGestureRecognizer”?它是否跟踪视频本身的部分内容或用户发起的动作,如点击?

我希望我能以最清晰的形式揭露这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这个问题已有一年了,但我可以让您深入了解After Effects问题。 AE具有可以在视频帧中定义区域的功能,软件将在时间轴上跟踪该区域,以特定间隔记录坐标。例如,在骑山地车的人的视频中,您可以选择头盔周围的区域,AE将在整个时间线中记录头盔的坐标。

由于Flash是交互式视频的最可能目标,因此典型的工作流程会将此坐标数据编码为Flash视频作为提示点事件(这是我亲身经历过的唯一方法)。根据一些谷歌搜索,数据存储在关键帧中,可以使用脚本提取。

更多信息:http://helpx.adobe.com/after-effects/using/tracking-stabilizing-motion-cs5.html

这是manual method for extracting the data

  

在时间轴面板中选择素材,然后按U键全部   跟踪点关键帧将出现。这是魔术,选择   每个跟踪点的功能中心属性并将其复制(适用于Mac的Cmd + C.   或者Ctrl + C for PC)

     

现在打开任何文本编辑器,如TextMate或Notepad并粘贴   数据(Mac的Cmd + V或PC的Ctrl + V)