关于如何创建和显示 YouTube 注释的工作原理的技术解释?
我很快将开始开展一个涉及在视频中使用实时注释的学校项目。我真的很喜欢 YouTube 注释系统的工作方式,并且非常想了解他们是如何创建它的。更具体地说,弄清楚如何重现其功能的主要组件。
如果您展开要点,此链接将涵盖注释的高级功能。 http://www.google.com/support/youtube/bin /answer.py?answer=92710
有人能够提供有关创建和显示注释的系统如何工作的技术解释吗?(例如,数据库存储某个注释的开始时间)注释、注释的结束时间、注释的文本块,以及注释的唯一数字标识符当视频到达注释的开始时间时,它会显示到结束时间。)
更具体地说,有人知道使用什么工具来创建这个系统吗?是使用了flex还是纯粹用flash professional之类的东西完成的?
我发现很难阅读有关注释的任何技术细节。 YouTube ActionScript 3.0 api 文档未提及注释
http://code.google.com/ apis/youtube/flash_api_reference.html
非常感谢
I will soon begin working on a school project that involves the use of real-time annotations in videos. I really like the way youtube's annotation system works and am really curious to learn how they created it. And more specifically, figuring out how to reproduce the main components of their functionality.
If you expand the main points, this link covers a high level of what's possible with annotations.
http://www.google.com/support/youtube/bin/answer.py?answer=92710
Would anyone be able to provide a technical explanation of how this system of creating and displaying annotations works? (Ex. A database stores the start time of an annotation, the end time of an annotation, the text block of the annotation, and a unique numeric identifier for the annotation. When a video reaches the start time of an annotation it's displayed until the end time.)
More specifically does anyone know what tools were used to created this system? Was flex used or was it done in purely in something like flash professional?
I found it difficult to read up on any technical details about annotations. The youtube actionscript 3.0 api documentation doesn't mention annotations
http://code.google.com/apis/youtube/flash_api_reference.html
Thanks much
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,使用什么开发环境并不重要,但我建议在 FlashBuilder/Flex 中进行任何类型的高级 Flash 开发。
其次,YouTube api供第三方开发者访问YouTube平台的功能,您不会找到任何有关YouTube产品如何开发的特殊隐藏信息。
无论如何,让我们看看注释是如何工作的。
它们需要由最终用户创建,因此需要有一个宽容的、易于使用的创建/编辑方法。
需要在每个视频被请求时快速提供它们,因此包含注释元数据的结构化文本文件是最合适的(XML 可能是由于 Flash E4X 技术,或者 JSON,因为有足够的 JSON也有 Flash 的库。)这些结构化文本文件可能存储在数据库中(可能是 NoSQL 类型的解决方案。)
是 NoSQL 类型的 解决方案)。数据,您需要一个开/关提示、坐标、样式、消息文本,也许还需要一个点击链接。使用 YouTube 视频注释器并记下添加/编辑注释时可以执行的所有操作,然后您将获得元数据需要存储的所有内容的列表。
Flash 视频允许使用嵌入在 FLV 中的提示点,因此这些提示点可用于链接到自定义元数据,并在该特定提示的坐标/样式/文本中显示适当的注释。同样,当提示点对应于注释的提示关闭时,我们可以将其从显示中删除。
这是一个相当基本的概述,请对您希望我扩展的内容发表评论,而且我不会涵盖 YouTube 实现不同类型注释的所有可能方式,例如语音气泡;忽略已关闭注释的提示关闭;聚光灯等,但是当您构建一个简单的注释系统时,您可以忽略第一个版本的这些额外细节。
参考资料:
其他参考:
First off, it won't matter what development environment was used, but I'd recommend doing any sort of advanced Flash development in FlashBuilder/Flex.
Secondly, the YouTube api is for third-party developers to access features of the YouTube platform, you won't find any special hidden info about how the YouTube product has been developed.
Anyway, let's have a look at how annotations work.
They need to be created by end-users, so they need to have a forgiving, easy to use creation/edit method.
They need to be quickly provided for each video when it's requested, so a structured text file containing the meta data for the annotations is the best fit (XML perhaps due to the Flash E4X technology, or JSON, since there are adequate JSON libs for Flash too.) These structured text files are probably stored in a database (likely a NoSQL type solution.)
As for the format of the meta-data, you need an on/off cue, coordinates, style, message text, and perhaps a click-through link. Use the YouTube video annotator and make a note of all the things you can do when adding/editing annotations, then you have a list of all the things that the meta-data needs to store.
Flash video allows the use of cue points embedded in the FLV, so these can be used to link to the custom meta-data and display the appropriate annotation in the coordinate/style/text for that specific cue on. Similarly, when a cue point that corresponds to an annotation's cue-off, we can then remove it from the display.
This is a fairly rudimentary overview, leave a comment for things you want me to expand on, also I'm not covering every possible way that YouTube implements it's different types of annotations, for example, speech bubbles; ignoring cue-close for annotations which have been closed; spotlights etc etc, but when you are building a simple annotation system you can ignore these extra details for your first version.
References:
Additional references: