热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NGINX+ffmpeg实现大华摄像头视屏转流RTSP转RTMP或M3U8

一、准备1.环境:windows2.开发工具:ffmpeg、nginx(代理服务器)nginx-rmtp-module(nginx服务器的流媒体插件)、vlc(兼容性播放器)3.原

一、准备
1.环境:
windows
2.开发工具:
ffmpeg、nginx(代理服务器)nginx-rmtp-module(nginx服务器的流媒体插件)、vlc(兼容性播放器)
3.原理:
nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流。

二、启动nginx服务器
1.Ctrl+R调命令框输入cmd; //进入控制台
2.cd /d E:\showwork\FFmpeg_nginx\nginx-1.7.11.3-Gryphon //进入nginx的目录
3.nginx.exe -c conf\nginx-win-rtmp.conf //运行rtmp配置文件
注意:此时命令行会一直处于执行中,不用管也不要关闭

NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
(注意其中.conf 中修改server listen 端口号,本机同时用了IIS 的话有冲突, 我是改成了2000) 不是RTMP RTSP 的SERVER 这里也要注意
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
二、FFMPEG操作
1进入FFMPEG.EXE 所在目录,调用CMD开启操作窗口
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
大华的RTSP 地址:
例子:
rtsp://admin:[email protected]:554/cam/realmonitor?channel=2&subtype=1

rtsp://[username]:[password]@[ip]:[port]/cam/realmonitor?channel=1&subtype=0
说明:
username: 用户名。例如admin。
password: 密码。例如admin。
ip: 为设备IP。例如 10.7.8.122。
port: 端口号默认为554,若为默认可不填写。
channel: 通道号,起始为1。例如通道2,则为channel=2。
subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

RTSP 转 RTMP 命令:
ffmpeg -re -rtsp_transport tcp -i “rtsp://admin:[email protected]:554/cam/realmonitor?channel=2&subtype=1” -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 “rtmp://127.0.0.1:1935/live”
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
RTSP 是大华的RTSP
RTMP:IP是服务器的IP,端口号是 .CONF(上文提到的)里RTMP里的端口号
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
用VLC测试RTSP 和RTMP 地址的可用性:
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8

NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8

RTSP 转 M3U8:
ffmpeg -f rtsp -rtsp_transport tcp -i “rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1” -strict -2 -c:v libx264 -vsync 2 -c:a aac -f hls -hls_time 4 -hls_list_size 5 -hls_wrap 10 D:/DHDEMO/nginx-1.7.11.3-Gryphon/html/168_1.m3u8
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8

成功后的效果:
NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
DEMO下载地址: https://download.csdn.net/download/a523879907/12880534


推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
author-avatar
Hello_DavidLeete_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有