提问人:Stany Ganyani 提问时间:11/16/2023 更新时间:11/16/2023 访问量:12
如何将节点 .js 服务器上的视频流式传输到浏览器上的视频元素
How to stream a video on a node.js server to a video element on the browser
问:
l 在 node 中使用流,然后从服务器的字符串在客户端创建一个视频 blob,然后设置视频 src 并加载视频。问题是视频播放器显示一个加载微调器并消失,并且没有显示任何视频。这是一个代码片段,用于将字符串转换为 blob 并将其设置为在 video 元素上播放createReadStream(pathToVideoFile).pipe(res)
res.data
URL.createObjectURL(videoFile)
res.data
const Video = (props) => {
if(props.video !== '') {
// File
let videoFile = props.loading?new Blob([props.video], { type : "video\/mp4" }):props.video
// Video element
const videoElement = document.getElementById(`${props.loading?'video-element-loading':'video-element'}`)
// Source element
const source = document.getElementById(`${props.loading?'video-source-loading':'video-source'}`)
// Create url to the video
const videoSrc = URL.createObjectURL(videoFile)
// Set src
source.setAttribute("src", videoSrc)
// Load video
videoElement.load()
// URL.revokeObjectURL(videoFile)
}
}
export default Video
当 l 检查网络选项卡时,blob 文件的大小为 0MB,但响应标头(尤其是 Content-Length 标头)的有效值大于 0。如何在浏览器上成功流式传输视频
答: 暂无答案
评论