一种多屏互动方法
【专利摘要】本发明实施例公开一种多屏互动方法,应用于多屏互动领域,能够解决现有的多屏互动方法成本高普及性差及延迟严重的问题。该方法包括:服务器从帧内存缓冲framebuffer中获取帧数据;所述服务器将所述帧数据进行FFmpeg转换,将经过FFmpeg转换后的数据进行H.264编码;所述服务器通过前反馈和后反馈调整所述H.264编码的编码参数和发送速度;其中,所述前反馈包括根据所述framebuffer的数据量调整所述编码参数和发送速度,所述后反馈包括根据网络传输丢包率调整调所述编码参数和发送速度。
【专利说明】一种多屏互动方法
【技术领域】
[0001] 本发明涉及多屏互动领域,尤其涉及一种多屏互动方法。
【背景技术】
[0002] 多屏互动是指通过WIFI网络连接,不同客户终端如智能手机、平板电脑和智能 电视等之间,可进行多媒体内容的传输、解析、展示及控制等一系列操作,从而在不同客户 终端上同时共享展示内容,丰富用户的多媒体生活。目前的多屏互动技术主要分为外加 硬件设备和软件实现两种方式,前者依赖于专用的硬件芯片,增加了成本,降低了普及性。 后者,例如通过安装基于不改变服务器和客户终端的硬件结构的WiMo (Wireless Mobile Multimedia Transmission Protocol,移动终端无线多媒体传送技术)软件,存在延迟严重 的问题。
【发明内容】
[0003] 本发明实施例提供一种多屏互动方法,以解决现有的多屏互动方法成本高普及性 差及延迟严重的问题。
[0004] 本发明实施例提供的多屏互动方法,通过从framebuffer中获取巾贞数据,并进行 H. 264编码;将经过H. 264编码后的编码数据通过前反馈和后反馈传输方式,大幅度减少数 据传输的延迟时间,提高了多屏互动的实时性,实现了多屏互动的自适应控制。
【专利附图】
【附图说明】
[0005] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍。
[0006] 图1为本发明实施例提供的多屏互动方法的流程示意图;
[0007] 图2为本发明又一实施例提供的多屏互动方法的流程示意图;
[0008] 图3a为现有多屏互动方法的传输进程;
[0009] 图3b为本发明实施例的多屏互动方法的传输进程;
[0010] 图4为本发明另一实施例提供的多屏互动方法的流程示意图。
【具体实施方式】
[0011] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0012] 本发明提供了一种多屏互动方法,是有一种基于流水线的双反馈(前反馈和后反 馈)的多屏互动方法,涉及服务器和客户终端,服务器为发送端,负责编码和发送数据,客 户终端为接收端,负责接收数据和解码。该方法可由软件实现或硬件实现。下面以具体实 施例对本发明进行说明。
[0013] 图1为本发明实施例提供的多屏互动方法的流程示意图,如图1所示,该方法包括 以下步骤:
[0014] 10、服务器从巾贞内存缓冲framebuffer中获取巾贞数据。
[0015] 其中,framebuffer是用一个视频输出设备从包含完整的巾贞数据的一个内存缓冲 区中来驱动一个视频显示设备。framebuffer模仿显卡的功能,将显卡硬件结构抽象掉,可 以通过framebuffer的读写直接对显存进行操作。可以将framebuffer看成是显存的一个 映像,将其映射到进程地址空间之后,就可以直接进行读写操作。帧数据是指屏幕上显示的 内容,即视频数据。
[0016] 现有的多屏互动方法通常是播放器中获取获取视频数据,只能实现视频的共享; 本实施例从framebuffer获取帧数据,突破了资源限制问题,可以实现任何资源的共享,例 如游戏、图片等。
[0017] 20、服务器将帧数据进行FFmpeg转换,将经过FFmpeg转换后的数据进行H. 264编 码。
[0018] 其中,FFmpeg (Fast Forward Moving Picture Expert Group)是一个视频和音频 流的开源免费平台。从framebufer中获取巾贞数据通常为rgb格式,在此通过FFmpeg转换, 将其转换为nvl2T格式的数据,使其符合H. 264编码器的输入格式。FFmpeg是一个开源免 费跨平台的视频和音频流方案,属于自由软件,它提供了录制、转换以及流化音视频的完整 解决方案。
[0019] H. 264编码是一种硬编码技术,具有低码率、高质量的图像、容错能力强、网络适应 性强的优点,其最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H. 264 的压缩比是MPEG-2的2倍以上,是MPEG-4的1. 5?2倍。为提高编码效率可优选嵌入式 芯片进行H. 264编码,嵌入式芯片例如cortext -a8的mfc模块。通过H. 264编码这种硬 编码的方式大大缩短了编码耗时,减少了 CPU占用率。
[0020] 30、服务器通过前反馈和后反馈调整H. 264编码的编码参数和发送速度;其中,前 反馈包括根据framebuffer的数据量调整编码参数和发送速度,后反馈包括根据网络传输 丢包率调整调编码参数和发送速度。
[0021] 其中,现有的多屏互动方法中传输通常基于RTP(Realtime Transport Protocol, 实时传输协议)和RTCP (Realtime TransportControl Protocol,实时传输控制协议)。
[0022] RTP是针对Internet上多媒体数据流的一个传输协议,被定义为在一对一或一对 多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP本身只保证实时数据的 传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它 依靠 RTCP提供这些服务。RTCP负责管理传输质量在当前应用进程之间交换控制信息。在 RTP会话期间,服务器周期性地传送RTCP包,RTCP包中含有已发送的数据包的数量、丢失的 数据包的数量等统计资料,服务器利用这些信息动态地改变传输速率。RTP和RTCP配合使 用,能以有效的反馈和最小的开销使传输效率最佳化。在RTP协议中,数据在被发送端发送 之前需要被封装成RTP包,而接收端接收到RTP包之后需要将数据从RTP包中提取出来。
[0023] RTP包头的格式如表1所示。
[0024] 表1RTP包头的格式
[0025]
【权利要求】
1. 一种多屏互动方法,其特征在于,包括: 服务器从巾贞内存缓冲framebuffer中获取巾贞数据; 所述服务器将所述帧数据进行FFmpeg转换,将经过FFmpeg转换后的数据进行H. 264 编码; 所述服务器通过前反馈和后反馈调整所述H. 264编码的编码参数和发送速度;其中, 所述前反馈包括根据所述framebuffer的数据量调整所述编码参数和发送速度,所述后反 馈包括根据网络传输丢包率调整调所述编码参数和发送速度。
2. 根据权利要求1所述的方法,其特征在于,所述所述服务器通过前反馈和后反馈调 整所述H. 264编码的编码参数和发送速度,包括: 所述服务器启动会话管理,建立和客户终端的会话; 所述服务器从所述framebuffer中获取巾贞数据,根据所述framebuffer的数据量调整 编码参数和发送速度; 所述服务器获取客户终端发送的报告RR报告,从所述RR报告中解析出网络传输丢包 率,根据所述网络传输丢包率调整编码参数和发送速度。
3. 根据权利要求2所述的方法,其特征在于,所述服务器从所述framebuffer中获取帧 数据,根据所述framebuffer的数据量调整编码参数和发送速度,包括 : 所述服务器从所述framebuffer中获取巾贞数据; 将所述framebuffer的数据量和预设的数据量门限进行比较,根据比较结果调整编码 参数或者发送速度。
4. 根据权利要求2所述的方法,其特征在于,所述所述服务器获取客户终端发送的RR 报告,从所述RR报文中解析出网络传输丢包率,根据所述网络传输丢包率调整编码参数和 发送速度,包括: 所述服务器获取客户终端发送的RR报告,所述RR报告包含网络传输丢包率; 所述服务器将所述网络传输丢包率和预设的丢包率门限进行比较,根据比较结果整编 码参数和发送速度。
5. 根据权利要求3或4所述的方法,其特征在于,所述方法还包括: 所述服务根据如果接收到停止指令,则注销RTP连接和RR线程;如果没有接收到停止 指令,则发送"继续发送"请求。
6. 根据权利要求1所述的方法,其特征在于,所述将经过FFmpeg转换后的数据进行 H. 264编码之后,还包括: 对所述经过H. 264编码后的数据进行基于流水线的传输模型发送。
7. -种多屏互动方法,其特征在于,包括: 客户终端与服务器建立会话,并进行初始化; 所述客户终端接收RTP数据包,解出所述RTP数据包中的NALU,对所述NALU进行H. 264 解码; 所述客户终端统计RTP数据包,将统计的网络传输丢包率通过RR报告定期发送至所述 服务器。
8. 根据权利要求7所述的方法,其特征在于,所述方法还包括: 所述客户终端如果接收到停止指令,则注销RTP连接和RR线程;如果没有接收到停止 指令,则继续RTP连接和RR线程。
【文档编号】H04L1/00GK104158804SQ201410387192
【公开日】2014年11月19日 申请日期:2014年8月7日 优先权日:2014年8月7日
【发明者】谈世哲, 孙法江, 张静, 张文龙, 李元东 申请人:中国海洋大学