深圳做的好的电子行业招聘网站,外包服务网站排名,南京网站开发南京乐识专心,免费网站建设总部文章目录 引言1、安装FFmpeg2、安装Nginx服务器3、实现本地视频推流服务4、使用VLC或PotPlayer可视化播放器播放视频5、RTSP / RTMP系列文章 引言 RTSP和RTMP视频流的区别 RTSP #xff08;Real-Time Streaming Protocol#xff09;实时流媒体协议。 RTSP定义流格式#xff… 文章目录 引言1、安装FFmpeg2、安装Nginx服务器3、实现本地视频推流服务4、使用VLC或PotPlayer可视化播放器播放视频5、RTSP / RTMP系列文章 引言 RTSP和RTMP视频流的区别 RTSP Real-Time Streaming Protocol实时流媒体协议。 RTSP定义流格式流数据经由RTP传输RTSP实时效果非常好适合视频聊天视频监控等方向。RTMPReal Time Message Protocol实时消息协议。 用来解决多媒体数据传输流的多路复用Multiplexing和分包packetizing的问题优势在于低延迟稳定性高支持所有摄像头格式浏览器加载 flash插件就可以直接播放。RTSP是服务器端推送到客户端而RTMP是点对点传输。RTSP是基于UDP或TCP传输数据时具有较小的延迟可用于实时流媒体的传输。RTMP是基于TCP具有高可靠性能够自动重连即使在网络环境不稳定时也能够保证流媒体传输的质量。RTSP也支持多种编码格式但通常只用于传输单个音视频轨道。RTMP支持多种编码格式包括H.264和AAC等支持多个音视频轨道。RTSP旨在建立和维护原始数据源客户端和流服务器之间的连接允许控制流媒体服务器内的娱乐和通信系统允许暂停和播放功能。RTMP支持整合文本、视频和音频支持MP3和AAC音频流也支持MP4、FLV和F4V视频。 推流和拉流的区别 推流指的是将摄像头、屏幕等设备上的数据通过网络传输到服务器并由服务器进行处理、存储或直播。比如在进行网络直播时主播需要将自己的摄像头数据通过网络上传到服务器这个过程就是推流。拉流指的是从服务器上获取视频流并在本地播放的过程也叫做播放。 比如在观看网络上的直播时用户需要从服务器上获取视频流才能进行观看这个过程就是拉流。 FFmpeg概念 FFmpeg是将音频和视频转为流的开源计算机程序。 EasyDarwin实现RTSP视频流服务步骤 安装FFmpeg安装EasyDarWin启动本地摄像头使用VLC或PotPlayer可视化播放器播放视频
1、安装FFmpeg
下载FFmpeg并配置环境 执行 ffmpeg -version 测试安装是否成功。
FFmpeg官网下载好的FFmpeg版本 成功配置ffmpeg版本 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 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) 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;}}} 4、启动RTMP服务器
打开CMD进入nginx 1.7.11.3 Gryphon目录下执行如下指令检查nginx的配置文件是否正确。
nginx.exe -t启动nginx服务器 start nginx 命令的作用是载入缺省./conf/nginx.conf配置文件启动nginx。 start nginx采用别的配置去开启nginx命令如下 nginx.exe -c conf\nginx-win.conf如何停止nginx服务器?
打开cmd输入如下命令
taskkill /f /im nginx.exe3、实现本地视频推流服务 步骤 准备一个视频放到FFmpeg文件夹下FFmpeg实现推流 实现 1、准备一个视频放到FFmpeg\bin文件夹下 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要想在推流指令中使用其它推流目录比如改为使用“ mydir ”就在 nginx.conf1 修改 live 》 mydir 可以看到这里的数值在动就说明推流成功了 4、使用VLC或PotPlayer可视化播放器播放视频
方式一下载PotPlayer播放器任意一个浏览器输入播放地址 rtmp://127.0.0.1:1935/live/test回车打开PotPlayer播放。方式二打开PotPlayer右下角选择【添加】—【添加链接】—【填写播放地址】 3.方式三下载 VLC播放器选择【媒体】—【打开网络串流】—【网络】粘贴地址【播放】即可。 5、RTSP / RTMP系列文章
1.Windows搭建RTSP视频流服务EasyDarWin服务器版