• EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Grunt的使用简介


    什么是Grunt?

    Grunt,简而言之,就是运行在Node.js上面的任务管理器(task runner),其可以在任何语言和项目中自动化指定的任务。我们可通过npm来安装Grunt和Grunt插件。

    为什么使用Grunt?

    一词概括:自动化

    Grunt帮助我们提高重复项目的性能,比如:

    • Minification
    • Compilation
    • Unit testing
    • Linting and more

    Grunt使用简介

    1.命令安装

    为了要使用Grunt,需要全局安装Grunt的命令行接口CLI(Command Line Interface)。如果是在Linux、mac上运行,需要用管理员权限运行命令窗口或是使用sudo。

    npm install -g grunt-cli
    

    2.grunt依赖

    • 一个基本的Nodejs项目,根目录包含package.json文件,如:
    
        {
          "name": "my-project-name",
          "version": "0.1.0",
          "devDependencies": {
            "grunt": "~0.4.5",
            "grunt-contrib-jshint": "~0.10.0",
            "grunt-contrib-nodeunit": "~0.4.1",
            "grunt-contrib-uglify": "~0.5.0"
          }
        }
    
    • 接下来运行
    npm i
    
    • 或者通过以下命令安装
    
        // --save-dev 意思是将依赖放入devDependencies中
        npm install grunt --save-dev
    
        npm install grunt-contrib-jshint --save-dev
    
        npm install grunt-contrib-nodeunit --save-dev
    
        npm install grunt-contrib-nodeunit --save-dev
    

    3.Gruntfile配置

    • 在项目根目录中创建Gruntfile.js,示列如:
    
        module.exports = function(grunt) {
    
          // Grunt配置
          grunt.initConfig({
            //获取package配置
            pkg: grunt.file.readJSON('package.json'),
            uglify: {
              options: {
               // 配置日志输入标识
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    '
              },
              build: {
                // 配置源文件目录
                src: 'src/<%= pkg.name %>.js',
                // 压缩后目标目录
                dest: 'build/<%= pkg.name %>.min.js'
              }
            }
          });
    
          // 加载js压缩插件
          grunt.loadNpmTasks('grunt-contrib-uglify');
    
          // 注册默认执行任务
          grunt.registerTask('default', ['uglify']);
    
        };
    

    4.Grunt运行

    • 根目录打开命令窗口,运行如下命令
        grunt
    
    • 执行后的效果就是讲src目录里的js文件压缩输出到dest目录中

    5.监听文件目录

    • 很多情况下,我们在编码的时候,希望可以自动将更改部署到目标目录。这时候我们可以使用:
        npm i grunt-contrib-watch --save-dev
    
    • 修改Gruntfile.js
    
          module.exports = function(grunt) {
    
          // Grunt配置
          grunt.initConfig({
            //获取package配置
            pkg: grunt.file.readJSON('package.json'),
            uglify: {
              options: {
               // 配置日志输入标识
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    '
              },
              build: {
               // 配置源文件目录
                src: 'src/<%= pkg.name %>.js',
                // 压缩后目标目录
                dest: 'build/<%= pkg.name %>.min.js'
              }
            },
            //监视
            watch: {
                scripts: {
                    //监听目录src下的所有js文件
                    files: ['src/*.js'],
                    //只要文件有变动就执行uglify任务
                    tasks: ['uglify'],
                    options: {
                        spawn: false,
                    },
                }
            }
          });
    
          // 加载js压缩插件
          grunt.loadNpmTasks('grunt-contrib-uglify');
    
          // 注册默认执行任务
          grunt.registerTask('default', ['uglify','watch']);
    
        };
    

    EasyDSS应用场景

    现场直播
    摄像机或其它设备实时采集到的现场画面,通过编码器或编码软件推送到直播服务器分发,用户即可通过PC、手机、平板电脑等多种终端实时观看现场直播内容。常用于年会、发布会、政企会议等的网络直播。

    网络电视
    实现传统电视台的网络播出,支持多平台多终端的直播观看及时移回看。

    远程监控
    配合网络摄像头可实现远程视频监控,终端用户可以通过PC、手机、平板电脑等多种终端实时观看远程画面,并可以把监控画面录制下来随时回看或分享。广泛应用于宝宝在线、家居安全、公共安防等方向。

    实时课堂
    应用于远程课堂直播,让不在现场的人也能实时学习优质课程。支持时移,可以随时回看任意时间的课程。

    科研方向
    应用于农业、养殖业、科学实验等跨区域场景研究。

    企业展示
    对企业的展示、宣传、活动、行政、培训等视频资源进行 高质量转码,发布到互联网,让员工和客户可以通过企业 网站、移动门户等观看。

    EasyDSS

    关于EasyDSS

    EasyDSS(http://www.easydss.com)流媒体解决方案采用业界优秀的流媒体框架模式设计,服务运行轻量、高效、稳定、可靠、易维护,支持RTMP直播、RTMP推送、HTTP点播、HTTP-FLV直播、HLS直播,并支持关键帧缓冲,画面秒开等多种特性,能够接入Web、Android、iOS、H5、微信等全平台客户端,是移动互联网时代贴近企业点播/直播需求的一款接地气的流媒体服务器,配套OBS、EasyRTMP等直播推流工具以及EasyPlayer等网络播放器,可以形成一套完整的视频直播、录播解决方案,满足用户在各种行业场景的流媒体业务需求。
    EasyDSS

  • 相关阅读:
    win10新特性,ubuntu子系统(安装及配置)
    excel计算后列填充
    word中利用宏替换标点标点全角与半角
    CFD-post的奇技淫巧
    mfix模拟流化床燃烧帮助收敛的方法
    cygwin下配置alias
    endnote 使用方法
    win8系统换win7系统
    python中的函数以及递归
    01python算法--算法和数据结构是什么鬼?
  • 原文地址:https://www.cnblogs.com/babosa/p/11123953.html
Copyright © 2020-2023  润新知