流媒体开发之easydarwin搭建rtspserver(代码片段)

宗而研之 宗而研之     2023-01-15     645

关键词:

0 背景

EasyDarwin 旭帆科技开源的流媒体服务器软件,EasyDarwin 社区专注于传统安防(RTSP/RTP/Onvif)流媒体技术,能够帮助开发者快速搭建流媒体服务平台,更快、更简单地实现流媒体直播与点播功能。本文主要介绍 rtsp server 的搭建,实现视频推流与拉流功能

1 windows版本

我们可以在 windows 上搭建流媒体服务器,在 官网下载链接里下载 windows 版本

解压后双击运行 “ServiceInstall-EasyDarwin.exe” 即可完成安装,安装完之后运行 "EasyDarwin.exe" 开始运行,在浏览器中输入 “127.0.0.1:10008” 可以查看推流列表。

使用下边第 3 节中的推流指令,使用 ffmpeg 完成推流,在 windows 下安装 ffmpeg 参考《windows安装ffmpeg_ffmpeg详细安装教程,亲测有效!》,这里不再赘述

2 服务端搭建

官网下载服务端代码,我们这里以 Linux 版本为例,下载后解压

解压并启动

tar -zxvf EasyDarwin-linux-8.1.0-1901141151.tar.gz
cd EasyDarwin-linux-8.1.0-1901141151
# 启动指令
bash start.sh
# 停止指令
# ./stop.sh

运行后会创建并启动相关服务

$ sudo systemctl status EasyDarwin_Service.service 
[sudo] password for nvidia: 
● EasyDarwin_Service.service - EasyDarwin_Service
   Loaded: loaded (/etc/systemd/system/EasyDarwin_Service.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-05-14 17:25:24 CST; 24h ago
 Main PID: 3951 (easydarwin)
    Tasks: 47 (limit: 4915)
   CGroup: /system.slice/EasyDarwin_Service.service
           └─3951 /home/nvidia/data/testvideo/EasyDarwin-linux-8.1.0-1901141151/easydarwin
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:74: rtsp server start --> rtsp://172.21.0.1
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [RTSPServer]2021/05/14 17:25:25 rtsp-server.go:154: rtsp server start on 554
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:54: http server start --> http://172.21.0.1:10008
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:115: log files --> /home/nvidia/data/testvideo/EasyDarwin-linux-8.1.0-1901141151/logs

至此,服务启动完毕,我们可以打开 10008 端口查看推流情况

3 推流命令

我们使用 ffmpeg 指令来将视频文件推流到 rtsp server 上

# 复制原视频编码格式,采用 UDP 协议
ffmpeg -re -stream_loop -1 -an -i test.mp4  -acodec copy -vcodec copy -rtsp_transport udp -f rtsp rtsp://192.168.170.109/10001

# 指定视频编码格式,采用 TCP 协议
ffmpeg -re -stream_loop -1 -an -i test.mp4 -vcodec h264 -rtsp_transport tcp -f rtsp rtsp://192.168.170.109/10001

然后在推流列表中可以看到成功推流

我们可以使用播放器来通过 rtsp://192.168.170.109/10001 地址来拉流  

ffmpeg音视频开发:发布rtsp流(采用easydarwin作为流媒体服务器)(代码片段)

环境介绍当前使用的操作系统: win1064位一、部署EasyDarwin服务器据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费;下面就介绍一下EasyDarwin的使用过程... 查看详情

如何使用easydarwin搭建代理流媒体服务器

参考技术A(1)http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Windows.exe下载后解压,直接点击文件Install.bat,安装到C:\ProgramFiles\DarwinStreamingServer(2)安装Perl解释器,从http://www.perl.org/get.html选择StrawberryPerlActiveStatePerl选择ActivePerlW... 查看详情

easycms和easydarwin的区别

easydarwin是流媒体服务,走视频流;easycms是设备接入与管理系统,走信令,与easydarwin配合工作。如果只是简单地直接推、拉流,easydarwin就行,但是要设备、用户管理,必须上easycms。另外,easydarwin通常也指包含所有相关项目的整... 查看详情

easydarwin开源流媒体server将select改为epoll的方法

本文来自EasyDarwin团队Fantasy(fantasy(at)easydarwin.org)一.EasyDarwin网络模型介绍EventContext负责监听全部网络读写事件。EventContext::RequestEvent每次插入一个监听事件到监听列表(select文件描写叙述符集合),EventThread::Entry()死循环监听加... 查看详情

easydarwin开源流媒体服务器支持basic基本认证和digest摘要自定义认证

本文转自EasyDarwin开源团队成员的博客:http://blog.csdn.net/ss00_2012/article/details/52330838在前面《EasyDarwin拉流支持基本认证和摘要认证》一文中讲述了如何通过修改qtaccess、qtusers来让EasyDarwin对我们创建的用户支持基本认证和摘要认证... 查看详情

从零开始搭建easydarwin环境——linux系统开发环境golang的搭建(代码片段)

EasyDarwin在语言上服务端使用的是Golang,前端网页是vue。因此我们需要有Golang和node的开发环境。本章我们将说明一下如何在Linux下搭建Golang环境。1.下载执行以下命令:wgethttps://studygolang.com/dl/golang/go1.17.3.linux-amd64.tar.gz可以... 查看详情

从零开始搭建easydarwin环境——windows系统开发环境golang的搭建(代码片段)

EasyDarwin在语言上服务端使用的是Golang,前端网页是Vue,因此我们需要有Golang和node的开发环境。上一篇我们介绍了Linux环境下的搭建,本章我们将说明一下如何在Windows下搭建起Golang环境。一、下载Go包Go的官方网站࿱... 查看详情

2022-05-11:k8s安装easydarwin流媒体服务器,yaml如何写?(代码片段)

2022-05-11:k8s安装easydarwin流媒体服务器,yaml如何写?答案2022-05-11:yaml如下:apiVersion:apps/v1kind:Deploymentmetadata:labels:app:easydarwinname:easydarwinnamespace:moonfddspec:replicas:1selector:matchLabels:app:easydarwintemplate:metadata:labels:app:... 查看详情

流媒体开发4环境搭建

0、前言ffmpeg开发环境的搭建分为:1、win10(1)FFmpeg命令行(2)安装vs2015(3)安装QT(4)自己编译FFmpeg2、ubuntu16.041、windows-ffmpeg命令行环境搭建**FFMPEG官网:**http://ffmp 查看详情

搭建自己的直播流媒体服务器srs,以及srs+obs直播推拉流使用及配置(代码片段)

...媒体解决方案Live555(C++)流媒体平台框架EasyDarwin(C++,国产精品&#x 查看详情

用darwin开发rtsp级联server(拉模式转发)(附源代码)

源代码下载地址:https://github.com/EasyDarwin orwww.easydarwin.org   在博客 在Darwin进行实时视频转发的两种模式 中,我们描写叙述了流媒体server对源端音视频转发的两种模式。当中一种#拉模式# 转发。在我们通... 查看详情

从零开始搭建easydarwin环境——git的安装下载及拉取easydarwin代码运行

...;根据提示成功安装后可以看到页面:下一步就是拉取EasyDarwin代码并运行,这时我们就需要从github开始。四、拉取EasyDarwin代码1、首先注册一个github账号,附网址 gitthub网址https://gi 查看详情

搭建自己的直播流媒体服务器srs,以及srs+obs直播推拉流使用及配置(代码片段)

...媒体解决方案Live555(C++)流媒体平台框架EasyDarwin(C++,国产精品)实时流媒体播放服务器程序DarwinStreamingSrvr(C++)Flash流媒体服务器Red5(Java)流媒体服务器OpenStreamingServer(Jav... 查看详情

hls播放器rtsp播放器支持8k播放且低延时高并发全功能流媒体播放器easyplayer搭建之html中px,em,rem该如何区别?

EasyPlayer是一款流媒体播放器系列项目,支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性,核心基于ffmpeg,稳定、高效... 查看详情

javacv开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab

...频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之... 查看详情

基于easydarwin云视频平台的幼儿园视频直播解决方案

一、方案介绍1.1、方案背景在2016年10月25日至28日的安博会上,我们看到了不少的幼教平台厂商,我们注意到大部分的幼教平台,为了追求极佳的用户体验,在微信或者APP端能够做到极快的打开速度,具备秒开画面的功能,采用... 查看详情

esp8266开发之arduino环境搭建

ESP8266开发之arduino环境搭建1.Arduino简介    Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括MassimoBanzi、Da... 查看详情

linux之gstreamer视频编解码测试指令(代码片段)

0背景gstreamer是一个流媒体处理框架,可以使用插件的方法创建pipeline,快速验证某些功能。NVIDIA推出的deepstream 便是基于gstreamer开发的sdk,也推出了自己的插件,如硬件编解码模块NVCODEC。在开发过程中,我们... 查看详情