zoukankan      html  css  js  c++  java
  • JSMpeg低延时H5直播

    JSMpeg 项目地址:https://github.com/phoboslab/jsmpeg

    JSMpeg 是一种采用 JavaScript 解码音视频的技术,可用于视频直播或点播。
    要实现直播,还需要 websocket 实现一个实时传输流的服务。FFmpeg 支持很多直播流格式,但是不支持 websocket。解决方案是用 FFmpeg 开一个HTTP 直播流,再开一个 Node 服务转一下。

    具体流程是:用 NodeJs 监听 FFmpeg 的 HTTP 直播地址,将收到的数据通过 Websocket 广播给所有的客户端。

    它的核心代码如下:

    //HTTP Server to accept incomming MPEG Stream
    var streamServer = require('http').createServer( function(request, response) {
        request.on('data', function(data){
            socketServer.broadcast(data, {binary:true});
        });
    }).listen(STREAM_PORT);

    Websocket 代码在这里:https://github.com/phoboslab/jsmpeg/blob/master/websocket-relay.js

    NodeJS执行命令:

    node websocket-relay.js supersecret 8081 8082

    上面命令中的三个参数分别是服务标识、HTTP端口、WS端口。

    使用FFmpeg 推送 HTTP 视频流执行命令:

    ffmpeg -rtsp_transport tcp -thread_queue_size 32768 -i rtsp://{账号}:{密码}@{IP}:554/h264/ch1/main/av_stream -q 0 -f mpegts -codec:v mpeg1video -s 1366x768 http://{IP}:8081/supersecret
    

      

  • 相关阅读:
    1144 The Missing Number (20分)
    1145 Hashing
    1146 Topological Order (25分)
    1147 Heaps (30分)
    1148 Werewolf
    1149 Dangerous Goods Packaging (25分)
    TypeReference
    Supervisor安装与配置()二
    谷粒商城ES调用(十九)
    Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
  • 原文地址:https://www.cnblogs.com/xi-jie/p/14512973.html
Copyright © 2011-2022 走看看