RTSP和RTMP视频流的区别
推流和拉流的区别
FFmpeg概念
FFmpeg是将音频和视频转为流的开源计算机程序。
EasyDarwin实现RTSP视频流服务步骤
下载FFmpeg并配置环境 ,执行ffmpeg -version测试安装是否成功。
成功配置ffmpeg版本:
实现
1、下载Nginx
2、下载trmp压缩包
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.exe
步骤
实现
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
可以看到这里的数值在动,就说明推流成功了
3.方式三:下载VLC播放器,选择【媒体】—【打开网络串流】—【网络】,粘贴地址,【播放】即可。