视频直播系统设计与实现
作者:高春雷
来源:《科技风》2016年第18期
摘要:本文研究了视频直播系统的设计,并基于ffmpeg、vlc和EasyDarwin开源软件进行了二次开发,简单而有效地实现了该设计,具有较强的工程参考价值。
关键词:视频直播系统;ffmpeg;vlc;EasyDarwin
随着社会的发展,视频直播系统或者监控系统在场馆、学校、车载等场景中的应用越来越广泛。
例如很多的幼儿园开始把监控系统作为辅助设备,也是幼儿园智能化管理的新趋势。
本文研究了一种易于实现的视频直播系统。
一、系统设计
本系统主要由视频采集装置、推流服务器、流媒体服务器和视频监控设备构成。
视频采集装置主要为摄像头。
由于整个系统需要在不同的区域进行布防和监控,以幼儿园为例,其主要公共场所包括教室、活动区和出入口等,针对不同区域的实际情况安置不同类型的摄像机,公共活动区适合安装可调视角的球机,而楼道等可安装枪机。
流媒体是指以流的方式在网络中传送视频、音频的媒体形式。
流媒体服务器以TP/RTSP、MMS、RTMP等流式协议把视频文件传输到视频监控设备;流媒体服务器也可从视频采集装置接收实时的视频流,再以流式协议直播给视频监控设备。
对于某些应用场景视频采集设备处于内网,不能直接和处于外网的流媒体服务器进行通讯。
此时就需要推流服务器将内网设备所采集的视频推流到流媒体服务器。
视频监控中设备可对所需区域进行有效的监控,可以包括电视墙显示系统等。
此外,视频监控中心可扩展视频截屏录像、用户权限等功能。
二、系统实现
基于上述设计思路,本文采用开源软件快速实现简单的RTSP直播系统。
系统采用ffmpeg 作为推流服务器将视频采集装置的视频流推送到流媒体服务器,EasyDarwin作为流媒体服务器转发ffmpeg推送过来的视频流。
视频监控设备的客户端采用VLC播放。
实现过程如下:
1)部署EasyDarwin流媒体服务器。
EasyDarwin基于Apple开源项目开发、优化的流媒体服务器,支持RTSP点播、直播(推拉模式)、HLS直播等功能。
编译好EasyDarwin后需要在easydarwin.xml文件中对其进行设置。
本文实验过程中将EasyDarwin流媒体服务器部署在127.0.0.1,端口:554。
在控制台中启动服务,启动命令为:EasyDarwin.exe -d -
c ./easydarwin.xml。
2)ffmpeg推送视频到EasyDarwin。
FFmpeg可以用来记录、转换数字音频、视频,并能将其转化为流。
FFmpeg开发于Linux平台,但它可在Windows、Mac OS X等操作系统环境中编译运行。
本文使用的是ffmpeg Shared版本进行视频推流。
推流命令如下:ffmpeg -i rtsp://admin:*************.0.6/-ccopy-frtsptsp://192.168.0.109/test.sdp。
其中rtsp://admin:*************.0.6/是本文的视频流地址。
3)使用VLC播放器播放流媒体服务器中的视频流。
VLC提供了二次开发包,基于此可快速开发出适合的监控界面。
三、小结
本文给出了视频直播系统的系统设计方法,并基于ffmpeg、EasyDarwin和VLC实现了该系统,具有较强的工程实践意义。
参考文献:
[1] 杨慧敏.基于校园网的视频直播系统的设计和应用研究[D].重庆大学,2006.
[2] 聂富鹏.视频转码传输系统的设计与实现[D].西安电子科技大学,2014.
[3] 邓芳,孙天宝等.基于云数据的幼儿园视频监控服务系统的设计[J].中外企业家,2016(10).
作者简介:
高春雷(1985-),男,江苏启东人,硕士研究生,讲师,民航电子电气方向。