因为想做一个类似苹果的同播共享功能,这一段时间对音视频做了一些浅浅的学习,现简单总结记录。
我的需求是找到一个尽可能简单的方案来两人播放一段视频,并且能够进度和操作同步,所以基本不能有延迟,同时能够显示WebVTT字幕,最好不需要额外的服务器。
视频流方案
前端视频流主要是用的是hls.js,flv.js和dash.js,我最后使用了hls.js。
hls.js
hls.js多用于做在线视频播放,原理就是将大视频切片,分成几秒一个的小片段,这样只需要不停加载小片段就可以完整播放视频了。
使用ffmpeg来生成视频
ffmpeg -i video.mkv -b:v:0 12M -c:v h264_videotoolbox -c:s webvtt -c:a mp3 -map 0:v -m
实现苹果同播共享功能:探索音视频同步方案

作者在研究如何创建类似苹果同播共享功能时,探讨了hls.js、flv.js、dash.js和WebRTC等技术。最终选择了hls.js进行视频切片和播放,结合WebRTC处理操作同步,以实现低延迟且无需额外服务器的需求。在处理HEVCHDR视频时,遇到了解码问题,通过M2转码和SRS服务器实现了流畅播放。此外,还分享了JS面试题的资源。
最低0.47元/天 解锁文章
8050

被折叠的 条评论
为什么被折叠?



