是否可以通过 webrtc 或其他方式从浏览器发送大型视频文件大于 4 Gig并通过 HLS 或其他格式流式传输?

问题描述

我的问题是关于 HTML 方面的(通过 chrome 或 safari 等浏览器)...

**** 另一个主要问题是通过 4 Gig 发送文件时的 chrome / safari 限制 <input type="file" >

示例:https://obsproject.com/一个流媒体软件,您安装在桌面上,用于将来自相机或视频文件的视频流传输到 RTMP 端点....

但是是否可以这样做(发送预先录制的 .mov)并将其流式传输到服务器,然后该服务器“记录”它以使其在流式传输之后可用......就像使用 webrtc api浏览器并将其发送到多点控制单元 (MCU) 并记录或转换为 HLS .m3u8 格式...

在谷歌中挖掘让我发现了这个 https://webrtc.github.io/samples/src/content/capture/video-pc/ 该演示不起作用:(

••••• 我也发现了这个https://github.com/muaz-khan/FileBufferReaderfunction filebufferReader() {...

但是如何记录(从用户浏览器到另一个对等点,但另一个对等点可能是一个服务器,它接受这个“流”并重新组装它并执行 .m3u8 HLS 格式)?

解决方法

传送 4 GB 文件是有问题的 - 传送过程中的任何网络故障都可能导致问题。

OBS 将视频 RTMP 流发送到许多服务以“直播”,例如 Twitch、YouTube 等(我为 api.video 工作,我们赞助 OBS,可用于以这种方式直播)。

>

这些服务为您将 RTMP 流转换为 HLS,并将流交付给您的客户。

如果您有 4 GB .mov 文件 - 您也可以将其上传到服务以转换为 HLS 格式。但是 - 就像你说的,4Gb 可能有问题。我们的解决方法是使用 JavaSCRipt 中的 file.slice 将大视频拆分为可管理的块(在服务器上重新组装)。

我写了一篇关于如何做到这一点的博客文章: https://api.video/blog/tutorials/uploading-large-files-with-javascript

和现场演示(使用 api.video 后端):https://upload.a.video

道格