- 安装
node和yarn yarn install安装依赖
原理:
Webcam -> recorder.html -> Node.js -- websocket -> receiver.html
- 使用 OBS Studio ,启动虚拟摄像机,或使用笔记本自带的 Webcam
- 启动
node server.js服务后,打开网页 - 打开
recorder.html,把模拟摄像头作为视频流通过 websocket 发送给 Node.js - 打开一个新页面
receiver.html,浏览器连接 ws 后,用mediaSource解码视频流,并播放
需要安装 ffmpeg
原理:mp4 file -> FFmpeg -- TCP -> Node.js -- WebSocket -> Receiver
- 启动
node server-tcp.js服务 - 打开前端网页:
tcp-ws-receiver.html - 运行:
.\ffmpeg.exe -re -stream_loop -1 -i sd.mp4 -vcodec libvpx -b:v 3500k -r 25 -crf 10 -quality realtime -speed 16 -threads 8 -an -g 25 -f webm tcp://localhost:9090开始推流
- 客户端在第一次读取的推流的第一部分才能正常播放,否则,刷新或在推流的中途打开客户端,则无法正常播放,会报错:
SourceBuffer error- 待解决,猜测是以下原因:
- WebM 容器格式需要正确的头部信息(initialization segment)才能开始解码
- 判断是否是I帧,只有关键帧才能播放
基于 libffmpeg_264_265 的视频裸流(raw stream)播放器