如何从JavaScript加载hrc5视频标签中的src?

时间:2012-10-24 21:42:12

标签: javascript jquery jquery-plugins html5-video html5-canvas

这是事情,我正在使用ASP.NET,我正在使用这个特殊的SignalR库向我的客户端广播视频,但据我所知,我无法流式传输视频因为signalR是一个消息系统而且它不是为了流式传输视频,文件或类似内容。

现在我要做的是将视频拆分为Base64编码为字符串的缓冲区,然后在客户端上我尝试将其加载到视频标记源中。

在这里,我向您展示我在客户端所做的事情:

HTML代码:

<video id="myVideo">
   <source id="video_source">
</video>

Javascript代码:

 //here somehow I am getting the string with the base64-encoded video
 function playVideo(message) {
          var myVideo = document.getElementById("myVideo");
          var mySource = document.getElementById("video_source");
          mySource.setAttribute("src", getEncodedVideoString("mp4", message));
          myVideo.load();
          myVideo.play();         
      };

  // here I am formatting and concatenating the string for my source attribute 
  function getEncodedVideoString(type, message) {
        return 'data:video/' + type + ';base64,' + message;
    }

嗯,你可以看到,目前我面临的情况有点奇怪,但我已经在客户端上编码了视频,现在我只需要找到重现该视频的方法。

以下是我的问题出现之前,有没有人做过这样的事情,或者你有任何想法或建议去做?

1 个答案:

答案 0 :(得分:2)

感谢一个有趣的问题;它以前从未想过,但似乎确实有可能。 Ian Devlin解释了如何使用Data URIs with HTML5 media,包括视频 - 还包括working example

我看到的唯一区别是type标记添加了<source>属性;如果添加这个不起作用,你确定你的编码是正确的吗?当你尝试时会发生什么,你有任何错误吗?