使用ffmpeg+nginx-rtmp搭建rtsp转rtmp服务(直播)Demo

本文档介绍了如何利用ffmpeg和nginx-rtmp搭建rtsp到rtmp的直播服务。首先,通过ffmpeg在192.168.1.4服务器上对rtsp视频源进行转码,然后将转码后的流推送到192.168.1.5服务器上的nginx-rtmp服务,监听在rtmp://192.168.1.5/live/v1。转码过程中,使用tcp协议保证数据传输的可靠性,并调整视频尺寸和探测大小。最后,使用vlc player验证rtmp流。
摘要由CSDN通过智能技术生成

以下内容主要涉及1个rtsp视频源,1至2台计算机/服务器

此处假设视频源地址为rtsp://username:password@192.168.1.3:554/h264/ch1/main/av_stream

计算机/服务器地址为192.168.1.4和192.168.1.5,分别部署视频转码和视频直播推流

目标数据流地址为rtmp://192.168.1.5/live/v1

使用工具:

ffmpeg-4.2.1

nginx-1.11.10(含nginx-rtmp-module)

vlc player

以上工具的安装可参考其他相关博客

 

1、视频转码

在192.168.1.4服务器上,使用shell运行如下命令:

ffmpeg -rtsp_transport tcp -i rtsp://username:password@192.168.1.3:554/h264/ch1/main/av_stream -flush_packets 1 -vf scale=800:-1 -probesize 32 -acodec copy -f flv rtmp://192.168.1.5:1935/live/v1

在以上命令中

-rtsp_transport tcp  表示强制使用TCP协议进行数据读取,如不进行该配置,则默认采用UDP协议进行读取,在网络状况糟糕或其他一些原因下,使用UDP可能导致数据包大量丢失。

-i rtsp://username:password@192.168.1.3:554/h264/ch1/main/av_stream,配置源数据流 

-vf scale=800:-1 ,配置转码后视频流的大小,如800:600标识800x600像

Nginx-RTMP是一个基于Nginx的开源项目,它提供了一个功能强大的云服务RTSP视频流的解决方案。通过使用Nginx-RTMP,您可以将RTSP视频发到云服务器上,并通过HTTP或其他协议进行访问和播放。 以下是使用Nginx-RTMP进行RTSP视频发的步骤: 1. 安装Nginx-RTMP:首先,您需要在云服务器上安装Nginx-RTMP模块。您可以从Nginx-RTMP的官方网站或GitHub页面下载最新版本的源代码,并按照官方文档中的指引进行编译和安装。 2. 配置Nginx-RTMP:安装完成后,您需要编辑Nginx的配置文件,添加RTMP模块相关的配置项。您可以指定要监听的端口、发规则、推流地址等。具体的配置方式可以参考Nginx-RTMP的官方文档。 3. 启动Nginx-RTMP:配置完成后,您可以启动Nginx-RTMP服务,并确保服务正常运行。您可以使用命令行或者系统服务管理工具来启动和停止Nginx-RTMP。 4. RTSP视频流:一旦Nginx-RTMP服务正常运行,您可以使用RTSP协议将视频流推送到云服务器上。您可以使用常见的RTSP推流工具,如FFmpeg或OBS Studio,将本地的RTSP视频流推送到Nginx-RTMP服务器。 5. 访问和播放视频流:一旦视频流被成功推送到Nginx-RTMP服务器,您可以通过HTTP或其他协议访问和播放视频流。您可以使用常见的视频播放器,如VLC媒体播放器或HTML5视频播放器,通过指定Nginx-RTMP服务器的地址和端口来播放视频流。 希望以上介绍对您有帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值