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
    

      

  • 相关阅读:
    《这个杀手不太冷》
    vim 程序编辑器
    wireshark 过滤规则
    使用c函数库的两个函数strtok, strncpy遇到的问题记录
    memset 导致的段错误(segmentation fault)
    LNMP 环境搭建
    cgic 中文文档
    virtualBox 不能开启一个新任务的错误
    PPTP&L2TP&PPPOE client and server configure
    netperf安装及使用
  • 原文地址:https://www.cnblogs.com/xi-jie/p/14512973.html
Copyright © 2011-2022 走看看