码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • EasyDarwin开源流媒体服务器


    文章目录

    • 前言
    • 一、EasyDarwin 简介
    • 二、EasyDarwin 主要功能特点
    • 三、安装部署
    • 四、推拉流测试
      • 1、进入控制页面
      • 2、推流测试
      • 3、拉流测试


    前言

    本文介绍一个十分实用的高性能开源 RTSP 流媒体服务器:EasyDarwin。


    一、EasyDarwin 简介

    EasyDarwin 是基于 go 语言研发,维护和优化的一个高性能开源 RTSP 流媒体服务器,能够帮助流媒体开发者和创业型企业快速构建流媒体服务平台,更快,更简单的实现最新的移动互联网流媒体直播和点播,同步音频和视频的传输,源码下载地址:

    • https://github.com/EasyDarwin/EasyDarwin
    • https://github.com/EasyDarwin/EasyDarwin/releases

    二、EasyDarwin 主要功能特点

    • 基于 Golang 开发维护;
    • 支持 Windows、Linux、macOS 平台;
    • 支持 RTSP 推流分发(推模式转发);
    • 支持 RTSP 拉流分发(拉模式转发);
    • 服务端录像 参考:https://blog.csdn.net/jyt0551/article/details/84189498
    • 服务端录像检索与回放 参考:https://blog.csdn.net/jyt0551/article/details/84189498
    • 关键帧缓存;
    • 秒开画面;
    • Web 后台管理;
    • 分布式负载均衡;

    三、安装部署

    1、下载解压 release 包
    https://github.com/EasyDarwin/EasyDarwin/releases
    在这里插入图片描述
    2、直接运行(Windows)
    双击 EasyDarwin.exe
    注:停止服务为 Ctrl + C
    在这里插入图片描述
    服务运行起来后如下所示:
    在这里插入图片描述

    四、推拉流测试

    1、进入控制页面

    打开浏览器输入 http://localhost:10008,进入控制页面,默认用户名密码都是 admin,主界面如下图所示
    在这里插入图片描述

    2、推流测试

    使用 FFmpeg 将输入的 FLV 视频文件转换为 RTSP 流,并通过 TCP 协议传输到本地主机的 “test1” 路径。视频编码使用 libx264,音频编码使用 AAC。

    ffmpeg -re -i SampleVideo_1280x720_20mb.flv -rtsp_transport tcp -vcodec libx264 -acodec aac -f rtsp rtsp://localhost/test1
    
    • 1
    • -re:这个选项告诉 FFmpeg 以实时模拟的方式读取输入文件。这对于模拟实时流传输很有用,即使输入文件本身不是实时生成的。
    • -i SampleVideo_1280x720_20mb.flv:这是输入文件的路径和文件名。在这个例子中,输入文件是名为 “SampleVideo_1280x720_20mb.flv” 的 FLV 格式视频文件。
    • -rtsp_transport tcp:这个选项指定了 RTSP(Real-Time Streaming Protocol)传输使用 TCP 协议。RTSP 是一种用于流媒体传输的协议,通过 TCP 可以提供稳定的传输。
    • -vcodec libx264:这个选项指定了视频编解码器为 libx264,它是一个开源的 H.264 视频编码器。H.264 是一种流行的视频编码标准,广泛用于视频压缩和传输。
    • -acodec aac:这个选项指定了音频编解码器为 AAC(Advanced Audio Coding),它是一种常用的音频编码格式,具有高音质和较低的比特率。
    • -f rtsp:这个选项指定了输出格式为 RTSP。RTSP 格式是用于流媒体传输的一种常见格式。
    • rtsp://localhost/test1:这是输出 RTSP 流的 URL。在这个例子中,输出的 RTSP 流将被传输到本地主机上的 “test1” 路径。

    在这里插入图片描述
    在推流列表可以看到相关信息:
    在这里插入图片描述

    3、拉流测试

    使用 FFplay 工具来播放一个通过 RTSP 协议传输的视频流

    ffplay -rtsp_transport tcp rtsp://localhost/test1
    
    • 1
    • -rtsp_transport tcp:这个选项指定了 RTSP 传输使用 TCP 协议。这将确保使用 TCP 进行稳定的传输。
    • rtsp://localhost/test1:这是要播放的 RTSP 流的 URL。在这个例子中,要播放的流位于本地主机的 “test1” 路径上。
      在这里插入图片描述
      可以看到拉流成功,正在进行播放
      在这里插入图片描述
      在推流列表可以看到相关信息:
      在这里插入图片描述

    我的qq:2442391036,欢迎交流!


  • 相关阅读:
    Pandas中Concat与Append_Python数据分析与可视化
    浅析Spring事务实现原理
    代理模式+动态代理+静态代理+那些使用场景?
    leetcode 2602. 使数组元素全部相等的最少操作次数
    AIGC领航,智能AI赋能乡村教育,梦想扬帆远航
    黑马案例--时钟案例拆分(利用node.js将内嵌标签改为外联标签)
    中职网络安全竞赛之应用服务漏洞扫描与利用
    【Linux】Systemd 中的单元(Unit)和单元文件(Unit File)怎么理解?
    OpenResty应用-数据库访问
    Spring1
  • 原文地址:https://blog.csdn.net/qq_41839588/article/details/134388514
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号