Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MediaSourceAPI和mp4_Javascript_Html_Api_Video_Streaming - Fatal编程技术网

Javascript MediaSourceAPI和mp4

Javascript MediaSourceAPI和mp4,javascript,html,api,video,streaming,Javascript,Html,Api,Video,Streaming,我遵循了Html5Rocks.com的示例,即使用MediaSource API和.webm视频。我用另一个.webm视频尝试了这个例子,但当我用.mp4视频尝试时,它不起作用。有可能吗?更新:现在支持MP4-DASH。 在Chrome的媒体源API实现中还不支持MP4 我们计划增加支持,但几个月内不会完成。我们目前的重点是更新现有的实现,以匹配W3C最近提出的新版本 您可以通过查看Chrome Dev/Canary中的MP4(或更正式的ISO BMFF)支持更新来了解实现升级的进度。您需要以

我遵循了Html5Rocks.com的示例,即使用MediaSource API和.webm视频。我用另一个.webm视频尝试了这个例子,但当我用.mp4视频尝试时,它不起作用。有可能吗?

更新:现在支持MP4-DASH。


在Chrome的媒体源API实现中还不支持MP4

我们计划增加支持,但几个月内不会完成。我们目前的重点是更新现有的实现,以匹配W3C最近提出的新版本

您可以通过查看Chrome Dev/Canary中的MP4(或更正式的ISO BMFF)支持更新来了解实现升级的进度。您需要以符合媒体源规范的方式生成MP4文件。幸运的是,媒体源是用MPEG-DASH编写的,因此任何符合DASH的文件都可以使用媒体源。GPAC/MP4Box是一个很好的工具:

MP4Box -dash 5000 -frag 5000 -rap some_file.mp4

…将创建“some_file_dash.mp4”,该文件应与媒体源兼容。在早期发布的MP4Box版本中存在一些bug,因此我建议现在从SVN构建。

正如@Steven所提到的,使用MP4Box创建虚线MP4文件,并尝试使用Chrome canary m23构建(启用媒体源api)。您需要注意以下事项:

  • 每个片段应有一个片段(
    -dash-frag
  • 该段应以SAP开头(
    -rap
  • 修改演示脚本,使其一段一段地追加。对于ISO BMFF,像webm那样拆分为大小相等的块不起作用。您可以使用MP4Box生成的mpd文件来了解各个段的大小

  • 要使用MSE在HTML5中播放,您需要基于JS的播放器实现,如开源播放器或

    您在哪些浏览器中尝试过?这个例子是专门针对Chrome的。他们的示例在您的浏览器中有效吗?您是否执行了此操作
    Support:目前,MediaSource API仅在Chrome Dev Channel 17+中可用,并设置了--enable media source标志或通过about:flags启用了该标志。
    是的,我在Chrome中尝试过。他们的示例有效,但仅适用于.webm。当我用.mp4修改视频时,它不起作用。我想问的是,它是否能与.mp4视频配合使用。我知道它只适用于Chrome,但它很好。在演示描述中,它说“这个演示使用文件API将一个.webm视频分割成块”-这是最前沿的东西,不要期望太多你得到不支持的错误,对吗?chrome中的媒体源api现在只支持.webm type.Yes。Steven在下面提到了MP4的支持。下面是关于
    --dash
    选项的一些文档: