精华内容
下载资源
问答
  • RTMP流媒体服务

    2020-02-25 10:16:43
    此服务是轻量级的、高性能的流媒体服务。可通过RTMP协议将本地文件、共享屏幕、本地音视频设备(摄像机,麦克风)等通过流转发的方式传输给flash播放器进行播放。基于c++开发,稳定可靠,代码跨平台,移植也相当方便...

    此服务是轻量级的、高性能的流媒体服务。可通过RTMP协议将本地文件、共享屏幕、本地音视频设备(摄像机,麦克风)等通过流转发的方式传输给flash播放器进行播放。基于c++开发,稳定可靠,代码跨平台,移植也相当方便,低延时。支持多种音视频格式的传输、支持RTSP转RTMP、同时支持RTSP/RTMP的转发

    展开全文
  • 利用nginx-rtmp搭建Windows流媒体服务器,支持rtmp、hls协议播放。包含rtmp流媒体服务器搭建的工具和方法。
  • Nginx搭建rtmp流媒体服务器详解与实例
  • RTMP流媒体协议是 一套 Adobe 开发的音频视频实时传输协议;nginx-rtmp 是一个基于nginx的 RTMP服务模块,开源,免费,接下来通过本文给大家介绍在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器,需要的朋友可以参考下
  • 纯C++代码,读取H264文件到内存推流到RTMP流媒体服务器,关键使用libRTMP库封装成RTMP协议格式!方便初学者
  • 搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流 https://www.jianshu.com/p/06c2025edcd3 sudo apt-get install build-essential sudo ./configure –prefix=/usr/local/nginx –with-pcre=../nginx-dependence/pcre...

    搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流

    硕士毕业后,一直从事算法工程师,具有丰富的深度学习,图像视频处理经验,因此录制了一些课程,欢迎大家观看,有问题可以找我私聊:QQ:81664352,谢谢
    基于web端的人脸识别算法视频教程
    1.掌握深度学习图像处理(基于keras、tensorflow、opencv)
    2.掌握web前后端设计(基 于flask框架)
    3.开发基于web端的深度学习图像,把web端应用与人工智能相结合
    视频教程
    https://edu.csdn.net/course/detail/28400/391614?pre_view=1

    https://www.jianshu.com/p/06c2025edcd3

    sudo apt-get install build-essential

    sudo ./configure --prefix=/usr/local/nginx --with-pcre=…/nginx-dependence/pcre-8.40 --with-zlib=…/nginx-dependence/zlib-1.2.11 --with-openssl=…/nginx-dependence/openssl-1.1.0 --with-http_ssl_module --add-module=…/nginx-dependence/nginx-rtmp-module

    安装Nginx依赖

    我是在根目录下安装的依赖。首先在根目录下创建一个叫做nginx-dependence的文件夹
    sudo mkdir nginx-dependence
    然后在nginx-dependence中安装依赖,按行依次运行以下命令。这些依赖一定不要使用apt-get 安装 ,因为后面在配置Nginx的时候,要提供这些依赖的源码路径。(我一开始是使用apt-get 安装 依赖的,结果在nginx 的configure 步骤出现问题,所以我就重新安装了)
    cd nginx-dependence
    sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
    sudo tar -zxvf pcre-8.40.tar.gz
    cd pcre-8.40/
    sudo ./configure
    sudo make
    sudo make install

    sudo wget http://zlib.net/zlib-1.2.11.tar.gz

    sudo tar -zxvf zlib-1.2.11.tar.gz
    cd zlib-1.2.11/
    sudo ./configure
    sudo make
    sudo make install

    sudo wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0.tar.gz
    sudo tar -zxvf openssl-1.1.0.tar.gz
    cd openssl-1.1.0/
    sudo ./config
    sudo make
    sudo make install
    在nginx-dependence目录中,先下载nginx-rtmp-module
    git clone https://github.com/arut/nginx-rtmp-module.git

    所以在此文件中有,如图:
    这里写图片描述

    安装Nginx
    首先运行:
    apt-get install build-essential
    apt-get install libtool

    然后下载并安装Nginx,我安装的版本是1.12.0,我也是安装在根目录的。
    依次运行下面的指令。
    回到nginx-dependence上一层目录
    sudo wget http://nginx.org/download/nginx-1.12.0.tar.gz
    sudo tar -zxvf nginx-1.12.0.tar.gz
    cd nginx-1.12.0/

    sudo ./configure --prefix=/usr/local/nginx --with-pcre=…/nginx-dependence/pcre-8.40 --with-zlib=…/nginx-dependence/zlib-1.2.11 --with-openssl=…/nginx-dependence/openssl-1.1.0 --with-http_ssl_module --add-module=/nginx-dependence/nginx-rtmp-module
    sudo make
    sudo make install

    –with-pcre=…/nginx-dependence/pcre-8.40 就是我的pcre依赖所放置的位置,这个位置可根据自己的安装位置进行灵活配置。–add-module=。。/nginx-dependence/nginx-rtmp-module 这个module 的路径也要正确设置为之前下载nginx-rtmp-module的路径。如果出现找不到什么文件,那么就是目录设置错误。
    启动Nginx
    如果上面的步骤都没有出错,则可以检验一下nginx是否已经安装正确了:在命令行中输入这个命令启动nginx服务器:
    sudo /usr/local/nginx/sbin/nginx

    如果没有报任何错误,则可以打开浏览器看看nginx是否启动成功。打开浏览器,输入localhost 或本机的IP地址,按回车,如果看到这样的界面,说明nginx已经安装成功并且启动成功了。如图
    这里写图片描述

    如果有的时候启动时出现这样的提示如图:
    这里写图片描述
    这是重复启动导致的。运行sudo /usr/local/nginx/sbin/nginx -s stop可以先停止运行之前启动的,然后再次运行
    sudo /usr/local/nginx/sbin/nginx就没有问题了。

    配置Nginx流媒体服务器

    nginx服务器有一个配置文件叫做nginx.conf ,这个文件默认是位于/usr/local/nginx/conf 目录下。
    我将这个文件改成这样:
    worker_processes 1;

    error_log logs/error.log debug;

    events {

    worker_connections 1024;

    }

    rtmp {

    server {

    listen 1935;

    application videotest{

    live on;

    }

    }

    }

    http {

    include mime.types;

    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {

    listen 80;

    server_name localhost;

    location / {

    root html;

    index index.html index.htm;

    }

    redirect server error pages to the static page /50x.html

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {

    root html;

    }

    }

    }

    其中rtmp就是rtmp服务器模块,端口是1935,application我理解为一个路径。可以通过访问rtmp://localhost/videotest 来访问videotest这个资源。live on 表示这是实时的传输,这不同于点播,点播就好比我在某视频网站上想看一个视频,无论我什么时候去点击,它会从头开始播放。而实时传输(直播),就是好比看电视,我在19:20去打开电视(打开直播路),视频不会从头开始播放,而是从当前(19:20)的视频数据开始播放。
    除了配置rtmp服务器,还可以配置HTTP和HTTPS服务器。这方面我还没有深入去了解。更多关于nginx服务器和其配置方式,请阅读nginx官网 。

    安装ffmpeg

    首先安装h264 视频编解码库:
    sudo apt-get update
    sudo apt-get install libx264-dev

    安装ffmpeg ,依次输入以下命令:
    wget http://ffmpeg.org/releases/ffmpeg-3.0.9.tar.bz2
    tar jxvf ffmpeg-3.0.9.tar.bz2
    cd ffmpeg-3.0.9/
    sudo ./configure --enable-shared --enable-pthreads --enable-gpl --enable-avresample --enable-libx264 --enable-libtheora --disable-yasm

    动态
    sudo ./configure --disable-shared --enable-static --enable-pthreads --enable-gpl --enable-avresample --enable-libx264 --enable-libtheora --disable-yasm
    静态

    如果出现错误 ,可能需要安装sudo apt-get -y install libtheora-dev
    sudo make
    sudo make install
    其中sudo make 这个过程会比较久。安装完ffmpeg之后,在命令行中输入ffmpeg:
    如果出现找不到库,说明是使用动态编译,库的路径无法找到。
    因为这里我重新用静态命令编译一遍,然后就成功了。

    推流与拉流

    配置好nginx.conf之后,重新启动sudo /usr/local/nginx/sbin/nginx
    然后在命令行中使用 ffmpeg 进行推流:
    ffmpeg -re -i /home/hjh/nginx/video.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://localhost:1935/videotest/test
    /home/hjh/nginx/video.mp4自己需要播放的文件。
    在本机器上用vlc打开串流rtmp://localhost:1935/videotest/test如图:

    这里写图片描述

    这里有一个bug,局域网中其他电脑访问服务器需要使用:
    rtmp://10.150.90.230:1935/videotest/test
    10.150.90.230 表示服务器的IP地址,并且需要加入端口号,否则只能在本机服务器上播放,其他电脑如法播放。

    展开全文
  • 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RTMP,RTMPE, RTMPS, RTMPT, RTMPTE),如果你不想用RED5的话它也是一个...

    crtmpserver又称rtmpd是Evostream Media Server(www.evostream.com)的社区版本采用GPLV3授权

    其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。

    支持RTMP的一堆协议(RTMP,RTMPE, RTMPS, RTMPT, RTMPTE),如果你不想用RED5的话它也是一个很好的选择。

    展开全文
  • SRS搭建rtmp流媒体服务器 ***【免费下载源码和PPT课件】******【在线视频教程】*** 好文章,来自【福优学苑@音视频+流媒体】 SRS简介 SRS 简介 SRS定位是运营级的互联网直播服务器集群,追求更好的概念...

    SRS搭建rtmp流媒体服务器


    ***【免费下载源码和PPT课件】***
    ***【在线视频教程】***


    好文章,来自【福优学苑@音视频+流媒体】

     

    SRS 简介

     

    SRS 简介

     

        SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,

     

        包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、

     

        转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP

     

        多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。此外,SRS还提供丰富的应用接口,包括HTTP回调、

     

    安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。官方说明

     

    SRS特点

     

    1、简单,足够稳定。

     

    2、高性能,高并发,SRS是单线程、事件/st-线程驱动。最大可支持6k客户端。官网性能介绍: 性能测试

     

    3、可以作为rtmp源服务器,也可作为节点对接CND,从其他rtmp服务器上推/拉流。

     

    4、支持Vhost 及defaultVhost配置。

     

    5、核心功能是分发RTMP,主要定位就是分发RTMP低延时流媒体,同时支持分发HLS流。

     

    6、服务Reload 机制,即在不中断服务时应用配置的修改。达到不中断服务调整码率,添加或调整频道。

     

    7、cache 一个GOP ,达到播放器能快速播放的效果。(gop_cache配置项)

     

    8、可监听多个端口,支持长时间推拉流。

     

    9、forward配置项,可在服务器间转发流。

     

    10、支持转码,可以对推送到SRS的RTMP流进行转码,然后输出到其他RTMP服务器。可对指定的流配置是否转码。内置了FFMPEG.同时会提供FFMPEG的部分功能:输出纯音频、加文字水印、剪切视频、添加图片LOGO等。

     

    11、支持http回调,提供了客户端连接接口、关闭连接接口、流发布、流停止、流播放、停止播放等接口,方便再封装的应用跟踪流信息。内置也有一个http服务器,可直接调用api接口。

     

    12、内置流带宽测试工具、完善的日志跟踪规则。

     

    13、脚本管理,提供init.d系统脚本,也可通过调用api 控制服务状态。

     

    14、采集端支持:设备、本地文件,RTSP摄像头、rtmp等。官方意思是,能拉任意的流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG能转码。SRS的接入方式可以是“推流到SRS”和“SRS主动拉流”。

     

    15、支持将RTMP流录制成flv文件。FLV文件的命名规则是随机生成流名称,上层应用可通过http-callback 管理流信息。

     

    16、SRS日志很完善,支持打印到console和file,支持设置level,支持连接级别的日志,支持可追溯日志。

     

    SRS部署

     

    SRS是国产优秀流媒体服务器,在Github上开源, 可在 Linux 机器各主流系统上部署。操作简单。

     

    操作及配置清晰,文档齐全,在此只附上部署Demo : SRS_SampleDemo

     

    XX云平台使用SRS案例

     

    1、XX云平台PGC直播管理

     

    通过SRS 的http_callback ,XX云的直播模块,完成对流信息的管理。

     

    主要功能:创建频道、编辑频道、跟踪频道信息、转码模板、时移、录制、直播加密。

     

    2、SRS集群

     

    SRS集群 : 基于SRS多节点、多层级部署, 通过srs-调度,使得不同层级只负责一项任务。达到集群部署的效果,可横向和纵向扩展。

    image.png

     

    3、基于SRS集群的UGC直播管理

    image.png

    ------------------------------------

     

    1.源码下载:

     

    git clone https://code.csdn.net/winlinvip/srs-csdn.git

    cd srs-csdn

    git pull  

    git checkout 2.0release

    2.编译安装

     

    cd trunk

    #查看编译时的帮助,里面有一些指定的参数是情况加减,官方文档

    ./configure -h 

    #开始编译:

    ./configure --prefix=/usr/local/srs --with-ssl --with-hls --with-hds --with-dvr --with-nginx --with-http-callback --with-http-server --with-stream-caster --with-http-api --with-ffmpeg --with-transcode --with-ingest --with-stat --with-librtmp --with-research --with-utest --with-gperf --with-gprof

    make

    make install

     

     

    3.第三方应用启动:

     

    #启动nginx  for hls

    sudo ./objs/nginx/sbin/nginx  

     

    #ffmpeg

    ./objs/ffmpeg/bin/ffmpeg       

     

    #to start the api-server

    python ./research/api-server/server.py 8085

     

    ./objs/srs -c conf/srs_kp.conf

     

    ps -ef | grep srs         #grep --color=auto srs

    ./objs/srs -v             #2.0.242

     

    可能用到的调试命令:

    sudo pkill -9 nginx 

    objs/nginx/sbin/nginx -c ./objs/nginx-1.5.7/conf/nginx.conf

    sudo nginx -s reload

    到此为止,SRS已编译安装完成!

     

    4.配置RTMP

     

    文件目录:./conf/rtmp.conf 

    配置内容:

    listen              1935;

    pid                 ./objs/srs.pid;

    chunk_size          60000;

    ff_log_dir          ./objs;

    srs_log_tank        file;  

    #配置日志答应到文件,需要和srs_log_level配合使用

    srs_log_level       trace; 

    #制定配置文件的级别,默认级别是trace

    srs_log_file        ./objs/srs.log;  

    #制定日志文件的位置。

    max_connections     1000; 

    #最大连接数

    daemon              on; 

    #以daemon的方式启动,如果要启动在console,那么需要配置daemon off;并且,需要配置srs_log_tank console;

    utc_time            off; 

    #是否使用utc时间。如果该值为off则使用本地时间,如果开始使用utc时间。

    vhost __defaultVhost__ {   

    #默认的vhost,在没有指明vhost的情况,默认使用这个vhost。

    }

    我配置的srs_kp.conf

    注意gop_cache 一定要设置成on,否则切片推流有卡顿

     

    # the config for srs to delivery hls

    # @see https://github.com/ossrs/srs/wiki/v1_CN_SampleHLS

    # @see full.conf for detail config.

     

    listen              1935;

    max_connections     1000;

    daemon              off;

    srs_log_tank        console;

    http_server {

        enabled         on;

        listen          8080;

        dir             ./objs/nginx/html;

    }

    vhost __defaultVhost__ {

        dvr {

            enabled             on;

            #配置成时分秒

            dvr_path            ./objs/nginx/html/[app]/[stream]/[15][04][05].flv; 

            dvr_plan            segment;

            dvr_duration        5; #切片长度,这个可以改  e.g. 1 or 3

            dvr_wait_keyframe   on;

        }

        gop_cache   on;

    }

     

    推流和播放

    推流:

    ./objs/ffmpeg/bin/ffmpeg -i "./doc/source.200kbps.768x320.flv" -vcodec libx264 -vprofile baseline -level 30 -g 60 -vb 800k -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -f flv rtmp://127.0.0.1:1935/live/gongjia

    播放:

     

    rtmp://172.17.6.96:1935/live/gongjia

    查看日志

    tail -f  ./objs/srs.log

     

     

    好文章,来自【福优学苑@音视频+流媒体】
    ***【免费下载源码和PPT课件】***
    ***【在线视频教程】***

    展开全文
  • RTMP流媒体服务器搭建——安装srs流媒体服务器 目录 安装srs流媒体服务器 测试srs流媒体服务器 使⽤OBS推流 1. 安装srs流媒体服务器(参考:RTMP分发) srs官⽹:https://github.com/ossrs/srs 码云的源代码...
  • 北广传媒移动电视(http://www.bj-mobiletv.com/)的RTMP流媒体服务器有漏洞 该漏洞可以上我们通过他们的...使用任意可以发布RTMP流媒体的客户端(例如:Adobe Flash Media Encoder,或者自己做一个Flash文件) ...
  • 喜欢就关注我们吧!“写此篇文章属于笔者在开发项目中,...”以下是使用nginx自行搭建rtmp流媒体服务器,分别从windows系统和linux系统中进行搭建。一、Windows系统搭建nginx下载地址:http://nginx-win.ecsds.eu/do...
  • 文章目录音视频基础(38)连接RTMP流媒体服务器 音视频基础(38)连接RTMP流媒体服务器
  • Nginx搭建RTMP流媒体服务器 安装CentOS 6操作系统。 安装gcc环境 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,先安装gcc环境。 yum install -y gcc gcc-c++ 安装pcre和pcre-devel nginx的...
  • nginx+rtmp流媒体服务器搭建 一、nginx+rtmp简介 Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善...
  • 压缩包里包含了: Linux下通Nginx搭建RTMP流媒体服务器需要的一系列源码包。 搭建方法可以参考博文: https://blog.csdn.net/xiaolong1126626497/article/details/105378894
  • http://www.oschina.net/p/crtmpserver crtmpserver又称rtmpd是... 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RTMP,
  • 场景需求: 采用opencv读取rtsp视频流并进行逐帧处理之后,采用python的requests.post()将处理之后的图片推送给web端的时候发现,画面超慢,算法可以做到20fps,所以就是...参考手把手教你搭建Nginx-rtmp流媒体服...
  • rtmp流媒体服务器,开源方案有多种,包括srs,red5,crtmpserver,fms,nginx插件等。本文描述了基于nginx插件的方式来实现rtmp流媒体服务器nginx-rtmp,该插件可以基于开源的nginx-rtmp-module。 本文是基于...
  • 本文介绍了如何使用 Nginx 搭建 RTMP 流媒体服务器,并提供配置文件和前端示例,实现直播功能。
  • 阿里云搭建rtmp流媒体服务器,中间踩过一些坑,过程一步步纪录的很详细,以及碰到的一些问题。
  • 参照:搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流 部分细节: 安装pcre:sudo wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz 安装Nginx时,sudo ./configure 后。注意文件路径 ...
  • 本地RTMP流媒体服务器搭建。 一、火力牛摄像头配置 ip 为服务器的ip 二、本地搭建rtmp服务器 https://blog.csdn.net/szydwy/article/details/78632222 三、拉流 EeasyPlay拉流 ......
  • RTMP流媒体服务器一般只接收RTMP格式的推流。目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其配置里面配置推送到RTMP流媒体服务器上。但是大部分的安防网络摄像机还不带推流功能,对于这种摄像机只能...
  • 1.在ubuntu16.04上搭建Nginx-rtmp流媒体服务器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,135
精华内容 1,254
关键字:

rtmp流媒体服务