基于live555框架和ffmpeg库的密文H264视频直播和点播平台的制作方法

文档序号:9290264阅读:564来源:国知局
基于live555框架和ffmpeg库的密文H264视频直播和点播平台的制作方法
【技术领域】
[0001]本发明涉及一种应用于城市安防监控体系的视频平台,尤其是一种密文H264视频直播和点播平台。
【背景技术】
[0002]Live555流媒体框架是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体的传输,并提供对标准流媒体传输协议如RTP/RTCP、RTSP, SIP等的支持,主要应用于对流媒体的音视频的处理,实现媒体的实时推送;ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
[0003]随着视频编解码技术和网络技术的快速发展,网络视频通信技术成为了人们生活的一部分,然而在开放网络中,视频信息很容易遭受人为的攻击,尤其是在一些重要的应用场景。在城市安防监控体系中,网络信息采集是公共安防系统的基础,目前面临的威胁有
1.劫持前端信息采集设备2.盗取、篡改所采集的信息3.前端设备故障、信息采集质量诊断4.特殊应用场景对摄录器材的安全性有特别要求。现在市面上已经有部分对视频加密的产品,主要方法是将视频视为普通文本,对存储在本地的视频文件全部加密。这种方式未考虑数据格式不变性和数据可操作性,难以针对传输中的视频进行加密,因此应用受到极大的限制。在城市安防监控体系中,设计的加密方案是在视频被压缩编码成H.264格式后,保留视频帧的参数和其它重要信息,仅对帧的数据主体进行加密。这样可以既保证视频内容的安全性,又能通过普通视频传输协议进行视频的传输。
[0004]由于加密方式的选择,完全没有破坏加密视频的结构,对其进行流传输完全可以实现,然而不同于明文视频流推送,密文视频流推送主要面临两个问题,第一:要保证密文视频传输过程中的可靠性,关键帧一旦丢失,会影响密文播放器对于加密视频的解密;第二:对密文视频的封装,一旦视频的帧结构和字节改变,后期将无法解密播放。要实现密文视频的可用性,需要研制相应的密文视频流推送平台。
[0005]对于密文视频推送平台的建立,必须针对于上述存在的两个问题进行解决。

【发明内容】

[0006]本发明的目的在于提供一种基于live555和ffmpeg库的密文H264视频直播和点播平台,此方案结合了 live555框架和ffmpeg开源库提出了一套应用于城市安防监控体系中针对加密视频流流媒体直播点播的平台,可以实现密文视频流的直播和密文视频文件的点播,可靠性高,可以保证密文视频传输的实时性需求和保证用户的较佳体验度。本发明采用的技术方案是:
一种基于live555框架和ffmpeg库的密文H264视频直播和点播平台,包括:基于live555框架的流媒体服务器和外部存储服务器;所述流媒体服务器和外部存储服务器通过网络连接; 所述流媒体服务器包括live555直播代理逻辑服务器和live555点播逻辑服务器;所述外部存储服务器上设有基于ffmpeg库的密文H264视频转码模块和ffmpeg库;live555点播逻辑服务器和外部存储服务器之间通过TCP协议通信,为此,在live555点播逻辑服务器上建有TCP客户端,在外部存储服务器上建有TCP服务器端。
[0007]进一步地,
所述live555直播代理逻辑服务器采用RTSP/RTP/RTCP协议簇,接收从加密摄像机传送来的密文H264视频流,并进行RTP打包,在用户视频播放器的直播请求下,将密文H264视频流通过RTSP/RTP/RTCP协议簇推送至用户视频播放器进行播放;
在外部存储服务器上,所述密文H264视频转码模块,通过调用ffmpeg库,对密文H264视频文件进行关键帧和视频帧的解析,并对密文H264视频文件的帧进行MKV容器的封装,形成密文MKV视频文件并作保存;密文H264视频文件通过接收加密摄像机的密文H264视频流并保存获得或在外部存储服务器中预置密文H264视频文件获得;
所述live555点播逻辑服务器采用RTSP/RTP/RTCP协议簇,在收到用户视频播放器的点播请求时,通过TCP协议从外部存储服务器上获取与密文H264视频文件对应的密文MKV视频文件,并将密文MKV视频文件进行RTP打包,然后通过RTSP/RTP/RTCP协议簇推送至用户视频播放器进行播放。
[0008]更进一步地,
所述密文H264视频转码模块进行如下操作,以形成密文MKV视频文件:
S201,首先,输入密文H264视频文件和音频文件;
S202,打开并初始化密文H264视频文件,调用编解码库libavcodec,赋值AVCodeContext参数;调用媒体格式库Iibavformat ;产生密文H264视频码流;
S203,打开并初始化音频文件,调用编解码库libavcodec,赋值AVCodeContext参数;调用媒体格式库Iibavformat ;产生音频码流;
S204,比较视频码流中的数据流分包AVpacket和音频码流中的数据流分包AVpacket的时间戳,按照时间戳先后顺序决定读取视频码流还是音频码流中的AVpacket ;
S205,按照时间戳先后依次读取视频码流中的数据流分包AVpacket或音频码流中的数据流分包AVpacket ;
S206,将读取的数据流分包AVpacket封装入MKV容器;
S207,输出密文MKV视频文件。
[0009]本发明的优点在于:
I)本发明采用了实时流协议,很好的保证密文视频传输的实时性需求和保证用户的较佳体验度。
[0010]2)保证了密文视频文件封装过程中对密文视频流数据结构的保护。
[0011]3)基于可靠传输层协议TCP协议,可以实现多路密文视频文件的点播,测试稳定性可靠。
【附图说明】
[0012]图1为本发明的结构组成示意图。
[0013]图2为本发明的密文H264视频转码模块工作流程图。
【具体实施方式】
[0014]下面结合具体附图和实施例对本发明作进一步说明。
[0015]本发明中的密文视频包括密文视频流和密文视频文件。
[0016]如图1所示,一种基于live555框架和ffmpeg库的密文H264视频直播和点播平台,包括:基于live555框架的流媒体服务器和外部存储服务器;所述流媒体服务器和外部存储服务器通过网络连接。
[0017]所述流媒体服务器包括live555直播代理逻辑服务器和live555点播逻辑服务器;所述外部存储服务器上设有基于ffmpeg库的密文H264视频转码模块和ffmpeg库;live555点播逻辑服务器和外部存储服务器之间通过TCP协议通信,为此,在live555点播逻辑服务器上建有TCP客户端,在外部存储服务器上建有TCP服务器端。
[0018]城市安防监控体系中的加密摄像机可提供密文H264视频流。
[0019]下面对本发明的几个主要组成部分做详细说明。
[0020](一)基于live555框架的流媒体服务器。
[0021]现在通用的流媒体服务器,主要是基于三种协议,RTSP/RTP/RTCP、RTMP, HTTP协议,这三种都是应用层协议。HTTP协议不属于实时流媒体协议,是顺序流传输协议,直接通过HTTP协议下载文件到本地播放,不能满足实时观看的需求;RTMP和RTSP/RTP/RTCP协议满足实时流传输的要求,目前主要用于视频的直播,也能满足点播视频的需求;RTMP目前主流是用于FLV的直播点播,协议性能方面能满足要求,但是,在城市安防监控体系中的加密摄像头是对编码后的H264裸流进行推送,在进行密文视频直播时,如果采用RTMP协议,通常需要将其封装为FLV格式,大大降低了直播的效率且提高了直播时延,RTSP/RTP/RTCP协议簇,可以直接进行密文H264裸流的推送,因此,流媒体服务器上的live555直播代理逻辑服务器和live555点播逻辑服务器都采用RTSP/RTP/RTCP协议簇。
[0022]Live555开发库源代码主要包含:(I)UsageEnvironment模块是Live555中最基本的基类之一,它的功能简单,主要是用于消息的输入输出和用户交互功能。(2)BasicUsageEnvr1nment库。(3)GroupSock模块主要是对套接字和网络接口的封装,用于实现视音频数据包的发送和接收功能。(4)LiveMedia是Live555的核心模块。它声明了一个抽象基类Medium,其他许多类包括RTSPClient、MediaSource、MediaSink、MediaSess1n 和 RTCPInstance 都派生自该类。
[0023]实时传输协议RTP (Realtime Transport Protocol):是针对 Internet 上多媒体数据流的一个传输协议,由IETF (Internet工程任务组)作为RFC1889发布。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。实时传输控制协议RTCP(Realtime TransportControl Protocol):负责管理传输质量,在当前应用进程之间交换控制信息。RTSP (RealTime Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议。详见RFC2326。RTSP是一个非常类似于HTTP的应用层协议。它是一个多媒体播放控制协议,主要用来使用户在播放流媒体时可以像操作本地的影碟机一样进行控制,即可以对流媒体进行暂停/继续、后退和前进等控制。
[0024](二)外部存储服务器。
[0025]由于本平台针对城市安防监控体系应用,最终要迀移到嵌入式系统之中,由于嵌入式板子空间容量有限,必须将密文视频文件存储在外部存储设备中,因此
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1