代码之家  ›  专栏  ›  技术社区  ›  F4LS3

NodeJS Express视频流服务器,服务器控制范围

  •  0
  • F4LS3  · 技术社区  · 4 年前

    所以我目前没有任何代码,但这只是一个一般性的问题。我看过多篇文章和SO Questions处理这个问题,除了在所有这些文章中,字节范围标头(本质上指定视频的哪个时间段发送回客户端)也是由客户端指定的。我希望服务器跟踪当前视频位置,并将视频流式传输回客户端。

    我看到的文章和SO问题可供参考:

    https://blog.logrocket.com/build-video-streaming-server-node/

    Streaming a video file to an html5 video player with Node.js so that the video controls continue to work?

    0 回复  |  直到 4 年前
        1
  •  1
  •   Tyler2P Suraj Mandal    4 年前

    以下是一个不需要显式更改 <video> 标签 src 请求或控制从服务器传输的字节范围。

    视频元素有一个名为 currentTime (以秒为单位),允许客户端控制其自己的范围标头。向服务器单独请求“currentTime”的初始值将允许服务器控制视频的开始时间。

    <video id="video"><source src="/srcendpoint" muted type="video/mp4" /></video>
    
    <script>
      const video = document.getElementById("videoPlayer")
      getCurrentSecAndPlay()
        
      async function getCurrentSecAndPlay() {
        let response = await fetch('/currentPosition').then(response => response.json())
        video.currentTime += response.currentSec
        video.play()
      }
    </script>
    

    这是一种模拟直播行为的变通解决方案。也许这对你来说已经足够好了。我对HLS和RTMP没有太多的知识,但如果你想制作一个真正的直播,你应该学习这些东西。

    来源:

    推荐文章