Windows搭建RTMP视频流服务(Nginx服务器版)

这篇具有很好参考价值的文章主要介绍了Windows搭建RTMP视频流服务(Nginx服务器版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

RTSP和RTMP视频流的区别

  1. RTSP (Real-Time Streaming Protocol)实时流媒体协议。 RTSP定义流格式,流数据经由RTP传输;RTSP实时效果非常好,适合视频聊天,视频监控等方向。
  2. RTMP(Real Time Message Protocol)实时消息协议。 用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器加载 flash插件就可以直接播放。
  3. RTSP是服务器端推送到客户端,而RTMP是点对点传输。
  4. RTSP是基于UDP或TCP,传输数据时具有较小的延迟,可用于实时流媒体的传输。
  5. RTMP是基于TCP,具有高可靠性,能够自动重连,即使在网络环境不稳定时也能够保证流媒体传输的质量。
  6. RTSP也支持多种编码格式,但通常只用于传输单个音视频轨道。RTMP支持多种编码格式,包括H.264和AAC等,支持多个音视频轨道。
  7. RTSP旨在建立和维护原始数据源(客户端)和流服务器之间的连接,允许控制流媒体服务器内的娱乐和通信系统,允许暂停和播放功能。RTMP支持整合文本、视频和音频,支持MP3和AAC音频流,也支持MP4、FLV和F4V视频。

推流和拉流的区别

  1. 推流:指的是将摄像头、屏幕等设备上的数据通过网络传输到服务器,并由服务器进行处理、存储或直播。比如,在进行网络直播时,主播需要将自己的摄像头数据通过网络上传到服务器,这个过程就是推流。
  2. 拉流:指的是从服务器上获取视频流并在本地播放的过程,也叫做播放。 比如,在观看网络上的直播时,用户需要从服务器上获取视频流才能进行观看,这个过程就是拉流。

FFmpeg概念

FFmpeg是将音频和视频转为流的开源计算机程序。

EasyDarwin实现RTSP视频流服务步骤

  1. 安装FFmpeg
  2. 安装EasyDarWin
  3. 启动本地摄像头
  4. 使用VLC或PotPlayer可视化播放器播放视频

1、安装FFmpeg

下载FFmpeg并配置环境 ,执行 ffmpeg -version 测试安装是否成功。

  1. FFmpeg官网
  2. 下载好的FFmpeg版本

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维
Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

成功配置ffmpeg版本:

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

2、安装Nginx服务器

  • Nginx 是一个高性能的HTTP和反向代理轻量级web服务器,同时也提供了IMAP/POP3/SMTP服务。
  • 在Nginx官网上下载的Nginx是不带RTMP模块的。所以本文需要下载Gryphton版本的Nginx服务器,即RTMP服务器就是基于Nginx开发的module
  • nginx 1.7.11.3 Gryphon该版本Nginx包含RTMP组件,通过RTMP组件,提供流媒体服务,让Nginx成为RTMP流媒体服务器。
  • Nginx——其他window版本下载

实现

1、下载Nginx

  • 下载[nginx 1.7.11.3 Gryphon](http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip),解压nginx 1.7.11.3 Gryphon.zip

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

2、下载trmp压缩包

  • 下载nginx-rtmp-module,将nginx-rtmp-module-master.zip解压到nginx 1.7.11.3 Gryphon目录中,并重命名文件夹为nginx-rtmp-module

在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f1e7c424a9244617882f38448d7042ee.png)

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维
Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

3、进入nginx 1.7.11.3 Gryphon文件夹的conf目录下, 创建并编辑 nginx.conf 文件

worker_processes  2;

events {
    worker_connections  8192;
}

rtmp {
    server {
        listen 1935;#监听端口,若被占用,可以更改
        chunk_size 4000;#上传flv文件块儿的大小
        application live { #创建一个叫live的应用
             live on;#开启live的应用
             allow publish 127.0.0.1;#
             allow play all;
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        off;
    #tcp_nopush     on;

    server_names_hash_bucket_size 128;

## Start: Timeouts ##
    client_body_timeout   10;
    client_header_timeout 10;
    keepalive_timeout     30;
    send_timeout          10;
    keepalive_requests    10;
## End: Timeouts ##

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }


}

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

4、启动RTMP服务器

打开CMD,进入nginx 1.7.11.3 Gryphon目录下,执行如下指令,检查nginx的配置文件是否正确。

nginx.exe -t

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

启动nginx服务器

start nginx 命令的作用是载入缺省./conf/nginx.conf配置文件,启动nginx。

start nginx

采用别的配置去开启nginx命令如下

nginx.exe -c conf\nginx-win.conf

如何停止nginx服务器?

打开cmd,输入如下命令

taskkill /f /im  nginx.exe

3、实现本地视频推流服务

步骤

  1. 准备一个视频放到FFmpeg文件夹下
  2. FFmpeg实现推流

实现

1、准备一个视频放到FFmpeg\bin文件夹下

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

2、FFmpeg实现推流

语法

ffmpeg -re -stream_loop -1 -i 视频文件.mp4 -c copy -f flv 播放地址

播放地址根据nginx.conf文件一一对应,如本文实现推流地址为 rtmp://127.0.0.1:1935/live/test

配置好FFmpeg环境,直接打开 cmd 输入如下命令,如果没配置FFmpeg环境,需要来到FFmpeg\bin目录下。

ffmpeg -re -stream_loop -1 -i 测试视频.mp4 -c copy -f flv rtmp://127.0.0.1:1935/live/test

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

要想在推流指令中使用其它推流目录,比如改为使用“ mydir ”,就在 nginx.conf1 修改 live ==》 mydir

可以看到这里的数值在动,就说明推流成功了

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

4、使用VLC或PotPlayer可视化播放器播放视频

  1. 方式一:下载PotPlayer播放器,任意一个浏览器,输入播放地址 rtmp://127.0.0.1:1935/live/test,回车,打开PotPlayer播放。
  2. 方式二:打开PotPlayer,右下角选择【添加】—【添加链接】—【填写播放地址】

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维
Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维
Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

3.方式三:下载 VLC播放器,选择【媒体】—【打开网络串流】—【网络】,粘贴地址,【播放】即可。
Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

Windows搭建RTMP视频流服务(Nginx服务器版),后端,windows,nginx,运维

5、RTSP / RTMP系列文章

1.Windows搭建RTSP视频流服务(EasyDarWin服务器版)文章来源地址https://www.toymoban.com/news/detail-773910.html

到了这里,关于Windows搭建RTMP视频流服务(Nginx服务器版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows上搭建rtsp-simple-server流媒体服务器实现rtsp、rtmp等推流以及转流、前端html与Vue中播放hls(m3u8)视频流

    Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流: Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流_霸道流氓气质的博客-CSDN博客 上面讲了Nginx-http-flv-module+flv.js进行流媒体服务器搭建和前端播放视频流的过

    2024年02月01日
    浏览(59)
  • 【音视频】基于NGINX如何播放rtmp视频流

    现阶段直播越来越流行,直播技术发展也越来越快。Webrtc、rtmp、rtsp是比较火热的技术,而且应用也比较广泛。本文通过实践来展开介绍关于rtmp如何播放。 本文重点介绍基于NGINX如何播放rtmp视频流 可以参考上一篇博文:【音视频】基于webrtc协议浏览器播放rtsp https://blog.csdn.n

    2024年01月19日
    浏览(64)
  • ffmpeg+nginx-rtmp转发视频流

    本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 画了好几天图,实在有些乏力,找点有意思的事情做做 觉得 视频流传输 挺有意思,B站找了些视频,但感觉有些大同小异,讲得不是很清楚 FFmpeg/RTMP/webRTC丨90分钟搞定直播逻辑-推流-流媒体服务器-拉流

    2024年02月11日
    浏览(37)
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流

    Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流: Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流_win nginx-rtmp最新版_霸道流氓气质的博客-CSDN博客 Vue中使用vue-video-player和videojs-flash插件实现播放rtmp视频文件流: Vue中使用vue-video-player和videojs-flash插件实现播放

    2024年02月03日
    浏览(48)
  • JAVA实现H264视频流推送到RTSP、RTMP服务----JavaCV

    前提: 1.准备好rtsp、rtmp服务 2.准备好视频流接收程序 基本思路是:启动两个线程,线程1接收视频流,线程2使用JavaCV将视频流推送到RTSP、RTMP服务,两者之间使用管道流进行通信。线程2接收到视频流后的具体操作:启动grabber接收视频流并捕获视频帧,然后启动recoder将捕获的

    2024年02月11日
    浏览(60)
  • ZLMeidaKit在Windows上启动时:计算机中丢失MSVCR110.dll,以及rtmp推流后无法转换为flv视频流解决

    ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放: ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放_zlm流媒体服务器_霸道流氓气质的博客-CSDN博客 按照以上教程启动MediaServer.exe时提示: 无法启动此程序,因为计算机中缺失MS

    2024年02月09日
    浏览(64)
  • 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

    目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. 2、EasyDarwin https://github.com/EasyDarwin/EasyDarwin 3、Monibuca Monibuca ·

    2023年04月16日
    浏览(60)
  • 将电脑本地视频转成rtsp和rtmp视频流

    1、安装rtsp-simple-server rtsp-server 下载好的文件直接运行就好 2、打开FFmpeg开始推流 udp推流 tcp推流 循环推流 其中: -re 为以流的方式读取; -stream_loop 为循环读取视频源的次数,-1为无限循环; -i 为输入的文件; -f 为格式化输出到哪里;

    2024年02月15日
    浏览(47)
  • 网络摄像头-流媒体服务器-视频流客户端

    当涉及交通事件检测算法和摄像头视频数据处理时,涉及的代码案例可能会非常复杂,因为这涉及到多个组件和技术。以下是一个简单的Python代码示例,演示如何使用OpenCV库捕获摄像头视频流并进行实时车辆检测,这是一个常见的交通事件检测任务。请注意,这只是一个入门

    2024年02月09日
    浏览(65)
  • 安防视频管理平台GB设备接入EasyCVR, 如何获取RTMP与RTSP视频流

    安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,比如:视频监控直播、云端录像、云存储、录

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包