web 如何实时播放服务器通过 websocket 推送过来的数据流(MP3)?

2020-08-28 09:17:58 +08:00
 sunny1688

服务器读取 mp3,分段推通过送到 websocket 到 web 端,web 端如何有序的播放这些数据流呢?有什么技术方案吗?

2767 次点击
所在节点    问与答
15 条回复
dzdh
2020-08-28 09:32:08 +08:00
pinews
2020-08-28 09:53:25 +08:00
这和 websocket 有什么关系啊,不应该是 websocket 推送 mp3 许可,然后本地 http 请求 mp3 吗?
sunny1688
2020-08-28 09:59:59 +08:00
websocket server,推送的是 mp3 二进制数据流,不是 http 直接拿到一个完整的 mp3
buffzty
2020-08-28 10:21:30 +08:00
2 楼说的没错. 应该是 ws 返回一个授权 url. 本地去请求 oss. 如果自己服务器传输,你宽带费先乘 10-20 吧
sunny1688
2020-08-28 10:27:17 +08:00
不要讨论怎么做合适,我现在遇到的需求就是这样的,
okaku
2020-08-28 10:31:47 +08:00
websocket 的传输速率是很慢的 远远不及一般 get 请求 。不适合大型文件传输。
wysnylc
2020-08-28 10:46:14 +08:00
websocket 不做任何 io 操作,如果你要做应该是史上第一人或者前几个毕竟这么*的不太多
正常做法是服务端预先将视频文件分割,websocket 将文件访问路径推送到前端,前端访问并拼接播放视频
zy445566
2020-08-28 10:53:26 +08:00
听过 m3u8 么? websocket 给 m3u8 格式的头不就好了,估计不会超过 1kb
knva
2020-08-28 10:58:37 +08:00
widewing
2020-08-28 11:03:57 +08:00
chucongqing
2020-08-28 11:20:25 +08:00
webrtc
Exin
2020-08-28 15:00:00 +08:00
可以用 AudioContext 以及相关 API
xxccxx
2020-08-29 06:37:31 +08:00
@wysnylc 说的太过绝对了,我司做监控行业的,做的就是通过 websocket 推送 h264 流,然后前端解码播放,目的就是分担服务器压力,延时能做到一秒内。
xxccxx
2020-08-29 06:40:34 +08:00
楼主可以 gayhub 搜一下 jmuxer,不过这个只能播放 aac 格式的,
wysnylc
2020-08-29 10:21:28 +08:00
@zccjxx62 #13 所以代价就是想要增加并发流量就得升级 websocket 服务器而不是只升级视频流存储服务器
要做都可以做,但是代价呢?

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

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

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

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

© 2021 V2EX