FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)

简介: FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)

环境介绍

当前使用的操作系统:  win10 64位


一、部署EasyDarwin服务器

据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费;下面就介绍一下EasyDarwin的使用过程。


官网地址: EasyDarwin 开源流媒体服务器 Open Source Streaming Server


如果官网下载速度比较慢,可以在CSDN上下载:

EasyDarwin-windows-10.7z-桌面系统文档类资源-CSDN下载

windows系统下搭建RTSP流媒体服务器很好用的框架,可以拉流和收流。使用详情请看博客。Ea更多下载资源、学习资料请访问CSDN下载频道.

https://download.csdn.net/download/xiaolong1126626497/29954155

image.png

image.png

image.png

image.png

运行成功会弹出一个控制台窗口:

image.png

然后打开浏览器输入 http://localhost:10008, 进入控制页面,默认用户名密码是admin/admin

image.png

image.png

image.png

二、ffmpeg命令行推rtsp流进行测试

win32下使用FFMPEG 4.2.2库下载地址:

Windows下32位的FFMPEG4.2.2的库,包括编译运行库和头文件_windows编译ffmpeg-桌面系统代码类资源-CSDN下载

https://download.csdn.net/download/xiaolong1126626497/12321684


ffmpeg推流本地视频文件到RTSP服务器: (UDP这是采用协议)

C:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "D:/BaiduNetdiskDownload/测试视频/Earth_enc_ass.mp4" -vcodec copy -codec copy -f rtsp rtsp://127.0.0.1:554/streamC:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "D:/BaiduNetdiskDownload/测试视频/Earth_enc_ass.mp4" -vcodec copy -codec copy -f rtsp rtsp://127.0.0.1:554/stream

image.png

打开EasyDarwin后台网页可以看到流已经上传上来了。


image.png

接下来使用VLC、PotPlayer、或者自己编写一个流媒体播放器就可以拉取ffmpeg发布的RTSP流。

下面这个是采用自己开发的流媒体播发器播放的效果:

image.png

这是采用PotPlayer播放器播放的效果:

image.png

采用TCP协议方式推流:(支持外网更加稳定)

C:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "D:/BaiduNetdiskDownload/测试视频/Earth_enc_ass.mp4" -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://127.0.0.1:554/stream

image.png

image.png

播放测试:

image.png

image.png

三、采用ffmpeg代码方式推rtsp流到服务器

对于RTMP和RTSP两种格式需要使用两种不同的封装器。

//RTMP封装器
//avformat_alloc_output_context2(&oc,nullptr,"flv",filename); //发布到网络
//RTSP封装器
avformat_alloc_output_context2(&oc,nullptr,"rtsp",filename); //发布到网络

软件运行效果:

image.png

网页上已经提示收到发布的rtsp流:

image.png

采用PotPlayer播放的效果:   效果:  实现桌面同屏/声画同步。

image.png

image.png

如果想自己采用FFMPEG代码方式推流本地摄像头+声卡数据或者摄像头+声卡数据到服务器,可以参考这里:

FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp推流(windows)_DS小龙哥的专栏-CSDN博客

一、基本介绍该软件里推流和视频保存使用FFMPEG库完成,视频和音频可以同步推流和录制,FFMPEG本身支持跨平台编译开发,QT也支持跨平台,在Android、Linux、windows都运行良好,只需要在不同平台编译对应的ffmpeg库即可,逻辑代码部分通用。由于核心代码和在发表博客里的代码差不多这里就不再贴出代码。FFMPEG编程使用参考的链接:(1) 使用NDKR19C编译...

https://blog.csdn.net/xiaolong1126626497/article/details/105324396


如果想自己采用FFMPEG代码方式开发流媒体播放器,可以参考这里:


QT软件开发: 基于FFMPGE设计的流媒体播放器(rtmp/rtsp)_DS小龙哥的专栏-CSDN博客

一、环境介绍操作系统:win10 64位QT版本:QT5.12.6编译器:MinGW 32ffmpeg版本: 4.2.2完整工程下载地址(下载即可编译运行):https://download.csdn.net/download/xiaolong1126626497/20644890本工程使用的FFMPEG库下载地址:https://download.csdn.net/download/xiaolong1126626497/13328939二、功能介绍使用...

https://blog.csdn.net/xiaolong1126626497/article/details/119247481


目录
相关文章
|
2天前
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。
|
15天前
|
网络安全 Docker 容器
VScode远程服务器之远程 远程容器 进行开发(五)
VScode远程服务器之远程 远程容器 进行开发(五)
17 1
|
25天前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
39 3
|
6天前
|
NoSQL PHP Redis
布谷语音app源码服务器环境配置及技术开发语言
布谷语音app源码服务器环境配置及技术语言研发。。
|
15天前
|
Kubernetes 网络安全 容器
VScode远程服务器进行开发(三)
VScode远程服务器进行开发(三)
20 0
|
2月前
|
Android开发 计算机视觉 C++
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
音视频编程对许多程序员来说是一片充满挑战的领域,但借助如OpenCV、LearnOpenGL、FFmpeg、OBS Studio及VLC media player等强大的开源工具,可以降低入门门槛。这些框架不仅覆盖了计算机视觉、图形渲染,还包括多媒体处理与直播技术,通过多种编程语言如Python、C++的应用,使得音视频开发更为便捷。例如,OpenCV支持跨平台的视觉应用开发,FFmpeg则擅长多媒体文件的处理与转换,而VLC media player则是验证音视频文件质量的有效工具。
75 0
FFmpeg开发笔记(五十一)适合学习研究的几个音视频开源框架
|
2月前
|
开发框架 JavaScript 前端开发
|
2月前
用ffmpeg提取合并音视频
用ffmpeg提取合并音视频
|
3月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
63 0
|
3月前
|
前端开发 安全 开发者
JSF文件上传,让Web应用如虎添翼!一招实现文件上传,让用户爱不释手!
【8月更文挑战第31天】在现代Web应用开发中,文件上传是重要功能之一。JSF(JavaServer Faces)框架提供了强大的文件上传支持,简化了开发流程。本文将介绍JSF文件上传的基本步骤:创建前端表单、处理上传文件的后端Action类、将文件保存到服务器指定目录以及返回结果页面。通过示例代码,我们将展示如何利用JSF实现文件上传功能,包括使用`h:inputFile`控件和`ManagedBean`处理上传逻辑。此外,JSF文件上传还具备类型安全、解耦合和灵活性等优点,有助于提升程序的健壮性和可维护性。
37 0

热门文章

最新文章