如何通过FFMPEG编码推RTSP视频直播流到EasyDarwin开源平台时叠加时间水印?

继之前一篇科普文《如何使用RTSP推流组件EasyPusher将MP4文件推到EasyDarwin开源平台》发布后,有开发者提出疑问:假如需要显示视频直播时间,如何在推送的时候可以自定义在视频上叠加时间水印?

174.png

这个问题就涉及到了FFMPEG编码过程,具体内容可以通过《FFMPEG编码过程说明》一文了解,根据FFMPEG编码,我们来尝试实现上面的需求。

利用FFMPEG,结合命令:
ffmpeg -re -stream_loop -1 -i test.mp4 -vf drawtext=“fontfile=arial.ttc:x=w-tw-20:y=30:fontcolor=white:fontsize=11:text=‘2020-10-10 %{localtime:%H\:%M\:%S}’” -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.81.216.155:554/test.sdp

此命令解释,循环把test.mp4读出来以RTSP协议方式推送到172.81.216.155:554,在视频右上角添加一个白色的OSD,内容为2020-10-10+系统时间

175.png

text:要添加的文字内容
fontsize:字体大小
fontcolor:字体颜色

下面我们从EasyDarwin拉取这个推上去的流下来看下播放状态下的效果:

176.png

下面看下VLC播放的效果:

177.png

时间已经展示完毕,此外,我们也可以根据命令参数选择叠加的内容和位置,自由修改。

EasyDarwin开源平台提供的开源项目,拥有完整的源代码,帮助开发者更快更简单实现流媒体音视频产品功能,实现移动互联网流媒体直播点播。大家如果对EasyDarwin开源项目感兴趣,欢迎联系我们。

猜你喜欢

转载自blog.csdn.net/TsingSee/article/details/109120879
今日推荐