文章插图
一、说明1. JSMpeg简介JSMpeg是一个JAVAScript编写的视频解码器,支持MPEG1视频、MP2音频解码,WebGL&Canvas2D渲染、WebAudio音频输出 。
JSMpeg可以通过Ajax加载静态视频、或通过WebSocket加载低延迟的流媒体(延时50ms) 。
JSMpeg 在iphone 5S上支持以30fps的速度解码720P的视频,支持绝大多数的现代浏览器,并且库非常的小巧 。
2. JSMpeg项目地址https://github.com/phoboslab/jsmpeg
3. 业务场景
- 客户端不支持Http-Flv(如IOS)的直播场景
- 客户端不能接受HLS延时过大
- 客户端不能兼容WebRTC技术
- ffmpeg(向jsmpeg服务端推流)
- jsmpeg(流转成websocket)
- nodejs + http-server(客户端网页容器)
- 一个rtsp节目源(也可以是本地视频文件)
更详细的配置过程可见本系列文章上一篇的内容 。
2. 安装配置nodejs+http-server环境(1) 安装nodejs多数linux发行版已包含nodejs,本安装过程省略 。
(2) 安装websocket和http-server
npm install -g wsnpm install wsnpm install http-server -g
3. jsmpeg在下面地址下载jsmpeg三、 运行测试1. 启动jsmpeg打开一个命令行,进入jsmpeg目录,运行:
node websocket-relay.js supersecret 8081 8082
参数说明:- Supersecret是密码
- 8081是ffmpeg推送端口
- 8082是前端webSocket端口
ffmpeg -I "rtspurl节目源地址" -q 0 -f mpegts -codec:v mpeg1video -s 1366x768 http://127.0.0.1:8081/supersecret
4. 启动一个http-server再打开一个命令行进入jsmpeg目录,输入:http-server
5. 观看视频用浏览器打开网址http://ip:8080/view-stream.html
正常就能看到视频画面了 。
本测试只看单路视频,实际使用中需要再进行开发完善功能 。
【音视频开发3. 低延时的H5直播方案JSMpeg】
推荐阅读
- 黄金芽怎么泡,茶树特色新品种黄金芽开发成功
- 音视频开发1. 基本概念及媒体协议
- 显示器高刷屏比低刷屏到底强多少?看这一目了然
- 三国被低估的谋士 三国里谋士最多的是哪个国家
- 星座性格|收入太低如何解决?砖家:“用私家车拉活,空的房子租出去收钱”
- 喝茶也讲究天时地利,春夏季节多喝绿茶能清热解毒降低血脂
- 胶股蓝茶的功效与作用,梨山乌龙茶具有降低胆固醇的功效
- 治疗低血压的药物有哪些
- 菊苣根茶能降低血糖,蜜柚红茶
- 古代商人地位低下的原因 商人古代社会地位