精华内容
下载资源
问答
  • nginx搭建流媒体服务器实现点播和直播教程 - 源码文件 - 点击下载 前言 流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和...

    nginx搭建流媒体服务器实现点播和直播教程 - 源码文件 - 点击下载

    前言
    流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。
    流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。流媒体服务器的主要功能是对流媒体内容进行采集、缓存、调度和传输播放。流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。

    环境   centos7 nginx

    1.下载需要的所有软件包
    软件包说明:
    nginx-1.13.12.tar.gz //nginx
    nginx-rtmp-module-master.zip //让nginx支持rtmp/hls协议
    ngx_cache_purge.zip //清除缓存的模块
    nginx_mod_h264_streaming-2.2.7.tar.gz //让nginx支持flv,mp4流播放
    pcre-8.39.tar.gz //pcre
    zlib-1.2.8.tar.gz //zlib
    EV录屏_3.9.5.0.exe //录屏软件-推流
    vlc16216.exe //视频播放软件-拉流
    nginx.conf //nginx配置文件

    2.安装nginx依赖包
    yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5

    3.将需要软件包上传到centos7上
    nginx-1.13.12.tar.gz
    nginx-rtmp-module-master.zip
    ngx_cache_purge.zip
    nginx_mod_h264_streaming-2.2.7.tar.gz
    pcre-8.39.tar.gz
    zlib-1.2.8.tar.gz

    4.解压所有软件包
    tar -zxvf nginx-1.13.12.tar.gz
    unzip nginx-rtmp-module-master.zip
    unzip ngx_cache_purge.zip
    tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz
    tar -zxvf pcre-8.39.tar.gz
    tar -zxvf pcre-8.39.tar.gz

    5.进入nginx-rtmp-module-master.zip解压后nginx-rtmp-module-master目录,将ngx_http_streaming_module.c文件中的r->zero_in_uri所在的if语句注释掉

    6.安装nginx
    进入nginx-1.13.12.tar.gzp解压后nginx-1.13.12目录执行以下命令
    ./configure --prefix=/usr/local/nginx/ --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8 --add-module=../nginx-rtmp-module-master --add-module=../ngx_cache_purge-master --add-module=../nginx_mod_h264_streaming-2.2.7 --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_flv_module
    执行完成后,修改nginx安装目录下的objs下的Makefile文件,删除-Werror
    执行make && make install

    7.检查是否安成功
    执行 /usr/local/nginx/sbin/nginx -V  ,若为如下信息,这说明安装成功
    nginx version: nginx/1.13.12
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx/ --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8 --add-module=../nginx-rtmp-module-master --add-module=../ngx_cache_purge-master --add-module=../nginx_mod_h264_streaming-2.2.7 --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_flv_module

    8.将nginx-rtmp-module-master目录拷贝到nginx的站点下,并重命名为nginx-rtmp-module
    cp -rf nginx-rtmp-module-master /usr/local/nginx/html/
    mv /usr/local/nginx/html/nginx-rtmp-module-master /usr/local/nginx/html/nginx-rtmp-module

    9.创建点播和直播站点目录
    //点播
    mkdir -p /usr/local/nginx/html/media/

    //直播
    mkdir -p /tmp/hls/

    10.更换nginx配置文件
    //做备份
    cp nginx.conf nginx.conf_bak
    将nginx配置更换为如下配置(可以使用安装包中nginx.conf直接进行替换)

    worker_processes 2;
    error_log    /usr/local/nginx/logs/error.log;
    pid        /usr/local/nginx/logs/nginx.pid;
    events {
        use epoll;
        worker_connections 51200;
    }
       
    rtmp {
        server {
            listen 1935;
            chunk_size 4096;
            application live {
                live on;
                record off;
            }
            #video on demand
            application media {
                play /usr/local/nginx/html/;
            }
            application hls {
                live on;
                hls on;
                hls_path /tmp/hls/;
            }
        }
    }
     
    http {
        include        mime.types;
        default_type application/octet-stream;
        sendfile        on;
        keepalive_timeout 65;
        gzip on;
        server {
            listen        80;
            server_name localhost;
            #charset koi8-r;
            #access_log logs/host.access.log main;
            location / {
                root    html;
                index index.html index.htm;
            }
            location ~ \.flv$ {
                root /usr/local/nginx/html/media/;   
                flv;
            }
            location ~ \.mp4$ {
                root /usr/local/nginx/html/media/;
                mp4;
            }
            location /stat {
                rtmp_stat all;
                rtmp_stat_stylesheet stat.xsl;
            }
            location /stat.xsl {
                root /usr/local/nginx/html/nginx-rtmp-module/;
            }
            location /hls {
                # Serve HLS fragments
                types {
                    application/vnd.apple.mpegurl m3u8;
                    video/mp2t ts;
                }
                root /tmp;
                add_header Cache-Control no-cache;
            }
            location /dash {
                # Serve DASH fragments
                root /tmp;
                add_header Cache-Control no-cache;
            }
            error_page    500 502 503 504 /50x.html;
            location = /50x.html {
                root    html;
            }
        }
    }


    11.开启远程访问端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=1935/tcp --permanent
    结果返回success,则设置成功
    firewall-cmd --reload
    结果返回success,则设置成功

    12.点播测试
    上传一个mp4或者flv的视频文件到/usr/local/nginx/html/media/目录下
    安装安装包中的视频播放软件(其他视频播放软件也可以的)vlc16216.exe
    打开VLC media player -> 媒体 -> 打开网络串流
    在网络协议中输入:http://服务器IP/视频文件名  例如:http://blog.kz38.cn/test.flv,点击播放,即可看到点播视频内容



    13.直播测试
    安装录屏软件(他视频播放软件也可以的)EV录屏_3.9.5.0.exe
    打开EV录屏 -> 设置 -> 直播设置
    在串流地址中输入: rtmp://服务器IP/hls/直播名称(可任意命名) 例如:rtmp://blog.kz38.cn/hls/test

    选择在线直播,开始录屏

    打开浏览器 访问http://服务器IP/stat  例如:http://blog.kz38.cn/stat,可以看都正在推送的直播流

    打开VLC media player -> 媒体 -> 打开网络串流
    在网络协议中输入:rtmp://服务器IP/hls/直播名称 例如:rtmp://blog.kz38.cn/hls/test ,点击播放,即可看到直播视频内容

    展开全文
  • 需要选型一个流媒体服务器,故搜罗网上资料,整理出以下内容供参考 出处皆已标注链接 目录 流媒体协议 直播流媒体协议 理解RTMP、HttpFlv和HLS的正确姿势 流媒体文件支持格式 市面上主流的流媒体服务器归纳 ...

    需要选型一个流媒体服务器,故搜罗网上资料,整理出以下内容供参考

    出处皆已标注链接


    目录

    流媒体协议

    直播流媒体协议

    理解RTMP、HttpFlv和HLS的正确姿势

    流媒体文件支持格式

    市面上主流的流媒体服务器归纳

    38款流媒体服务器开源软件

    主流流媒体服务器介绍:

    AMS/wowza/red5/SRS主要功能对照分析:

    AMS(FMS)流媒体服务器系统

    wowza流媒体服务器系统

    Red5流媒体服务器系统

    SRS流媒体服务器系统

    SRS之深入浅出看流媒体:

    Linux下视频流媒体服务器搭建详解

    websocket+Media Source Extensions API

    EasyDarwin

    最终选型

    其他资料


    流媒体协议

    RTMP&HLS(专用协议流式)实时流传输既可传输实况直播,也可传输完整的音视频文件

    HTTP渐进式(基于TCP):顺序流媒体不可用于实况直播,仅能传输完整的音视频文件

    原则上,RTSPRTMPHTTP 都可以做直播和点播,

    但一般做 直播用 RTSPRTMP,做点播用 HTTP


    直播流媒体协议

    https://blog.csdn.net/u011216417/article/details/72835402

    RTP/RTCP/RTSP/WebRTC/RTMP/HLS


    理解RTMP、HttpFlv和HLS的正确姿势

    https://www.jianshu.com/p/32417d8ee5b6


    流媒体文件支持格式

    • MP4
    • 3GP
    • FLV
    • F4V
    • MPEG-TS

    市面上主流的流媒体服务器归纳

    • FMS(AMS)(Flash mediaserver)  商业级 收费
    • Red5 开源 (稳定性与性能差,大多作为个人使用)
    • Nginx-RTMP(主要用于点播)开源
    • Wowza (Wowza Streaming Engine商业级 收费
    • SRS (Simple Rtmp Server)
    • 阿里云(视频点播/直播等) 商业级 收费

    若有兴趣可以看看其他市面上的流服务器:

    • 38款流媒体服务器开源软件

    https://www.cnblogs.com/lidabo/p/7418505.html

    • 主流流媒体服务器介绍:

    https://blog.csdn.net/datamining2005/article/details/55260491

    FMS 4.x版本可破解版本

    Red5稳定性不够

    Nginx推流伪流媒体(http渐进式)

    • AMS/wowza/red5/SRS主要功能对照分析:

    http://www.cuplayer.com/player/PlayerCodeCourse/2017/11093244.html


    AMS(FMS)流媒体服务器系统

    Flash Media Server (简称FMS),后更名为Adobe Flash Media Server (简称AMS)。它是较早(2002年)做流媒体服务器产品的,原公司是Macromedia,后来被Adobe收购了,它是流视频和实时通信领域业界领先的解决方案,该产品可以快速搭建起一套流媒体直播、点播服务器。

    wowza流媒体服务器系统

    wowza全名是Wowza Streaming Engine,是一款非常优秀的流媒体服务器产品。也算是除了FMS产品之外的一个老版子产品,产品发布于2007年,他在HLS(m3u8)分发方面是非常不错的。从wowza2.0到现在的wowza4.5,都曾关注和使用过他们的产品,总体来说性价比还是蛮高的。

    Red5流媒体服务器系统

    Red5 (media server) 流媒体系统,免费开源的是它最大的优点,也因此有很多用户在使用它们的产品,然后不足在于占用服务器资源较高。

    SRS流媒体服务器系统

    SRS(Simple Rtmp Server)定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码,这是该产品自己官方的介绍。值得一说的是,前面几个产品都是国外的,而这个作者是国内的。

    http://www.cuplayer.com/player/uploads/allimg/171109/1_171109141459_1.jpghttp://www.cuplayer.com/player/uploads/allimg/171109/1_171109141459_2.jpg


    SRS之深入浅出看流媒体:

    https://blog.csdn.net/zjqlovell/article/details/50786040

    Linux下视频流媒体服务器搭建详解

    https://blog.csdn.net/u011596455/article/details/79431116


    websocket+Media Source Extensions API

    当然也看到有人提出 websocket+Media Source Extensions API(比较小众就不尝试了,等下出问题了歇逼)


    初级调研排除收费与Red5,接下来准备对比Nginx-RTMPSRSDSS这三种流服务器。

    因为目标APP暂不提供直播功能,在点播领域的话使用HTTP协议即可。


    EasyDarwin

    恰巧国内有专门做开源解决方案EasyDarwin封装了一整套流媒体框架

    http://www.easydarwin.org/pdf/EasyDarwin_Introduction.pdf

    所以花时间研究了下EasyDarwin这套解决方案。

    发现!你妹,EasyDSS解决方案也分为开源和商业,开源的项目没卵用,真正有用的项目是要钱的,基础的点播模块还需要商业版才能使用,凸,故放弃。

    • 流媒体平台框架 EasyDarwin

    https://www.oschina.net/p/easydarwin


    EasyDarwin开源项目(7Project):

    EasyDarwin开源项目至今包括有:EasyDarwin(开源流媒体服务器)、EasyCMS(中心管理服务器)、EasyCamera(云摄像机服务)、EasyClient(云平台客户端)、EasyAACEncoder(开源音频编码项目)、EasyAudioDecoder(开源音频解码项目)、EasyProtocol(开源云平台协议)等多个项目,完整地构架了一套开源流媒体云平台方案。

    EasyDarwin商业项目(8Project

    同时,EasyDarwin开源团队也开发了很多流媒体方面的商业项目,包括有:

    EasyPlayer 是一款精炼、高效、稳定的流媒体播放器,分为RTSP版和Pro版本,EasyPlayer RTSP版本支持Windows(支持多窗口、包含ActiveX,npAPI Web插件)、Android、iOS多个平台,EasyPlayerPro支持Android、iOS,支持各种各样的流媒体音视频直播/点播播放,项目地址:https://github.com/EasyDarwin/EasyPlayer

    EasyPusher 是一款简单、高效、稳定的一款标准RTSP/RTP协议直播推送库,支持将H.264/G.711/G.726/AAC等音视频数据推送到RTSP流媒体服务器进行低延时直播或者视频通信,支持Windows、Linux、ARM、Android、iOS等平台,EasyPusher配套EasyDarwin流媒体服务器、EasyPlayer RTSP播放器适用于特殊行业的低延时应急指挥需求!项目地址:https://github.com/EasyDarwin/EasyPusher

    EasyNVR 摄像机(通用RTSP、Onvif摄像机)接入服务,EasyNVR能够通过简单的摄像机通道配置、存储配置、云平台对接配置、CDN配置等,将统监控行业里面的高清网络摄像机IP Camera、NVR、移动拍摄设备接入到EasyNVR,EasyNVR能够将这些视频源 的音视频数据采集到设备端,进行全平台终端直播、录像存储、录像检索和录像回放。并且EasyNVR能够将视频源的直播数据对接到第三方视频平台、CDN网络,实现互联网直播分发,具体接入方法见https://github.com/EasyDarwin/EasyNVR

    EasyIPCamera 是一套精炼、高效、稳定的RTSP服务器组件,调用简单灵活,轻松嵌入部署到IPCamera中,并发性能属于行业领先水平,广泛应用于IPCamera RTSP服务、Android/Windows投屏/同屏直播服务,例如课堂教学同屏、会议同屏、广告投放同屏等!项目地址:https://github.com/EasyDarwin/EasyIPCamera

    EasyRTMP 是一套调用简单、功能完善、运行高效稳定的RTMP功能组件,经过多年实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/etc..)、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,包括Red5、Ngnix_rtmp、crtmpserver等主流RTMP服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等等方面!项目地址:https://github.com/EasyDarwin/EasyRTMP

    EasyRTSPClient 是一套简单、稳定、高效、易用的RTSPClient工具库,支持Windows、Linux、ARM、Android、iOS等几乎所有平台,支持RTP Over TCP/UDP,支持断线重连,能够接入市面上99%以上的IPC,调用简单且成熟稳定,能广泛应用于播放器、NVR、流媒体系统级联等产品中!项目地址:https://github.com/EasyDarwin/EasyRTSPClient

    EasyHLS 是一套简单、可靠、高效、稳定的HLS直播切片SDK,能够将实时的H.264视频和AAC音频流实时切片成可供WEB、Android、iOS、微信等全平台客户端观看的HLS(m3u8+ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等项目,可将大部分的安防摄像机对外进行HLS直播发布,同时也可灵活集成在各种流媒体服务中!项目地址:https://github.com/EasyDarwin/EasyHLS

    EasyRMS 是一套基于HLS协议的录像与回放服务器,EasyRMS能够将RTSP源获取到本地进行本地存储或者存储到阿里云对象存储OSS云存储等第三方存储平台,同时EasyRMS提供录像的检索与查询接口,检索出录像的HLS地址进行录像回放!项目地址:https://github.com/EasyDarwin/EasyRMS

    EasyDarwin云平台

    EasyDarwin云平台是一套由EasyDarwin、EasyCMS、EasyCamera、EasyClient、nginx、redis构成的完整云平台架构,支持分布式、跨平台、多点部署,流媒体服务器支持负载均衡,按需直播,非常适用于互联网化的安防、智能家居、幼教平台、透明厨房、透明家装等多个行业应用:


    最终选型

    最后纠结的将范围缩短为三个项目:DSSSRSNginx

    接下来分析这两种流媒体对视频点播的支持程度

    分别展开介绍:

    1.DSS苹果公司的Darwin Streaming Server(简称DSS)完全免费,没有任何功能限制,且符合国际标准。但DSSlinux上的安装比较繁琐,所以大多数人会选择easyDSS(就是上面提到的EasyDarwin)

    2.SRS:(Simple Rtmp Server)一个采用MIT协议授权的国产的简单的RTMP/HLS 直播服务器,其核心的价值理念在于简单高效

    一位疯狂舔SRS的小哥哥说<SRS超级强,无所不能秒杀其他同类媒体服务器>

    https://blog.51cto.com/renjunjie622/1782407

    后SRS官方改名为:ossrs

    github:

    产品定位:https://github.com/ossrs/srs/wiki/v1_CN_Product

    产品发展:https://ossrs.net/srs.release/releases/

    总的来看SRS还是可以的

    附带资料:

    完整的直播+点播全端解决方案 https://blog.csdn.net/dipolar/article/details/64122168

     

    3.Nginx-RTMP:

    战斗民族俄罗斯人民开发的一款NGINX的流媒体插件,除了直播发布音视频流之外具备流媒体服务器的常见功能

    • 比如推拉流媒体资源
    • 基于HTTPFLV/MP4 VOD点播
    • HLS (HTTP Live Streaming) M3U8的支持
    • 基于http的操作(发布、播放、录制)
    • 可以很好的协同现有的流媒体服务器以及播放器一起工作
    • 在线调用ffmpeg对流媒体进行转码
    • H264/AAC音视频编码格式的支持
    • linux/BSD/MAC系统的支持

     

    因为我们如果做的点播的话不涉及直播板块,几乎还是使用HTTP协议,根据之前的一篇博文:(NGINX-RTMP风生水起有几个很重要的因素。首先2012年开始CDN业务开始快速增长,随之直播业务也需求暴涨,没有特别满意的流媒体服务器;其次,NGINXHTTP领域绝对是霸主,大家对于NGINX系的熟悉程度很高,便于维护;再次,直播点播使用一套服务器,很有诱惑力,这可以算是“万金油”效应,很多套服务器搞得焦头烂额,肯定一套服务器能解决问题;最后,CDN是运维比技术牛逼的行业,运维的信心都是运行出来的,NGINX运行那么良好,那么NGINX-RTMP也肯定不错。)


    综上所述,DSS我对他没有什么好感,SRS是挺牛逼的但是总觉得用的话是大材小用,毕竟人家还是主做流直播的,转点播也需要一点功夫。个人觉得可以上一波NGINX,一个原因是主要目标是视频点播,上的还是HTTP服务,其次是Nginx这块我们可能上手也比较OK

     

    其他资料

    https://www.idcicp.com/assist/assistInfo_22381.html

    CPU:两颗至强E5530

    内存:16GB

    硬盘:2T

    操作系统:CentOS 6.5 64bit

    这样子的一个配置大致是能满足一个200-300人同时在线的短视频app的需求的


    http://www.webxun.com/newsxq_201.html

    暂不考虑直播功能(美颜的算法与聊天室功能还是服务器压力)


    https://bbs.csdn.net/topics/300252276

    lvc的live555的server端也小有名气


    https://blog.csdn.net/dxpqxb/article/details/83012950

    srs andrioid直播推流(可以学习一下,不过先不碰直播这个板块吧)


    https://blog.csdn.net/yb1314111/article/details/84983568

    抖音短视频源码中视频排序模块热门列表解决方案


    https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/78780562
    利用Simple-RTMP-Server搭建RTMP和HLS直播服务


    https://blog.csdn.net/elesos/article/details/80899787

    利用Nginx搭建RTMP视频直播,点播服务器,ffmpeg推流,回看


    下载的一些p2p流媒体服务的研究资料

    链接:https://pan.baidu.com/s/1hwMk_YdeGFI1nwC6BVM3XQ 
    提取码:rcjq 

    展开全文
  • 现在抖音、快手等直播实在是太火了,因此对音视频的开发非常感兴趣,查阅了相关资料,使用Nginx搭建一个简单的直播跟点播流媒体服务器,能够实时推流到服务器,同时在网页端播放直播的视频。先上效果​使用OBS软件...

    现在抖音、快手等直播实在是太火了,因此对音视频的开发非常感兴趣,查阅了相关资料,使用Nginx搭建一个简单的直播跟点播流媒体服务器,能够实时推流到服务器,同时在网页端播放直播的视频。

    先上效果

    ​使用OBS软件录制电脑桌面操作推流到自己搭建的流媒体服务器,然后在网页拉流播放。当然也可以采集摄像头、麦克风推流,或者推送本地视频到流媒体服务器。

    8c5690b9373952f389f9b106e28db331.gif

    搭建步骤

    Ubuntu18.04安装nginx-flv模块扩展

    这里我是用虚拟机安装了Ubuntu18.04先下载nginx1.19.3的源码与nginx-http-flv-module的源码。

    wget https://github.com/winshining/nginx-http-flv-module/archive/master.zip

    wget http://nginx.org/download/nginx-1.19.3.tar.gz && tar -zxvf nginx-1.19.3.tar.gz

    解压下载的个源码进行编译,这样一个Nginx搭建的流媒体服务器就好了。

    cd nginx-1.19.3 #进入nginx源码目录

    ./configure --add-module=../nginx-http-flv-module-master

    vim objs/Makefile #删除-Werror

    make

    make install

    进行点播与直播配置

    ​上面已经安装好了nginx,编辑/usr/local/nginx/conf/nginx.conf进行相关配置。这里直接贴出完整的配置。其中rtmp为开启rtmp服务功能,并且为了能够在网页端播放开启了hls。推流的rmtp流会转换成hls协议的ts切片,保存在服务器上,nginx配置了location让网页能够访问切好的hls切片。

    ​这里解释下rtmp是adobe的私有协议,必须使用flash播放。hls是苹果开发的视频传输协议使用http进行传输。ios跟android支撑的都很好,一般进行跨平台直播使用hls协议比较常见。

    #user nobody;

    worker_processes 1;

    events {

    worker_connections 1024;

    }

    rtmp { #RTMP服务

    server {

    listen 1935; #//服务端口

    chunk_size 4096; #//数据传输块的大小

    application vod {

    play /opt/video/vod; #//视频文件存放位置。

    }

    application live{

    live on; #直播

    hls on; #把直播服务器改造成实时回发服务器,视频切片成ts

    wait_key on; #对视频切片进行保护

    hls_path /opt/video/rtmp/hls; #ts切片存放位置

    hls_fragment 10s; #切片大小

    hls_playlist_length 60s; #回看的时间

    hls_continuous on; #连续模式

    hls_cleanup on; #对多余切片进行删除

    hls_nested on; #嵌套模式

    }

    }

    }

    http {

    include mime.types;

    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {

    listen 80;

    server_name localhost;

    location /stat { #第二处添加的location字段。

    rtmp_stat all;

    rtmp_stat_stylesheet stat.xsl;

    }

    location /stat.xsl { #第二处添加的location字段。

    root /usr/local/nginx-http-flv-module/;

    }

    location /hls {

    types {

    application/vnd.apple.mpegurl m3u8;

    video/mp2t ts;

    }

    alias /opt/video/rtmp/hls;

    add_header Cache-Control no-cache;

    add_header Access-Control-Allow-Origin *;

    }

    location / {

    root html;

    index index.html index.htm;

    }

    }

    进行测试

    使用obs推流推送到rtmp://192.168.227.128/live串流密钥随便填写即可。

    834721ff5957a9c8ea62fdcf10d29570.png

    ​h5网页端采用video.js进行播放直播流视频,这里的播放的地址是切好片的m3u8文件地址,m3u8存放了每一个小切片的地址。

    src="http://192.168.227.128/hls/test/index.m3u8"

    type="application/x-mpegURL">

    var player = videojs('example-video');

    player.play();

    ​上面的nginx配置还配置了本地视频文件点播配置,把视频文件放在/opt/video/vod位置,使用vlc填写rtmp://192.168.227.128/vod/qlgame.mp4进行播放即可。

    bbeea14c322100949c039a6beb34f33f.png

    以上搭建只是测试学习使用,实际音视频开发涉及采集、编码、推流、传输、拉流、解码等等过程,每一个过程都设计许多知识。后面音视频开发学习笔记,等我攒了一些笔记发出来互相学习。

    展开全文
  • SRS是国人开发的流媒体播放服务器, SRS的文档非常齐全,特别是wiki里面的各种说明,基本可以满足基础的需要。 SRS比我想的要强大的多,已经不像一款出于兴趣的开源产品,很多功能齐备的商业化产品所需要的功能几乎...
  • 2.下载解压nginx_mod_h264_streaming,让nginx支持flv,mp4播放 wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz 解压后需要修改src目录下的ngx_http _streaming_module.c文件,将r...
  • 注意:这里以CentOS 6.8服务器为例,以root用户身份来安装Nginx。 1.安装依赖环境 yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxm
  • 开源的流媒体服务器,使用ffmpeg作为容器解析库,实现RTSP基于TCP和UDP的点播,支持几乎所有的容器格式和编码方式,本人已经调试成功,很好很强大。这里特意说明一点,ffmpeg版本请安说明安装对应的版本,且编译的...
  • 使用nginx实现HLS m3u8点播功能。 包括,nginx安装,mp4、flv切片,测试,跨域问题,nginx集群等等。
  • 利用nimble搭建MPEG-DASH VOD流媒体点播服务器的步骤介绍

    Nimble必须依赖64-bit 平台,笔者使用的是Ubuntu 14.04 64bit


    首先,在WMSPanel网站下用邮箱注册

    https://wmspanel.com/account/sign_up


    配置步骤如下


    1、添加rep到 /etc/apt/sources.list 文件

    Ubuntu 10.04 Lucid : deb http://nimblestreamer.com/ubuntu lucid/ 
    Ubuntu 12.04 Precise :deb http://nimblestreamer.com/ubuntu precise/ 
    Ubuntu 14.04 Trusty :deb http://nimblestreamer.com/ubuntu trusty/ 

    (CentOS安装有点不一样,看步骤5)


    2、 命令行安装nimble

    $wget -q -O - http://nimblestreamer.com/gpg.key | sudo apt-key add - 
    $sudo apt-get update 
    $sudo apt-get install nimble

    3、命令行把最开始注册的用户邮箱及密码信息注册到本地服务器

    <pre name="code" class="plain">$sudo /usr/bin/nimble_regutil -u test@yourcompany.com -p mypassword


     4、重启 nimble 服务器 
    

    $sudo service nimble restart

    启动nimble 服务器命令为:

    sudo service nimble start


    5、CentOS的安装将步骤1、2改为如下方式


    CentOS:

    (1)安装 RHEL EPEL 

    $wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
    $wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
    $sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

    (2)新建文件 /etc/yum.repos.d/nimble.repo  并写入以下内容

    [nimble] 
    name= Nimble Streamer repository 
    baseurl=http://nimblestreamer.com/centos/6/$basearch #CentOS6
    <pre name="code" class="plain">baseurl=http://nimblestreamer.com/centos/7/$basearch #CentOS7
    enabled=0 gpgcheck=1 gpgkey=http://nimblestreamer.com/gpg.key

     
    
    (3)执行以下命令

    $sudo yum update 
    $sudo yum install nimble



    配置nimble 服务器 MPEG-DASH文件目录

    (1)设定用户服务器中点播视频文件的目录为 /home/user/vod


    (2)登入WMSPanel 管理页面 https://wmspanel.com/account/signin


    (3)选择菜单项 Nimble Streamer->Edit Nimble Routes

    (4)点击 Set up VOD streaming 按钮,填写路径并保存



    (5)此时,只要把视频文件放进服务器目录底下,就能以MPEG-DASH的方式访问MPD索引文件接收m4s流媒体分片

    http://server_IP:8081/vod/sample_file.mp4/manifest.mpd





    展开全文
  • HLS-搭建Nginx流媒体服务器 Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module, 组合在一起即可以搭建一个功能相对比较完善的流媒体服务器。...
  • 流媒体服务器的搭建

    2018-12-12 22:28:30
    一、实验目的 掌握流媒体服务器的安装与配置,学会视频/音频的传送方法 二、实验内容 1、 安装Windows Media Service 2、 使用Windows Media Service发布视频点播
  • nginx搭建流媒体服务器实现点播和直播教程
  • 如何搭建自己的影视.切片.直播服务器?...具体步骤--流媒体搭建手册1.目录结构mkdir /opt/software:软件安装的目录mkdir /opt/nginx:nginx原始安装所需2.rz上传所有相关软件包上传mp4的扩展模块:nginx...
  • 服务器通道调度技术是解决大规模流媒体点播应用系统资源瓶颈问题的有效途径。它的基本思想是通过让用户尽可能共享同一个数据流来提高系统资源的利用率。本文综述了媒体点播系统中通道调度方案的研完现状,分析了一些...
  • 流媒体服务器(Streaming Media Server 简写MS)集群系统能够用相对较为廉价的方式提供较强的可扩展性和良好的吞吐性能,然而要使系统资源得到充分利用却面临着许多技术上的挑战,负载均衡技术就是其中之一。...
  • 100M的服务器最少也可以支持300人在线点播400K码率的电影 (前提是300人都观看不同的文件)。 1. 高速建立索引 (在使用主流CPU的情况下 , 可达10M/秒) 2. 高速查询 (在 2-4 GB 的文本里查询平均耗时在 0.1 秒以内)...
  • 在进行流媒体直播/点播服务器开发过程中,我们要进行数据的采集,但网站肯定是设置了限制,为了突破这限制,我们需要模拟浏览器访问获取数据,那么首先要了解HTTP的请求,那么在Web中HTTP请求是怎样的呢?HTTP的请求...
  • EasyDarwin是由国内开源流媒体团队开发和维护的一款开源流媒体平台框架,从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目,更好地帮助广大流媒体开发者和创业型...
  • 解压后直接把需要点播的视频放在与live555的exe同目录下,点击启动live555后,可在局域网用vlc打开串流观看视频,注意:不支持mp4封装格式
  • 内容由流媒体协议等基本知识,视频媒体基本知识,流媒体服务器搭建实战,流媒体工具使用实战等内容组成。由本人“天地会珠海分舵”(http://blog.csdn.net/zhubaitian)耗时一个月整理而成,现分享给大家。 章节内容...
  • 流媒体服务器搭建

    千次阅读 2020-07-27 16:58:08
    流媒体服务器是支撑视频播出的基础系统,具有视频直播、视频点播的播出能力,有些使用场景下还会承担转码任务,因此,其对软硬件和网络的要求要高于Web服务器和数据库服务器等。我们今天从云主机、网络带宽和存储...
  • 一、直播与点播 直播:在我的理解中是实时录制的内容,类似各个晚会的实时直播过程,在现场采集图像的...2、推流,将本地视频或直播视频以流媒体的形式推送给流媒体服务器 (可能会涉及格式转换); 3、拉流 ,从服务
  • RTCMultiConnection 流媒体后台服务器 采用Node.js。可以支持1对1,1对多的音视频聊天服务。可以作为研发参考。
  • 微软的Windows Media Services 9是通过 Internet(互联网)或...而在建广播发布点时,会遇到服务器系统给出的以“单播”或者“多播”传递的选择。不过,对于网吧的局域网环境来说,由于带宽足够高,同时也没有...
  • 今天正好有80Gbps的万兆网络环境,写了一个压力测试工具,对比了一下各种流媒体服务器,在超级并发下的性能如何,原来听说intel的万兆网卡有问题,只能跑到不到的理论带宽,这点我测试过了,用intel最新的驱动,...
  • red5流媒体服务器

    2018-01-29 21:34:50
    基于red5流媒体服务器代码 实现在线直播和点播,可以点rtsp流和文件流
  • 试验四:流媒体服务器搭建(2课时)试验目标:掌握流媒体服务器安装和配置,学会视频/音频传送方法。试验内容:安装Windows Media Service使用Windows Media Service公布视频点播试验设备及环境:计算机、 Windows ...
  • srs流媒体服务器 配置

    2021-08-12 11:10:40
    srs流媒体服务器 配置 内容精选换一换SRS是一款开源流媒体,适合直播以及低延时流媒体领域,但是从来不设限,可以应用在直播、视频会议、在线教育等场景。同时视频领域还有两大块、广电和视频监控,随着互联网的迅速...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,850
精华内容 4,340
关键字:

流媒体点播服务器