1.一种无客户端的跨平台视频播放实现方法,其特征在于,按照以下步骤实施:步骤1、客户端向流媒体服务器发起视频请求
1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口,监听客户端连接的到来;
其中的流媒体服务器包括RPC模块、DASH视频流处理模块、HTTP服务模块,RPC模块负责和客户端进行通信并处理客户端视频请求;DASH视频流处理模块负责将原始视频流数据打包成MEEG-DASH支持的格式,产生视频分片和MPD索引文件存储在服务器端;HTTP服务模块负责视频分片文件的传输;
1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;
1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;
步骤2、流媒体服务器对Web客户端请求进行解析处理,具体过程是,
2.1)解析客户端请求命令;
2.2)创建视频处理线程,将原始H.264格式的视频流数据打包成MPEG-DASH所需的格式的视频分片,生成视频分片索引文件;
2.3)采用统一命名规则对视频分片进行命名处理,切片文件名由视频文件名称和切片序号两部分组成,所有的视频片段都以“live-video-sd-”开头,按固定顺序连接视频片段的序号“1”,“2”……;
2.4)通过RPC接口返回视频分片索引文件所在的地址至Web客户端,具体过程为:首先创建RPC线程,监听Web客户端连接,在收到客户端视频请求后对其进行解析,然后调用视频处理线程对原始视频进行处理,等待视频分片的产生,当流媒体服务器产生视频分片后,返回MPD文件URL至Web端,否则返回相应的错误代码;
步骤3、Web客户端向流媒体服务器发起HTTP请求,具体过程是,
3.1)根据RPC接口返回的URL向流媒体服务器发起HTTP GET请求,下载视频分片索引文件;
3.2)解析视频分片索引文件,获得媒体持续时间、比特率、分片URL等媒体特征信息;
3.3)根据视频分片1的URL向流媒体服务器发起请求;
步骤4、流媒体服务器通过HTTP协议传递特定视频分片至Web客户端,具体过程是,
4.1)解析Web客户端的HTTP请求;
4.2)根据Web客户端的请求URL,流媒体服务器查找该URL对应的视频分片文件;
4.3)调用ReadFile()函数读取视频分片文件,通过HttpSendHttpResponse()方法返回视频分片数据至Web客户端;
步骤5、Web客户端解析视频分片内容并播放,具体过程是,
5.1)Web客户端解析视频分片1的内容并进行播放;
5.2)开启自适应机制,通过一定的策略估算网络带宽,调整下一次请求视频分片的比特率,继续向流媒体服务器请求下一个视频分片,直至视频播放完成。