[英]NodeJS piping with ffmpeg
我想在屏幕上使用ffmpeg,nodejs和html5进行HTTP直播。 我希望它尽可能实时。 但是,我发现客户端收到的视频落后了1到2秒钟(在Chrome / Chromium上)。 我正在使用vp8 / webm作为我的编解码器。
我已经消除了以下因素:
1)网络:我已尝试通过将视频源指定为127.0.0.1:PORT或localhost:PORT来尝试在本地提供和接收视频文件
2)ffmpeg编码速度:我试图在本地输出文件,但“延迟”似乎可以忽略不计。
3)Chrome内部缓冲区。 缓冲被认为是0.07s〜0.08s。
在nodeJS端,我有一个子进程,它运行ffmpeg命令,并执行ffmpeg.stdout.pipe(res);。 <-ffmpeg是child_process.spawn(...)
因此,似乎nodejs的ffmpeg.std.pipe(res)似乎是延迟视频流的那个。 我是否可以这样假设? 无论如何,我可以减少延迟吗?
转到WebRTC无需实现任何编解码器,管道等(已在chrome,opera,firefox中使用)
用途:MediaCaptureAPI(访问您的cam和mic并将对象转换为URL,默认情况下它们使用vp8编解码器等)
RTCPeerconnectionAPI(发送和接收媒体流p2p)
RTCDatachannelAPI(使用p2p发送和接收数据)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.