【发布时间】:2021-09-20 02:12:00
【问题描述】:
我有一个 webrtc react 应用程序,用户可以在其中将他们的流同步到 youtube、facebook 等(如 restream.io)。
我想将两个流(屏幕共享和网络摄像头)作为一个视频(一半屏幕共享和一半网络摄像头,网络摄像头覆盖在屏幕共享上,视频顶部的字幕)发送,例如 studio.restream.io
一切正常,在画布上绘制流并使用 websocket 将数据管道传输到后端,在后端将其转码为 rtmp 并发送到 fb、yt 等(此方法仅适用于高端 PC)。
但是这种方法的唯一问题是当我在画布上绘制流时,它需要大量的 cpu 和浏览器挂起(只有在你有 gpu 时才有效)。
问题是如何优化这个?
我们是否需要后端服务来使用 ffmpeg 合并视频?要么 有没有办法在浏览器中做到这一点?
【问题讨论】:
-
需要记住的是,如果您将这些视频合二为一,您的屏幕共享视频的质量可能会受到影响。大多数时候,屏幕共享在高分辨率、低帧率下效果更好。网络摄像头在相反的情况下可以正常工作...分辨率较低,帧速率较高。
标签: javascript webrtc video-streaming media