开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

这篇具有很好参考价值的文章主要介绍了开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。

1、SRS

GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.

2、EasyDarwin

https://github.com/EasyDarwin/EasyDarwin

3、Monibuca

Monibuca · GitHub

4、ZLMediaKit

GitHub - ZLMediaKit/ZLMediaKit: WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11

ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求

ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp、rtsp、hls、http-flv等流媒体协议,

支持linux、macos、windows三大PC平台和ios、android两大移动端平台。

ZLMediaKit功能概览

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、ZlMediaKit各文档说明地址

Home · ZLMediaKit/ZLMediaKit Wiki · GitHub

其功能较多,这里我们需要的是在Windows上运行,以及修改配置文件配置一些端口地址等配置,并实现按需拉流。

比如前端选择某摄像头之后,才进行拉取该摄像头的rtsp视频流,并转换成能网页能播放的Http-flv格式的视频流。

所以需要的文档只有如下:

配置文件详解:

ZLMediaKit/config.ini at master · ZLMediaKit/ZLMediaKit · GitHub

按需拉流:

ZLMediaKit实现按需拉流 · ZLMediaKit/ZLMediaKit Wiki · GitHub

RESTful接口:

MediaServer支持的HTTP API · ZLMediaKit/ZLMediaKit Wiki · GitHub

播放URL规则:

播放url规则 · ZLMediaKit/ZLMediaKit Wiki · GitHub

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

实现按需拉流流程

文档地址:

ZLMediaKit实现按需拉流 · ZLMediaKit/ZLMediaKit Wiki · GitHub

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

2、Windows上运行ZLMediaKit

Windows上无直接可用版本,一种是可以根据文档说明自己进行编译。

快速开始 · ZLMediaKit/ZLMediaKit Wiki · GitHub

一种是直接从网络上下载别人编译好的版本。

这里选择直接下载别人编译之后的版本使用,比如下面:

Windows上ZLMediakit编译后可直接运行版本(带外置配置文件和运行可能所需dll依赖):

https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/87685103

下载解压之后,MediaServer.exe是服务主程序,config.ini是配置文件。

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

编辑config.ini配置文件,根据自己需要进行修改,具体参照官方配置说明

这里是将Http的端口由原来的80改为800了

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

修改完配置文件之后,管理员模式启动MediaServer.exe即可。

启动成功之后的页面

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

其他功能所需配置根据自己需要决定开启或关闭,以及默认这些开启配置的端口注意不要冲突,

比如554、332、1935、19350、800、1443、9000、10002等配置文件中配置的端口。

ZLMediaKit启动时提示:由于找不到libcrypto-1_1x64.dll,无法继续执行代码。

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

以及提示:由于找不到libssl-1_1-x64.dll,无法继续执行代码。

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

则系统需要该两个依赖,从网络下载这两个dll,或者从上面资源中

将这两个dll,放到C:\Windows\System32目录下

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

添加如上两个dll之后,如果ZLMediaKit仍然启动时报错,则是缺少其他必须的依赖dll,另外两个dll也从上面复制到

System32目录下,或者从网络上自行下载之后复制过去。

faac:

Freeware Advanced Audio Codec download | SourceForge.net

SDL2:

Simple DirectMedia Layer - Homepage

3、实现按需拉流

这里以拉取rtsp视频流为例。

比如拉取宇视的rtsp的视频流。

rtsp://[username]:[password]@[ip]:[port]/media/video1/2/3

说明:

username: 用户名。例如admin。
password: 密码。例如admin123。
ip: 为设备IP。例如 192.168.1.107。
port: 端口号默认为554,若为默认可不填写。
video: 1代表主码流、2辅码流、3第三码流

如:rtsp://admin:admin123@192.168.1.107/media/video2

使用vlc拉取rtsp视频流确保能进行拉流和预览

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

按照文档说明如果需要实现按需拉流,需要在要拉流预览时调用api,所有api都可用get或post进行请求

/index/api/addStreamProxy

参数说明

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

参考给出的示例url

http://127.0.0.1/index/api/addStreamProxy?vhost=__defaultVhost__&app=proxy&stream=0&url=rtmp://live.hkstv.hk.lxdns.com/live/hks2

修改为

http://127.0.0.1:800/index/api/addStreamProxy?vhost=127.0.0.1&app=live&stream=test&url=rtsp://admin:123456@摄像头Ip/media/video2

这里都是在本地,并且配置的http的端口为800,然后指定虚拟主机地址也为本地,如果在服务器上,则配置为服务器的地址,然后设置流的应用名和流的唯一标识id

将以上地址在浏览器中访问或者用postman等测试工具中请求,请求成功时

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

状态码返回0,返回流应用名live,以及流的唯一标识id为test。

那么这些关键字可以根据文档URL的规则说明中进行拼接其他视频流格式。

比如拼接http-flv的格式为

http://127.0.0.1:800/live/test.flv

那么这个地址就可以直接在vlc或者网页中进行播放。

我们统一在vlc中进行播放http-flv以及原生rtsp的视频流进行对比延迟

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

如果rtsp的流地址播放失败则返回-1

 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

4、播放URl规则

注意上面播放URL规则中

老代码flv直播后缀为.flv,新代码才改成了.live.flv,这里是老版本的编译版本。

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

这里的live就是对应上面api调用时的流应用名,0就是对应的流id。

所以这里对应的url为

http://127.0.0.1:800/live/test.flv

在html以及Vue中播放http-flv格式的视频可参考如下:

Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流:

Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流_rtmp转flv_霸道流氓气质的博客-CSDN博客

5、不是部署在本机

上面调用api进行按需拉流时地址是127.0.0.1,如果ZLMediaKit在服务器上,如果直接修改ip为服务器ip则会提示

缺少必要参数secret

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

根据接口说明

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

如果操作Ip不是本机,则需要添加这个参数,参数获取在服务器上配置文件中获取

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

6、按需拉取多个rtsp流

如果说需要拉取多个视频流,则只需要调用接口时传递流id不同即可,流应用没必要改变。

http://127.0.0.1:800/index/api/addStreamProxy?vhost=127.0.0.1&app=live&stream=test2&url=rtsp://admin:123456@第二个摄像头Ip/media/video2

比如传递test2

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

则第二个摄像头的预览地址对应为

http://127.0.0.1:800/live/test2.flv文章来源地址https://www.toymoban.com/news/detail-415642.html

到了这里,关于开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 搭建SRS流媒体服务器

    搭建SRS流媒体服务器

    一、获取 SRS git clone https://github.com/ossrs/srs cd srs/trunk 二、编译SRS ./configure make 三、编写SRS配置文件(我的这个文件是原始的,未修改) vim conf/srs.conf 四、启动SRS ./objs/srs -c conf/srs.conf 五、启动ip摄像头进行推流 手机下载一个ip摄像头软件,然后设置中修改RTMP推流地址 rtmp://你的阿里

    2024年02月16日
    浏览(15)
  • 学着搭建流媒体服务器

    学着搭建流媒体服务器

    操作系统:NAME=\\\"openEuler\\\",架构:aarch64,CPU 运行模式:64-bit 目前有多个开发源代码可以搭建流媒体服务,但要先依赖gcc和cmake,所以首先安装gcc和cmake,查了一通资料,cmake安装记录如下: 1、依赖环境安装 yum -y install libyaml libyaml-devel python-setuptools libcurl-devel python-devel gmp gmp

    2024年02月11日
    浏览(12)
  • 流媒体服务器与视频服务器有什么区别?

    流媒体服务器与视频服务器有什么区别? 流媒体服务器用在远程教育,视频点播、网络电台、网络视频等方面。 直播过程中就需要使用流媒体服务器,一个完整的直播过程,包括采集、处理、编码、封包、推流、传输、转码、分发、解码、播放等过程,流媒体服务器主要负

    2024年02月11日
    浏览(15)
  • 搭建家庭影音媒体中心 --公网远程连接Jellyfin流媒体服务器

    搭建家庭影音媒体中心 --公网远程连接Jellyfin流媒体服务器

    转载自远程穿透的文章:【智能家居】Home Assistant入门安装并内网穿透实现远程安全控制 Home Assistant(以下简称HA)是个开源的智能家居平台,也叫家庭助手,就像一个软件,比如我们的QQ软件,微信软件。 Home Assistant把家中的智能家居设备整合到HA中,它能够接入的设备非常的

    2024年02月01日
    浏览(12)
  • FFmpeg 的使用与Docker安装流媒体服务器

    FFmpeg 的使用与Docker安装流媒体服务器

    本文阐述的均为命令行的使用方式,并不牵扯FFmpeg 的 C++音视频开发内容,补充一句,C++的资料真的少,能把C++学好的人,我真的是觉得巨佬。 我主要是使用FFmpeg 推流方面的知识,案例大都是靠近这方面。 一、FFmpeg 介绍 本文读者会比较小众~ 看到此文的朋友,大概率是需要

    2024年01月17日
    浏览(16)
  • SRS流媒体服务器——Forward集群搭建和源码分析

    SRS流媒体服务器——Forward集群搭建和源码分析

    Forward集群原理 RTMP流转发(Forward)部署实例 Forward集群源码分析 Forward 表示向前、前头的、发送等意思。 在SRS中可以理解为把Master节点获得直播流⼴播(转发)给所有的Slave节点,master节点由多少路直播流,那么在每个slave节点也会多少路直播流。 注:在SRS中还有另外⼀种集

    2023年04月11日
    浏览(12)
  • 网络摄像头-流媒体服务器-视频流客户端

    当涉及交通事件检测算法和摄像头视频数据处理时,涉及的代码案例可能会非常复杂,因为这涉及到多个组件和技术。以下是一个简单的Python代码示例,演示如何使用OpenCV库捕获摄像头视频流并进行实时车辆检测,这是一个常见的交通事件检测任务。请注意,这只是一个入门

    2024年02月09日
    浏览(12)
  • 使用nginx部署rtmp流媒体服务器完成直播推流

    使用nginx部署rtmp流媒体服务器完成直播推流

    笔者为了开发方便使用windows系统的Nginx进行配置。 下载Nginx http://nginx-win.ecsds.eu/download/ 在windows版本下只有个别的几个版本才支持rtmp服务,本文选择版本 nginx 1.7.11.3 Gryphon.zip 解压下载zip文件 在conf文件夹中找到 nginx-win.conf 配置我们所需要的内容 rtmp是adobe基于flash开发的音视频

    2024年02月15日
    浏览(14)
  • 华为云云耀云服务器L实例评测|部署个人音乐流媒体服务器 navidrome

    华为云云耀云服务器L实例评测|部署个人音乐流媒体服务器 navidrome

    云服务器是现代应用程序部署的理想选择。首先,云服务器提供了高度可扩展性,您可以根据需求灵活地增加或减少计算资源,这有助于节省成本和应对流量波动。其次,云服务器具备高可用性,数据备份和冗余使您的应用程序更加稳定,降低了停机时间。此外,云服务器还

    2024年02月07日
    浏览(7)
  • 9步实现 Docker部署 SRS rtmp/flv流媒体服务器

    9步实现 Docker部署 SRS rtmp/flv流媒体服务器

    这是基于centos7.6系统部署的 运行容器会直接停留在容器运行界面,通过Ctrl+P+Q可后台形式退出容器 这时候其实已经运行成功!可以通过以下命令查看SRS控制台 进入/home/docker/srs3 可查看配置文件是否复制成功 这是可能会报错: 因为步骤四我们意见运行一个容器,已经使用过

    2024年02月15日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包