音视频付费资源保护,利用 WebRTC 从服务端点对点播放资源

2023-02-24 17:14:03 +08:00
 suke119

实现效果

1.可以直接从服务端指定的目录读取视频资源,可以当作付费资源的一种点播方式。 2.客户端摄像头流直接发送到服务端,然后再回传,利用此种思路可以解决换脸,人脸服务端验证、服务端特效等等。

源码

Github 源代码

2340 次点击
所在节点    分享创造
25 条回复
adrianzhang
2023-02-25 00:18:08 +08:00
播放时用 IDM 啥的没法下载么?
suke119
2023-02-25 10:05:05 +08:00
@adrianzhang 都没法下载的,这玩意就是一点点传输过来的实时视频 你可以想像成我们视频聊天,这个视频
okakuyang
2023-02-25 11:30:58 +08:00
前端改一下代码就可以拿到视频了
suke119
2023-02-25 11:51:01 +08:00
@okakuyang 拿不到的,除非全部播放完录制;否则视频是从服务端点对点过来的,实时传输,前端没有存也无法直接获取
haoxuexiaoyao
2023-02-25 11:52:45 +08:00
怎么部署呢
suke119
2023-02-25 12:14:54 +08:00
@haoxuexiaoyao 下载源码直接 然后安装依赖 直接启动即可,服务器上也是一样,然后 nginx 代理出来
jabari
2023-02-25 16:59:58 +08:00
怎么解决录屏
suke119
2023-02-25 17:16:02 +08:00
@jabari 这个暂时控制不了的
maggch97
2023-02-25 17:21:43 +08:00
没太懂,进度是不是能拖?
suke119
2023-02-25 19:35:21 +08:00
@maggch97 是的 进度没法拖动 实时就跟你和别人视频通话一样
flyqie
2023-02-26 10:49:18 +08:00
你知道 音视频付费资源保护 为什么基本没有 webrtc 方案吗?

就是因为兼容性,灵活性。

资源占用问题先不谈,拖动进度理论上来说走 datachannel 发送时长也不是不能用。
flyqie
2023-02-26 10:52:03 +08:00
@flyqie #11

没写完就提交了。。

最大的问题还是在于 webrtc 的架构没办法走 cdn ,也没办法做任何的缓存,这在实际应用中非常麻烦。
suke119
2023-02-26 14:04:51 +08:00
@flyqie 我知道呀 这个只是一种方案,公有化资源确实离不开 cdn ,但是私有化资源是可以不依赖的,特殊付费资源占比是少部分的。而且就是因为不走 cdn 才推荐的这种方案,如果有 cdn 最佳的无疑是 HLS 。流媒体服务器的性能和宽带本身就优于普通服务器,所以我的想法是尽可能的中间避免走太多的东西,不要浪费流媒体服务本身的资源
e190sniper
2023-03-01 09:31:05 +08:00
请教 楼主 一个问题,如果要搭建 视频点播网站,要能拖动进度的,是不是只有 m3u8 的方式?
但是 如果一个视频转成 HLS ,要几乎跟原视频差不多的硬盘空间了。
lakehylia
2023-03-01 09:34:12 +08:00
前端没有存,但是抓包可以抓到音视频包吧?
suke119
2023-03-01 09:51:23 +08:00
@e190sniper 通过 webrtc 看 11 楼的,datachannel 也是可以实践的,比如拖动将时间发送到后台,然后后台 seek 到指定的时间在播放
suke119
2023-03-01 09:52:11 +08:00
@lakehylia 陆陆续续的抓包,相当于纯前端录制,也就是你要不停的写个脚本了,播放到哪里抓包到哪里。
Rrrrrr
2023-03-01 11:14:26 +08:00
video 标签不是有个属性可以被录制
yuanxing008
2023-03-01 11:14:58 +08:00
webRTC 印象中 18 年研究的时候是支持 cdn 的
suke119
2023-03-01 11:45:37 +08:00
@yuanxing008 我的印象中这玩意本身不支持的,毕竟点对点的 RTP 包,在直播场景中结合 CDN 改造的,一般是 RTMP 、RTSP 服务端顶层然后到边缘节点之间的 CDN ,然后边缘节点到客户端从 RTMP 、RTSP-》 WebRTC 点播

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/918940

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX