zoukankan      html  css  js  c++  java
  • nginx模块 ngx_http_flv_module、ngx_http_mp4_module

    ngx_http_flv_module 模块提供了对 flv 视频的伪流支持。编译的时候带上 --with-http_flv_module。

    它会根据指定的 start 参数来指定跳过多少字节,并在返回数据前面附上 FLV 头。

    location ~ .flv$ {
        flv;
    }
    curl localhost/index.flv?start=10

    该请求的意思是,从视频文件 index.flv 第10个字节开始读取返回,并在返回的数据上附上 FLV 头。

    ngx_http_mp4_module 模块提供了对 MP4 视频的播放支持,相关的扩展名 .mp4 .m4v .m4a。

    start 参数指定开始播放的秒数,end指定结束的秒数比如

    http://www.freecls.com/test.mp4?start=22.33&end=33.33

    基于 H.264 格式的mp4视频能随意拖动播放的原理是,该文件会存储元数据(moov atom),该元数据里存放了索引。为了开启回放,播放器首先需要读取元数据,如果元数据在文件的前面,那么 nginx 只是简单的返回给播放器就行,如果放在视频文件后面,那么 nginx 必须读取整个文件并把元数据放在文件前面,相当耗资源,所以如果元数据在文件后面,最好自己手动先把元数据放到文件前面后再放到 nginx 目录中。

    如果播放器支持 字节范围请求 Range,那么无需此模块。

    Syntax: mp4;
    Default: —
    Context: location

    开启。

    Syntax: mp4_buffer_size size;
    Default: mp4_buffer_size 512K;
    Context: http, server, location

    设置初始缓冲大小

    Syntax: mp4_max_buffer_size size;
    Default: mp4_max_buffer_size 10M;
    Context: http, server, location

    元数据处理不能超过此大小,否则500错误。

    Syntax: mp4_limit_rate on | off | factor;
    Default: mp4_limit_rate off;
    Context: http, server, location

    响应传输限制,on 即为 factor = 1.1,最终结果为 bitrate * factor。

    Syntax: mp4_limit_rate_after time;
    Default: mp4_limit_rate_after 60s;
    Context: http, server, location

    初始多少秒不限速。

    location /video/ {
        mp4;
        mp4_buffer_size       1m;
        mp4_max_buffer_size   5m;
        mp4_limit_rate        on;
        mp4_limit_rate_after  30s;
    }

     备注

    1.测试环境centos7 64位,nginx版本为 1.14.0。
    2.读者也可以参考官方文档 nginx documentation
    3..原文地址http://www.freecls.com/a/2712/bd

  • 相关阅读:
    div弹出层
    经典SQL语句
    sql连接及操作
    给flash加上连接
    在c#中图片原比例缩放
    悬浮提示筐
    拖动板块
    IFrame自适应高度
    SQL语句中的日期计算
    注意Request.Cookies["UserID"]的用法
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317309.html
Copyright © 2011-2022 走看看