2017-10-07 111 views
0

我需要的是能够将服务器本地文件上的视频发送到客户端。我无法创建静态的“视频”文件夹,因为这些视频只能暂时使用,这意味着我将拥有动态视频。如何使用NodeJS流式传输.m4v视频

那么,如何从服务器获取文件可播放的.m4v视频文件(如果我知道路径),并将其发送到angular.io客户端播放

+1

会'sendFile'你需要什么? https://expressjs.com/en/4x/api.html#res.sendFile – skirtle

回答

0

这里有一个简单的解决方案:

在服务器侧:

app.get('/video', function(req, res) { 
    const path = 'assets/sample.m4v' 
    const stat = fs.statSync(path) 
    const fileSize = stat.size 
    const head = { 
    'Content-Length': fileSize, 
    'Content-Type': 'video/mp4', 
    } 
    res.writeHead(200, head) 
    fs.createReadStream(path).pipe(res) 
}) 

在客户端(HTML):

<video id="videoPlayer" controls> 
    <source src="http://localhost:3000/video" type="video/mp4"> 
</video> 

也许你应该设置不同的媒体类型,如video/x-m4v而不是video/mp4。

Source link