繁体   English   中英

带有ffmpeg的NodeJS管道

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM