2012-07-23 48 views
1

我被告知Flash播放器需要将mp4(H.264)的元数据放置在开头的文件。闪存播放视频mp4(h.264)是否可行,元数据放置在文件末尾

我的问题是:是否有可能使用flash在http服务器端播放视频,而不更改元数据(元数据仍置于视频的末尾)。就我而言,要改变原始的mp4文件是非常困难的。

我是新来的闪光灯,所以我不知道它是否可行,我可以从哪里开始。我可以使用flash和C++或其他方法做到这一点吗?在这种情况下可以使用“NetStream appendBytes”吗?由于原始mp4相当大,我希望在下载视频文件的同时播放视频,而不是在完全下载后播放。

非常感谢你的帮助!

回答

0

该视频将播放,但只有在整个文件完成加载后。

您可以使用MetaData Mover来修复您的视频文件 - 它不会重新压缩视频,只是移动数据。

你的意思是'在服务器端播放视频'?将视频的每一帧作为图像发送给用户?

+0

谢谢你的回答。在我的情况下,我无法修改视频文件。所以MetaData Mover不适合我。我需要在客户端做一些动人的事情。视频位于服务器端,我(闪光灯)无法修改它。 – sky609 2012-07-23 15:27:29

+0

我不确定你想要做什么?如果你可以访问服务器上的文件(从你的问题,我假设你可以),为什么你不能重新上传视频文件?如果无法访问服务器,则无法选择,但让Flash播放器下载整个视频并在下载完成后播放。 – strah 2012-07-23 15:47:03

+0

是的,我无法重新上传视频。所以我唯一的选择是在客户端移动元数据。我希望我可以使用NetStream的appendbytes api来实现这一点。例如,我首先下载元数据原子,然后使用appendbytes使元数据正确初始化。之后,Flash会下载视频的其他部分。 – sky609 2012-07-23 23:05:06

0

也许appendBytes会工作,但据我所知,这不会缓存显示的信息,因此倒带或快进将无法工作(您也必须自己实现这一点)。你可能会做很多无关的工作,而且很可能会把你自己做的很多事情搞砸了......

我的意思是,你想要做的就像在一个笑话中,因为他在灯笼下丢了钥匙,因为它在那里更加光明,而不是在他实际失去的地方寻找钥匙。你真的应该移动元数据或使用现有的流媒体服务器(有些来自免费软件),而不是试图以这种方式修补问题,这会导致你做很多无关紧要的工作,最终可能会失败。

+0

谢谢你的回答。 (1)我发现可以首先使用“as3httpclient”的http range get来下载mp4文件的尾部。 (2)我很好奇OSMF是否可以解析mp4字节数组并将它们发送给NetStream(即:OSMF已经为我完成了那些辛苦的工作)?谢谢! – sky609 2012-07-24 12:23:17