Flash大师:同步Flash视频,读取FLV元数据,使用Icecast
有一个Flash视频问题? 让闪电侠大师斯特凡·里希特来帮你. 在这个月度系列中,Richter将回答由StreamingMedia发送的Flash问题.Com阅读器或来自 流媒体论坛.
里希特是 Muchosmedia这是一家总部位于英国的软件公司,专门从事富互联网应用. 该公司为包括ITV在内的国际客户群服务, 联合利华, 泰特现代美术馆, 最近推出了它的第一款产品, Scribblar这是一种在线协作工具,在电子学习社区很受欢迎. 里希特还维护着他的个人博客 FlashComGuru.
Stefan这个月的第一个问题来自
乔纳斯:
嗨,所有. 有什么技巧可以让两个flv同步播放吗? 我以前用SMIL/QT/Real做过,但找不到任何好的Flash解决方案.
简短的回答是:不. 抱歉,Stefan说,但是Flash构建中没有任何东西允许你这样做. 创建同步系统很困难,而且也不那么可靠. 如果flv需要完全精确的同步, “那我就说不用麻烦了,斯特凡回答.
如果你的视频文件很短,你只需要它们大致对齐, 您可以使用渐进式下载. 浏览器是否预先加载了两个视频,然后同时启动它们. “在这种情况下,他们将相当好地同步,”斯特凡说.
但是预加载文件并不总是实用的,特别是对于较长的文件. 如果需要使用流文件,答案就会变得混乱. 在播放过程中,一个视频可能会暂停以进行缓冲,从而要求另一个视频也停止. 这会给观众创造一个明显的中断. 您还必须删除让查看者跳过的控件.
Stefan说他从来没有见过一个同步FLV文件的好例子,他见过很多Flash. 这是一个经常出现的问题, 他说, 但要真正发挥作用,它需要是一个内置功能. 服务器上需要一些东西来保持两个视频同步. 他很确定Adobe之前就提出过这个功能要求, 所以也许有一天他们会实现它.
我们的第二个问题来自 jgarniss:
如果可能的话,我更喜欢使用Java, 但读取FLV文件中包含的元数据的最佳方式是什么?
这是个有点奇怪的问题, 斯蒂芬说, 因为他不确定你是想在客户端还是服务器端读取数据.
在客户端,使用ActionScript读取元数据很容易. 当视频开始时, 它会触发一个名为onMetaData的事件,其中包含该视频可用的所有元数据. 这通常用于布局视频播放器.
如果要执行服务器端操作,则需要使用Java. Stefan并不精通Java,但他建议您看看这个 Python代码 然后用Java重写.
我们本月的第三个也是最后一个问题同样来自 jgarniss:
完全是新手, 但我正在尝试了解与Icecast一起传输Flash封装流的最佳方式. 如果我听起来很笨,那我离笨也不远了!
有人愿意解释a)这到底是什么,b)如何实际做到这一点,使Flash视频流? 我希望使用FLV作为音频数据的格式,但仍然能够发送数据给播放器,这样我们就可以触发客户端的特定数据.
如果我没说清楚的话, 这也是我问这些问题的原因之一, 好让我搞清楚.
稍微澄清一下是受欢迎的. Stefan说,这个问题缺少的是海报想要表达的意思. 如果他想流式传输Flash视频,他可以使用Flash流媒体视频提供商之一. 然而,很难说出目标是什么. 再写一次,jgarniss,多说一些你的项目. 你要流式传输什么样的数据,你要创建什么样的触发器?
提交您的Flash视频问题到 流媒体的格式、编解码器和播放器论坛,或直接寄给作者 tdreier@ecohomemade.com
相关文章
在本月的分期付款中, 斯特凡•里希特处理关于发布带有DVR选项的流的问题, 使用HTTP直播, 制作一个虚拟视频捕捉设备.
12月16日