精华内容
下载资源
问答
  • 入行这么多年,深深觉得流媒体服务器的未来也将伴随着宽带应用和网络发展的总趋势,毕竟科技改变生活,未来流媒体也将占据网络的主流,视频流媒体服务器的功能和作用也将越来越丰富。 在未来,流媒体服务器将转向...

    入行这么多年,深深觉得流媒体服务器的未来也将伴随着宽带应用和网络发展的总趋势,毕竟科技改变生活,未来流媒体也将占据网络的主流,视频流媒体服务器的功能和作用也将越来越丰富。

    在未来,流媒体服务器将转向高度分布式的系统结构,这种体系结构在地理上是分布的,但逻辑上是单一的系统映像。在未来,一方面会有高性能的网络存储设备,另一方面会有高度智能化的协议控制和处理设备。这将是未来流媒体服务器扩展的极好方向。那么现阶段,流媒体服务器的作用和功能都有什么?

    DSS5.png

    说白了,流媒体服务器是运营商向用户提供视频服务的关键渠道,它可以收集、缓存、调度和广播媒体内容,它是流媒体使用系统的基础,也是流媒体使用系统的重要组成部分。

    流媒体服务器的主要功能是通过流媒体协议(RTP/RTSP、MMS、RTMP等)向客户端传输视频文件,供用户在线观看。还可以从视频采集和压缩软件接收实时视频流,然后将流媒体协议直播给客户端。该技术广泛应用于视频点播、视频会议、远程教学、远程医疗和在线直播系统中。

    9861d863918551af3e401f8084309e4e.png

    而现在,我们的视频流媒体服务器已经兼具视频点播、监控视频流实时传输、视频录像回看等功能,我们的流媒体解决方案能够高效进行视频管理,提供编程语言无关化的RESTfulAPI接口,可以很简单的进行二次开发,并且各模块间无缝对接,亦可将流媒体服务器与其他第三方平台对接,组合灵活自由。

    DSS4.png

    展开全文
  • RTCMultiConnection 流媒体后台服务器 采用Node.js。可以支持1对1,1对多的音视频聊天服务。可以作为研发参考。
  • 熟悉我们的小伙伴都知道,当我们的RTSP/Onvif流媒体服务器与摄像头可以进行网络连接时,通过RTSP/Onvif流媒体服务器自带的Onvif探测即可实现Onvif摄像头的设备IP探测,成功后返回需要的流地址,实现摄像头的PTZ云台...

    熟悉我们的小伙伴都知道,当我们的RTSP/Onvif流媒体服务器与摄像头可以进行网络连接时,通过RTSP/Onvif流媒体服务器自带的Onvif探测即可实现Onvif摄像头的设备IP探测,成功后返回需要的流地址,实现摄像头的PTZ云台控制,PTZ控制包含转动、变焦等。

    EasyNVRonvif协议.png

    为了检查我们的流媒体服务器是不是能够适应各种环境,我们对流媒体服务器EasyNVR做了新的测试:如果局域网内只有1个摄像机,却想测试多个摄像机接入的效果,如何实现?例如现在只有一台摄像机,但是我们有看20台摄像机同步播放的需求,如何进行模拟?

    这里我们的解决办法,是通过一款开源产品EasyDarwin拉取一路摄像机视频流,再分发出去。EasyNVR通过配置通道为EasyDarwin的分发地址就可以模拟出N个摄像机了。

    此开源产品大家可以自行下载,下面我讲一下此次方法的步骤:

    1、安装运行EasyDarwin,通过IP:10008访问首面,点击“推流列表”-“拉流分发”,在RTSP地址中输入摄像机视频流地址,点击“确定”按钮。

    158.png

    2、在推流列表中,点击刚添加的播放地址前的复制按钮,即成功复制了分发流地址。

    159.png

    3、将分发流地址粘贴到EasyNVR的“通道配置”-“摄像机接入RTSP地址”里保存,即添加成功一路摄像机。可重复添加至所需的数量。数量比较多时,可以使用文件配置数据批量上传。

    160.png

    本文我介绍了视频流媒体服务器如何将一路视频流进行多路的分发,如果大家还有什么问题,可以持续关注我,也可以留言问我。

    展开全文
  • Linux下视频流媒体服务器搭建详解

    万次阅读 2018-03-03 16:21:34
    目标用于搭建内网流媒体服务器支持视频的点播。背景用于支持培训网站中视频点拨功能,在培训网站总体方案中需要加入流媒体服务器,用于存储和传输视频资源。相关概念流媒体流媒体(Streaming Media)是一种新兴的...

    目标用于搭建内网流媒体服务器支持视频的点播。

    背景

    用于支持培训网站中视频点拨功能,在培训网站总体方案中需要加入流媒体服务器,用于存储和传输视频资源。

    相关概念

    • 流媒体
      流媒体(Streaming Media)是一种新兴的网络传输技术,在互联网上实时顺序地传输和播放视/音频等多媒体内容的连续时基数据流。

    流媒体技术包括流媒体数据采集、视/音频编解码、存储、传输、播放等领域。

    • 流媒体系统组成
      包括编码工具、流媒体数据、服务器、网络和播放器。

    • 流媒体传输过程
      如下图所示:

    • 传输协议
      RSVP: 资源预留协议
      RTP: 实时传输协议
      RTCP: 实时传输控制协议
      MMS: 微软流媒体服务协议
      RTSP: 实时流协议
      RTMP: 实时消息传输协议
      MIME: 多目因特网电子邮件扩展协议

    解决方案

    商业方案

    • Real Network的Real System

      服务端软件:Helix Server
      平台:Windows or Linux
      文件格式:RealAudio, Realvideo, RealFlash
    • 微软的Windows Media Services

      服务端软件:Windows Media Server
      平台:Windows
      文件格式:ASF, WMV
    • 苹果公司的Quick Time系列

      服务端软件:QuickTime Streaming Server (开源版本为Darwin Streaming Server)
      平台:MacOS X, Linux, Windows
      文件格式:MOV, MP4

    在这三家公司的流媒体产品中,RealNetworks公司的免费服务端Helix Server Basic最大提供个流的并发,仅支持其专有编码RealAudio和RealVideo,基本上只能算是体验性的产品;微软公司的流媒体服务端Windows Media Server附带于其服务器产品Windows Server中,但只有最高版本的Windows Server Enterprice才具有完整的包括组播在内的所有流媒体服务器功能;苹果公司的Darwin Streaming Server(简称DSS)完全免费,没有任何功能限制,且符合国际标准。

    开源/免费解决方案

    • ffmpeg

      全平台视频转换
      开源
    • RED5

      Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。
      开源地址:[](https://github.com/Red5/red5-server)
    • Darwin Streaming Server

      为苹果公司视频流解决方案的开源版本。
    • easyDarwin

      国内基于Darwin Streaming Server二次开发的流媒体服务器,有中文支持网站。

    安装配置

    RED5

    使用HTTP协议播放

    1. 首先从github下载已编译版本,因为在Linux上安装使用,直接下载 red5-server-1.0.7-RELEASE.tar.gz文件即可。
    2. Java程序,在服务器上安装jre1.7版本后即可解压运行。测试阶段可以使用./red5-debug.sh启动red5服务器。在浏览器上输入http://[serverip]:5080/可以看到red5控制主页。
    3. 在red5安装目录下的webapp/vod目录下的视频文件可以在本地VLC播放器上连接http://[serverip]:5080/[filename]进行播放。

    Darwin Streaming Server

    功能同easyDarwin,在Linux上安装比较繁琐,所以暂时只试用easyDarwin。

    easyDarwin

    使用RTSP协议播放

    1. 首先从github下载源码或者已编译版本,因为上面有CentOS已编译版本,直接下载解压即可使用。
    2. 使用root账户启动执行程序,首次启动迁移开启调试模式,./easydarwin -c ./easydarwin.xml -d
    3. 启动后,可以在执行的从终端看到调试信息。同时使用http://[serverip]:8088可以登录,默认使用admin/admin登录。
    4. 在Movies目录下放置一些视频文件,就可以在客户端使用播放器进行播放,我测试使用的是VLC。

    连接流

    播放流

    Nginx + HLS

    HLSHTTP Live Streaming苹果公司开放的支持html5直接播放的视频流技术。
    Nginx实现http服务器功能,可以通过http访问m3u8文件实现播放。

    要使用HLS播放的第一步,是将视频文件切割成多个ts视频流,然后使用m3u8索引文件进行播放。生成m3u8和ts文件可以借助ffmpeg工具,使用如下命令就可以将一般的视频文件转换成HLS支持的文件。

    ffmpeg -i "G:\video\7 magic leap2.avi" -f hls "G:\video\HLR\test.m3u8"

    对于大文件用上面这种方式有可能出现m3u8缺少索引的情况,因此也可以使用以下的方式对文件进行转换。

    ffmpeg -i bigfile.mp4 -codec:v libx264 -codec:a aac -map 0 -f ssegment -segment_format mpegts -segment_list tos.m3u8 -segment_time 10 taste_of_shanghai%04d.ts

    直接使用Nginx访问文件路径

    不需要多余的软件,直接将m3u8文件所在目录设置为http server的根目录。

     server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
            #    root   html;
                 root /var/www/html;
                index  index.html index.htm;
            }

    即可使用播放器打开远程连接。

    hlr_playback

    Nginx + jwplayer

    Nginx编译时增加mp4和flv模块,可以让Nginx支持flv和mp4格式。为了后面说明支持RMTP协议,同时在增加RTMP模块。

    • 安装依赖包
    yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64
    tar xzvf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure
    make
    make install
    tar xzvf pcre-8.37.tar.gz
    cd pcre-8.37
    ./configure
    make 
    make install
    tar xzvf yamdi-1.9.tar.gz
    cd yamdi-1.9
    ./cofigure
    gcc yamdi.c -o yamdi -O2 -Wall
    tar xzvf openssl-1.0.1t.tar.gz
    cd openssl-1.0.1t
    ./config
    make depend
    make install
    • 安装ffmpeg以及依赖包
      需要安装yasm, x264, LAME, libogg,libvorbis, libvpx, faad2, faac
    # 汇编工具
    # 请网络搜索安装包
    unzip yasm-1.2.0-1.el6.x86_64.zip
    rpm -ivh yasm-1.2.0-1.el6.x86_64.rpm
    # h.264编码
    # http videolan.org
    tar xjvf last_x264.tar.bz2
    cd x264-snapshot-20160718-2245
    ./configure --enable-shared
    make
    make install
    # LAME mp3编码器
    wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
    tar xzvf lame-3.99.5.tar.gz
    cd lame-3.99.5
    ./configure --enable-nasm
    make
    make install
    # libogg 音频编码器
    wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
    tar xzvf libogg-1.3.2.tar.gz
    cd libogg-1.3.2
    ./configure
    make
    make install
    # libvorbis 音频编码器
    wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
    tar xzvf libvorbis-1.3.5.tar.gz
    cd libvorbis-1.3.5
    ./configure
    make
    make install
    # libvpx VP8编码解码器
    # 网络搜索
    tar xjvf libvpx-1.5.0.tar.bz2
    cd libvpx-1.5.0
    ./configure --enable-shared
    make
    make install
    # FAAD2 MPEG-2和AAC格式的编解码器
    wget http://downloads.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz
    tar xzvf faad2-2.7.tar.gz
    cd faad2-2.7
    ./configure
    make
    make install
    # faac AAC编解码器
    wget http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz
    tar xzvf faac-1.28.tar.gz
    cd faac-1.28
    ./configure
    make
    make install
    # xvid 视频编码
    wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
    tar zxvf xvidcore-1.3.2.tar.gz
    cd xvidcore/build/generic
    ./configure
    make
    make install
    # ffmpeg 转换工具
    wget http://ffmpeg.org/releases/ffmpeg-3.1.1.tar.bz2
    tar xjvf ffmpeg-3.1.1.tar.bz2
    cd ffmpeg-3.1.1
    ./configure  --prefix=/opt/ffmpeg/ \
    --enable-version3  \
    --enable-libvpx \
    --enable-libfaac \
    --enable-libmp3lame  \
    --enable-libvorbis \
    --enable-libx264 \
    --enable-libxvid \
    --enable-shared \
    --enable-gpl \
    --enable-postproc \
    --enable-nonfree  \
    --enable-avfilter \
    --enable-pthreads
    
    make
    # 可以忽略编译过程中的警告信息
    make install
    • 修改/etc/ld.so.conf
    inclue ld.so.conf.d/*.conf
    /lib
    /lib64
    /usr/lib
    /usr/lib64
    /usr/local/lib
    /usr/local/lib64
    /opt/ffmpeg/lib

    执行ldconfig使修改生效。

    • 编码测试
    ffmpeg -i ./a_day_with_htc_vive.avi -f hls ./htcvive.m3u8
    • 编译Nginx
    wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz
    tar xzvf nginx_mod_h264_streaming-2.2.7.tar.gz
    
    # https://github.com/arut/nginx-rtmp-module
    unzip nginx-rtmp-module-master.zip 
    vi nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c 
    # 注释以下内容
    /* TODO: Win32 */
    if (r->zero_in_uri)
    {
    return NGX_DECLINED;
    
    }
    groupadd nginx
    useradd nginx
    usermod -G nginx nginx
    tar zxf nginx-1.8.0.tar.gz
    cd nginx-1.8.0
    ./configure --prefix=/usr/local/nginx \
    --add-module=/opt/video/nginx_mod_h264_streaming-2.2.7 \
    --with-http_flv_module \
    --with-http_ssl_module \
    --with-http_mp4_module \
    --with-http_gzip_static_module \
    --with-http_stub_status_module \
    --with-pcre=/opt/video/pcre-8.37 \
    --with-zlib=/opt/video/zlib-1.2.8 \
    --user=nginx --group=nginx \
    --add-module=/opt/video/nginx-rtmp-module-master \
    --with-cc-opt=-I/opt/ffmpeg/include \
    --with-ld-opt=-L/opt/ffmpeg/lib-R/opt/ffmpeg/lib
    
    make 
    make install
    • 配置nginx.conf文件
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root /var/www/html;
                index  index.html index.htm;
                location ~ \.flv$
                {
                    flv;
                }
                location ~ \.mp4$
                {
                    mp4;
                }
            }
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
                root /var/www/html;
                break;
            }
    展开全文
  • 当然可以了,H5火了这么久,涵盖了各个方面的技术,我们的流媒体服务器就可以支持H5的直播。 简单的推流服务器搭建,由于我们上传的视频流都是基于rtmp协议的,所以服务器也必须要支持 rtmp才行,大概需要以下...

    视频直播这么火,再不学就out了!为了紧跟潮流,本文我也将向大家介绍一下视频直播中的基本流程和主要的技术点,包括但仅不限于前端技术。

    H5 到底能不能做视频直播?

    当然可以了,H5火了这么久,涵盖了各个方面的技术,我们的流媒体服务器就可以支持H5的直播。

     

    简单的推流服务器搭建,由于我们上传的视频流都是基于rtmp协议的,所以服务器也必须要支持 rtmp才行,大概需要以下几个步骤:

    1 安装一台 nginx 服务器。

    2 安装 nginx 的 rtmp 扩展,目前使用比较多的是https://github.com/arut/nginx-rtmp-module。

    3 配置 nginx 的 conf 文件:

     rtmp {  
    
         server {  
    
             listen 1935;  #监听的端口
    
             chunk_size 4000;  
    
    
             application hls {  #rtmp推流请求路径
                 live on;  
                 hls on;  
                 hls_path /usr/local/var/www/hls;  
                 hls_fragment 5s;  
             }  
         }  
     }  
    

    4 重启 nginx,将 rtmp 的推流地址写为 rtmp://ip:1935/hls/mystream,其中 hls_path 表示生成的 .m3u8 和 ts 文件所存放的地址,hls_fragment 表示切片时长,mysteam 表示一个实例,即将来要生成的文件名可以先自己随便设置一个。更多配置可以参考:https://github.com/arut/nginx-rtmp-module/wiki/

    根据以上步骤基本上已经实现了一个支持 rtmp 的视频服务器了。

    对于视频播放,可以使用 HLS(HTTP Live Streaming)协议播放直播流,iOS 和 Android 都天然支持这种协议,配置简单,直接使用 video 标签即可。

    简单来说,直接使用 video 标签即可播放 hls 协议的直播视频:

     <video autoplay webkit-playsinline>  
         <source src="http://10.66.69.77:8080/hls/mystream.m3u8" type="application/vnd.apple.mpegurl" />  
         <p class="warning">Your browser does not support HTML5 video.</p>  
     </video> 
    

    需要注意的是,给 video 标签增加 webkit-playsinline 属性,这个属性是为了让 video 视频在 ios 的 uiwebview 里面可以不全屏播放,默认 ios 会全屏播放视频,需要给 uiwebview 设置 allowsInlineMediaPlayback=YES。业界比较成熟的videojs可以根据不同平台选择不同的策略,例如 iOS 使用 video 标签,pc 使用 flash 等。

    展开全文
  • 之前我就介绍了OBS推流软件结合我们的流媒体直播服务器如何进行推流直播,我们的流媒体服务器就能够用OBS推流直播,是个非常便捷的工具。那么本篇就为大家介绍下OBS推流录屏或直播的流程。 1、我们首先要下载软件,...
  • 丰富的内置插件提供了流媒体服务器的常见功能,例如rtmpserver、http-flv、视频录制、QoS等。除此以外还内置了后台web界面,方便观察服务器运行的状态。也可以自己开发后台管理界面,通过api方式获取服务器的运行...
  • 其中NVR是网络视频监控系统的存储转发部分,它的核心功能是视频流的存储与转发。像我们的EasyNVR使用的就是NVR存储,当然也有其他存储方式(如何实现摄像头监控数据实时存储及传输?),这里我们就不做赘述了。 ...
  • 同事们最近都一直热衷于智能化的研发,在视频流媒体服务器上,智能化的表现就在于视频只能分析、视频录像回放等一些功能点上,当然这些功能点也是我们的流媒体服务器一直具备的,在往后我们的智能流媒体势必会有更多...
  • 本文和大家讲一下视频流媒体服务器中RTMP和RTS的P区别是什么? 大家都知道我们研发的不同视频流媒体服务器是接入不同协议的,国标流媒体服务器接入GB28181协议,而视频直播点播流媒体服务器就是接入RTSP和RTMP
  • 国标28181协议全称为GB/T28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草的...
  • 摄像机的码流推送,很简单,但从未知到形成现在的文档也花费了大量的时间,希望对入门人有帮助。 1. 获取海康摄像头的视频流(基于RTSP协议的视频流) ...2. 流媒体服务器搭建 3. 前端页面选用合适的播放器进行播放
  • 详细介绍音视频流媒体服务器对应的授权方案,解决安防互联网无插件直播服务器部署过程中所遇到的问题。
  • 我们流媒体服务器可以传输多种格式的视频文件,能够比较好的兼容ios、android系统,包括电脑系统和网页无插件直播。本文我打算给大家讲一下流媒体服务器的传输方式。流媒体服务器提供的流式传输方式有两种:顺序流式...
  • 文章目录一、安装FLASK、创建基本的环境二、创建视频流媒体服务器 有好几种方法可以流式传输视频。最好的(也是“更轻松”)方法是使用Miguel Grinberg开发的Flask。有关Flask如何执行此操作的详细说明,请参阅他的...
  • 一、直播与点播 直播:在我的理解中是实时录制的内容,类似各个晚会的实时直播过程,在现场采集图像的...2、推流,将本地视频或直播视频以流媒体的形式推送给流媒体服务器 (可能会涉及格式转换); 3、拉流 ,从服务
  • nginx搭建流媒体服务器(flv,mp4视频播放网站).zip
  • 基于java搭建的流媒体服务器(nginx+ffmpeg)可运行在linux上,具体文章说明:https://blog.csdn.net/weixin_40263855/article/details/87917484
  • 针对私有化部署一套流媒体服务器软件的视频延时问题,我们在上文为大家介绍了视频低延时主要影响因素之网络情况、前端设备的码流、前端设备的数量、直播流协议的选择四大要素,本文主要为为大家介绍最后一个,直播流...
  • 流媒体服务器(Streaming Media Server 简写MS)集群系统能够用相对较为廉价的方式提供较强的可扩展性和良好的吞吐性能,然而要使系统资源得到充分利用却面临着许多技术上的挑战,负载均衡技术就是其中之一。...
  • 流媒体服务器的搭建

    2018-12-12 22:28:30
    一、实验目的 掌握流媒体服务器的安装与配置,学会视频/音频的传送方法 二、实验内容 1、 安装Windows Media Service 2、 使用Windows Media Service发布视频点播
  • 熟悉我们的小伙伴都知道,当我们的RTSP/Onvif流媒体服务器与摄像头可以进行网络连接时,通过RTSP/Onvif流媒体服务器自带的Onvif探测即可实现Onvif摄像头的设备IP探测,成功后返回需要的流地址,实现摄像头的PTZ云台...
  • 搭建流媒体服务器视频推流服务调试 支持rtsp,rtmp,e3u8,flv等
  • 流媒体服务器(视频服务器)是在线视频应用的核心系统,用于支持海量大并发的视频播出服务,实现将视频存储、视频转码、协议复用、大并发播出等的工作集中处理,业务系统可以只关注业务细节而不用再去处理与视频相关的...
  • windows上架设流媒体服务器,nginx+rtmp+obs推流+vlc拉流解决方案。 Nginx是一款轻量级的Web 服务器/反向代理服务器,nginx-rmtp-module是Nginx服务器的流媒体插件。nginx通过rtmp模块提供rtmp服务, obs推送一个rtmp...
  • srs一款windows下面的流媒体服务器,srs一款windows下面的流媒体服务器,性能比red5高很多

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,496
精华内容 26,198
关键字:

视频流媒体服务器