FFMPEG音视频开发|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
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

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

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

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

运行成功会弹出一个控制台窗口:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

然后打开浏览器输入 http://localhost:10008, 进入控制页面,默认用户名密码是admin/admin
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

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

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

二、ffmpeg命令行推rtsp流进行测试 win32下使用FFMPEG 4.2.2库下载地址:Windows下32位的FFMPEG4.2.2的库,包括编译运行库和头文件_windows编译ffmpeg-桌面系统代码类资源-CSDN下载FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片
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/stream

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

打开EasyDarwin后台网页可以看到流已经上传上来了。
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

接下来使用VLC、PotPlayer、或者自己编写一个流媒体播放器就可以拉取ffmpeg发布的RTSP流。
下面这个是采用自己开发的流媒体播发器播放的效果:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

这是采用PotPlayer播放器播放的效果:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片


采用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

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

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

播放测试:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

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


三、采用ffmpeg代码方式推rtsp流到服务器 对于RTMP和RTSP两种格式需要使用两种不同的封装器。
//RTMP封装器 //avformat_alloc_output_context2(&oc,nullptr,"flv",filename); //发布到网络//RTSP封装器 avformat_alloc_output_context2(&oc,nullptr,"rtsp",filename); //发布到网络

软件运行效果:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

网页上已经提示收到发布的rtsp流:
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片


采用PotPlayer播放的效果:效果:实现桌面同屏/声画同步。
FFMPEG音视频开发|FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)
文章图片

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


如果想自己采用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






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

    推荐阅读