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播放器,选择【媒体】—【打开网络串流】—【网络】,粘贴地址,【播放】即可。