1
3dwelcome 2022-07-11 15:00:27 +08:00 1
应该不行,浏览器对网络安全要求很严格,只允许访问 ws://或 wss://之类 http 封装过的前缀,不允许直接访问 rstp://加端口的 url 。
流的输入输出到时无所谓,wasm 处理的都是内存二进制数据。 |
2
3dwelcome 2022-07-11 15:03:17 +08:00
“输入输出都是以文件的形式放在内存访问”
这是第三方封装过的 indexedDB 额外库,比如 emscripten 自己写的库。 单纯的 wasm 没这些东西。demo 里用文件输入,也就是为了和传统的 C Api 进行对接。 |
3
andyskaura OP |
4
thinkershare 2022-07-11 15:10:21 +08:00 1
不明白你究竟想要做什么? 使用 ffmpeg 在客户端直接解码 rtsp 协议的流, 还是准备干嘛?
|
5
churchill 2022-07-11 15:11:19 +08:00
我想说任何在客户端硬解视频的都是流氓
不是你的第一行不是写着转 webrtc 么,那还需要什么客户端 ffmpeg |
6
thinkershare 2022-07-11 15:11:36 +08:00 1
浏览器是没法解析 rtsp 的, 我目前用的是 hls 的流, 延迟 1-3s, 用的 H265, 在浏览器上使用 ffmpeg 的 wasm 解码 H265, 大部分浏览器都不支持直接播放 H265.
|
7
thinkershare 2022-07-11 15:13:28 +08:00
@churchill 你这个说法, 我严重不同意, 针对互联网项目, 这样搞的确不大合适. 但政企很多项目, 在客户端直接好维护的多. 完全不需要搭建一套后端找人长期维护.
|
8
fgodt 2022-07-11 15:17:23 +08:00 1
wasm 是不能使用 tcp 建立 rtsp 连接的,网页上你还是只能 http 和 ws 建立连接
|
9
andyskaura OP @thinkershare 之前试过 hls 的 延迟 5s 以上,偶尔 10s ,后来放弃了,改用视频流 ts 切片,h264 延迟 0.5s 内。现在设备多了,想弄个中间件把所有输入都统一成 webrtc ,用它这一套成熟的体系。
|
10
andyskaura OP @fgodt 感谢 已经意识到这个问题了。
|
11
andyskaura OP @churchill 是想用 ffmpeg 将 rtsp 协议转 webrtc
|
12
churchill 2022-07-11 16:00:42 +08:00
@andyskaura
ffmpeg 干不了这事吧,最多转个 mpeg 用 websocket 输出? 我用过这个 https://github.com/deepch/vdk/tree/master/format/rtspv2 |
13
novolunt 2022-07-11 16:17:03 +08:00
|
14
twosix 2022-07-11 16:21:45 +08:00
@churchill 提供的 deepch 的方案里就有 rtsptowebrtc 的 demo 了,如果想做大批量的话可以参考下 SRS ,用 flv 的话延迟应该也能接受
|
15
thinkershare 2022-07-11 16:36:18 +08:00
@novolunt 你和我们说的不是一个东西, 而且根本不是解决问题的办法
|
16
zscself 2022-07-11 16:40:36 +08:00 1
感觉这个就符合需求:[ZLMediaKit]( https://github.com/ZLMediaKit/ZLMediaKit)
|
17
novolunt 2022-07-11 17:05:43 +08:00
|
18
cwaken 2022-07-11 19:37:24 +08:00 via iPhone
webrtc 方案做过,服务端拉流转码 h264 。wasm 方案做过,服务端拉流转发 wasm 解码
|
19
microxiaoxiao 2022-07-11 20:57:51 +08:00
那么多人让人都说不行,我不信。你的需求如果是使用 webrtc 协议播放的话,可以用 janus 等,俗称信令媒体网关。如果仅仅是播放 rtsp 。流程肯定就是利用类似 websocket 的形式,去进行信令交互( option, describle ,play 这些)。现成的也有很多。
|
20
learningman 2022-07-11 21:18:49 +08:00 via Android 1
https://chromestatus.com/feature/6398297361088512
可以直接操作 TCPUDP 的,只不过特性还是实验性的 |
21
ByteCat 2022-07-12 12:11:03 +08:00 via iPhone
直接用 srs 提供的那个 ffmpeg docker 就行了,我用了好久了
|
22
andyskaura OP @zscself 感谢! 这个拿来嵌在桌面服务里面做中转非常合适!
|