测试RTMP媒体流延迟时间
来源:互联网 发布:mysql for python 2.7 编辑:程序博客网 时间:2024/06/05 03:43
目的: 为了在有限环境下对rtmp协议延迟有个直观的认识,进行以下测试
步骤:1.通过使用网络上开源项目bigbluebutton的测试服务器提供的red5(bbb)服务器作为服务端,进行测试,该服务器IP地址为:198.27.69.80(2017-10-16),部署的red5应用为bigbluebutton(ip的获取方法见下文)
2.然后使用Adobe Flash Media Live Encoder向该bbb服务器发布一个视频流,并用rtmp播放器播放该视频流,观察其延时。
3.创建本地red5 服务器,采集海康摄像头视频发布到本地服务器(进行这步测试主要目的是1.海康摄像头画面有时间显示2.测试媒体转发会不会造成明显的延时) 采集方式有两种,一种是使用我们当前公司的采集程序进行采集,一种是使用ffmpeg,利用海康的rtsp媒体协议进行采集并以rtmp发布到red5(方法命令见下文).
4.将发布到本地的媒体流循环转发到本地,观察延时时间。
结果:通过测试,发现该服务器位于加拿大魁北克,我当前位于中国北京,延时最好情况下为23s(秒),随着时间推移,每次播放端进入缓冲状态,会增加一次延时.数分钟后 ,延迟竟达到60s(秒)以上。而通过本地测试,我自己实现的媒体转发功能并未产生明显的延时。
备注:1.如何获取网络上的red5服务器的
答:通过浏览器进入bigbluebutton提供的会议demo中,打开视频共享,使用wireshark进行抓包,抓到的rtmp包目的地址即为198.27.69.80。因为做过bbb二次开发,知道其red5存在应用名有bigbluebutton,sip,video等。
2.如何获得ip所在地区的
答:通过淘宝提供的接口:http://ip.taobao.com/service/getIpInfo.php?ip=198.27.69.80获取
参见:http://blog.csdn.net/he20101020/article/details/21519417
3.如何将海康摄像头发布到red5服务器的
使用ffmpeg的话,先下载了个ffmpeg windows版,在命令行运行:
ffmpeg -re -i rtsp://admin:test12345@192.168.2.45:554/h264/ch1/sub -f flv rtmp://192.168.2.66/bigbluebutton/1234
命令解析为:ffmpeg -re -i rtsp://海康用户名:密码@IP:PORT/获取编码/通道号/码流类型(子码流) -f flv rtmp://IP/APP/StreamName
- 测试RTMP媒体流延迟时间
- windows下live555+rtsp+ffmpeg媒体源,nginx+rtmp转发服务器,vlc播放rtmp媒体流
- nginx+ffmpge+rtmp实现媒体流的直播
- 开发rtmp直播流测试地址
- rtmp测试工具
- rtmp 协议测试函数
- 流媒体压力测试rtmp&hls(含推流和拉流)
- 流媒体压力测试rtmp&hls(含推流和拉流)
- SRS rtmp http-flv流低延时设置、测试
- 基于nginx-rtmp-module的推拉流测试
- 媒体测试心得
- windows下流媒体nginx-rmtp-module服务器搭建及java程序调用fmpeg将rtsp转rtmp直播流
- fedora测试nginx-rtmp-module
- Simple-RTMP-Server 服务器测试
- Azure 媒体服务的 RTMP 支持和实时编码器
- 在hi3518EV200模组上用ffmpeg实现rtmp推流直播测试
- 安装nginx服务器用于rtmp(ios端)推流测试
- HTTP/HLS/RTMP超级负载测试工具
- 利用Nginx配置文件转发
- 02Docker准备工作
- MySQL经典书籍推荐
- vijos1412(第k优背包)
- 2017 Fall SoftwareEngineering Learning (4)
- 测试RTMP媒体流延迟时间
- 编写kernel第一个Hello World
- 计算机基础汇总
- 登山策略(今日头条笔试题)?待解决
- dos和node.js基本操作命令
- LeetCode-- Remove Duplicates from Sorted List
- 微信外卖创业故事
- mysql 事物
- nodejs服务器与服务器之间通讯问题(nodejs服务器端创建客户端)