将视频流从NodeJS实时发送到python

时间:2021-06-17 07:07:44

标签: python node.js ffmpeg webrtc mkfifo

我正在使用 NodeJS 服务器通过 WebRTC PeerConnection 捕获视频流,我需要将其发送到 python 脚本。

我使用 NodeJS 主要是因为它很容易在其中使用 WebRTC,并且包 'wrtc' 支持 RTCVideoSink 而 python 的 aiortc 不支持。

我正在考虑使用带有 ffmpeg 的命名管道来流式传输视频流,但出现了 3 个问题:

  • 我应该使用 python 而不是 NodeJS 并完全避免通过命名管道部件的流吗? (这意味着有一种方法可以从 python 中的 MediaStreamTrack 中提取单个帧)

  • 如果我坚持使用“NodeJS - Python”方法,我该如何将流从一个脚本发送到另一个脚本?命名管道 ? Unix 域套接字 ?还有 FFMpeg 吗?

  • 最后,出于性能考虑,我认为发送流而不是每个单独的帧更好更简单,但这是真的吗?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

最后发现Python的aiortc的MediaStreamTrack API有recv()

这是一个返回下一帧的协程。所以我将使用这个协程将我的 NodeJS 脚本移植到 python 来替换 RTCVideoSink。没有管道或任何东西!