【问题标题】:How to stream video OR send a video file如何流式传输视频或发送视频文件
【发布时间】:2014-02-03 09:14:08
【问题描述】:

我正在开发一个网络应用程序,它能够直播或至少发送两个用户都可以同时访问的视频文件。 我正在使用 HTML5 和 node.js

【问题讨论】:

    标签: html node.js video streaming live-streaming


    【解决方案1】:

    这是一台linux机器吗?我会推荐 ffmpeg 的 ffserver 用于流式传输。它为您提供了许多配置选项,并在我的机器上运行稳定。像这样,您可以将流媒体源转换为播放器所需的格式。

    【讨论】:

    • 不,我正在使用 Windows,但我想在跨平台上开发它,因为我是新手,请详细介绍一下 ffserver
    • 嗨,我猜 ffserver 不适用于 Windows。但是您也可以查看使用 python 的code.google.com/p/rtmplite
    【解决方案2】:

    我们可以做一件事,而不是流式传输 如果您有服务器计算机,则将该音频/视频上传到该服务器计算机上。 您可以在 formidable module 的帮助下上传 Node.js。

    由于 HTML5 允许视频和音频,因此不需要 Flash 播放器,只需确保音频/视频在所有浏览器中都兼容(对于视频,mp4 在所有主要浏览器中都可以使用查看此链接以获取有关HTML Videos 的更多信息)。并在上传后从服务器发送命令(视频位置)到所有客户端,这些客户端在 javascript 中从所需位置播放视频

    <html>
      <body>
        <video id='videoPlayer' width="320" height="240" controls="controls">
           <source id='mp4Source' src="movie.mp4" type="video/mp4" />
           <source id='oggSource' src="movie.ogg" type="video/ogg" />
        </video>
    
    <!-- You MUST give your sources tags individual ID's for the solution to work. -->
    
        <script>
    socket.on('videoLocation',function(data)
    {playVideo(data);});
    
    function playVideo(location){
    
          var player = document.getElementById('videoPlayer');
    
          var mp4Vid = document.getElementById('mp4Source');
    
          player.pause();
    
          // Now simply set the 'src' attribute of the mp4Vid variable!!!!
          // (...using the jQuery library in this case)
    
          $(mp4Vid).attr('src', location);
    
          player.load();
          player.play();
    }
        </script>
      </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 2020-05-16
      • 2018-05-04
      • 2020-08-31
      • 1970-01-01
      相关资源
      最近更新 更多