我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情
环境介绍
当前使用的操作系统: win10 64位
一、部署EasyDarwin服务器
据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费;下面就介绍一下EasyDarwin的使用过程。
官网地址: www.easydarwin.org/
运行成功会弹出一个控制台窗口:
然后打开浏览器输入 http://localhost:10008, 进入控制页面,默认用户名密码是 admin/admin
二、ffmpeg命令行推rtsp流进行测试
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
打开EasyDarwin后台网页可以看到流已经上传上来了。
接下来使用VLC、PotPlayer、或者自己编写一个流媒体播放器就可以拉取ffmpeg发布的RTSP流。
下面这个是采用自己开发的流媒体播发器播放的效果:
这是采用PotPlayer播放器播放的效果:
采用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代码方式推rtsp流到服务器
对于RTMP和RTSP两种格式需要使用两种不同的封装器。
//RTMP封装器
//avformat_alloc_output_context2(&oc,nullptr,"flv",filename); //发布到网络
//RTSP封装器
avformat_alloc_output_context2(&oc,nullptr,"rtsp",filename); //发布到网络
软件运行效果:
网页上已经提示收到发布的rtsp流:
采用PotPlayer 播放的效果: 效果: 实现桌面同屏/声画同步。