CN109429073A - 发送多媒体数据、播放多媒体数据的方法、装置及系统 - Google Patents

发送多媒体数据、播放多媒体数据的方法、装置及系统 Download PDF

Info

Publication number
CN109429073A
CN109429073A CN201710781285.0A CN201710781285A CN109429073A CN 109429073 A CN109429073 A CN 109429073A CN 201710781285 A CN201710781285 A CN 201710781285A CN 109429073 A CN109429073 A CN 109429073A
Authority
CN
China
Prior art keywords
frame
multimedia
channel
synthetic
multimedia frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710781285.0A
Other languages
English (en)
Other versions
CN109429073B (zh
Inventor
辛安民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710781285.0A priority Critical patent/CN109429073B/zh
Publication of CN109429073A publication Critical patent/CN109429073A/zh
Application granted granted Critical
Publication of CN109429073B publication Critical patent/CN109429073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明是关于一种发送多媒体数据、播放多媒体数据的方法、装置及系统,属于通信领域。所述方法包括:获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧;将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧,所述N个多媒体帧中的每个多媒体帧的参数信息和所述合成帧的参数信息,所述N个媒体帧分别属于所述N个通道;发送所述数据流。本发明能够减少对网络资源的占用。

Description

发送多媒体数据、播放多媒体数据的方法、装置及系统
技术领域
本发明涉及通信领域,特别涉及一种发送多媒体数据、播放多媒体数据的方法、装置及系统。
背景技术
目前存在很多场景下需要拍摄全景视频。在拍摄全景视频时可以通过多个摄像头从不同角度进行拍摄得到多路视频数据,然后将每个路视频数据发送给播放端,播放端播放该多路视频数据。
目前拍摄端在得到N路视频数据时,N为大于1的整数,可以与播放端建立N条通信通道,通过该N条通信通道将该N路视频数据发送给播放端。播放端从该N条通信通道上接收该N路视频数据,然后将该N路视频数据合成播放。
发明人在实现本发明的过程中,发现上述方式至少存在如下缺陷:
由于拍摄端需要发送N路视频数据,因此需要建立与播放端之间的N条通信通道,占用大量的网络资源。
发明内容
为了减少对网络资源的占用,本发明实施例提供了一种发送多媒体数据、播放多媒体数据的方法、装置及系统。所述技术方案如下:
根据本发明实施例的第一方面,提供一种发送多媒体数据的方法,所述方法包括:
获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;
将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧及其参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;
发送所述数据流。
可选的,所述将所述N个通道的多媒体数据流合成为一路数据流,包括:
分别从所述每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,所述N个多媒体帧中的每个多媒体帧对应的时间戳均相同;
生成合成帧,所述合成帧包括所述N个多媒体帧和所述N个多媒体帧的参数信息,所述合成帧的帧头包括所述合成帧的参数信息,在所述合成帧中,每个多媒体帧和所述多媒体帧的参数信息相邻,且所述多媒体帧的参数信息的位置比所述多媒体帧的位置更靠近所述合成帧的帧头;
将生成的各合成帧组成数据流。
可选的,所述数据流中包括所述数据流的配置信息,所述发送所述数据流之前,还包括:
根据所述每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个,生成所述数据流的配置信息。
可选的,当所述N个媒体帧均为视频帧时,所述配置信息还包括所述每个通道对应的描述结构体;
所述发送所述数据流之前,还包括:
生成所述每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
可选的,所述生成所述每个通道对应的描述结构体,包括:
获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息、尺寸信息;
根据所述通道标识、所述位置信息和所述尺寸信息中的至少一个生成所述通道对应的描述结构体。
可选的,所述合成帧的参数信息包括所述合成帧中的多媒体帧数目N、多媒体帧的宽高、分辨率、时间戳和帧类型中的至少一个;
所述多媒体帧的参数信息包括所述多媒体帧的数据长度、所述多媒体帧所在通道的通道标识、时间戳和持续时间中的至少一个。
根据本发明实施例的第二方面,提供一种播放多媒体数据的方法,所述方法包括:
接收数据流,所述数据流包括至少一个合成帧;
解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;
根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧。
可选的,当多媒体帧为视频帧时,
所述根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧,包括:
确定硬解码方式;
根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用所述硬解码方式解码所述每个多媒体帧集合包括的每个多媒体帧;
播放所述解码的每个多媒体帧。
可选的,所述确定硬解码方式,包括:
获取设备支持的至少一个硬解码方式;
根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用所述至少一个硬解码方式中的每个硬解码方式解码所述任一多媒体帧集合包括的至少一个多媒体帧,并确定所述每个硬解码方式的解码效率;
根据所述每个硬解码方式的解码效率,从所述每个硬解码方式中选择一硬解码方式。
可选的,所述解析所述数据流中的每个合成帧,还包括:
从所述数据流中解析出N个通道中的每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个,N为大于1的整数;
所述播放所述每个多媒体帧集合包括的每个多媒体帧,包括:
根据所述每个通道对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定各通道标识对应的播放区域;
在所述各通道标识对应的播放区域中分别播放每个多媒体帧集合中的所述各通道标识对应的多媒体帧。
根据本发明实施例的第三方面,提供一种发送多媒体数据的装置,所述装置包括:
获取模块,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;
合成模块,用于将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧及其参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;
发送模块,用于发送所述数据流。
可选的,所述合成模块包括:
第一获取单元,用于分别从所述每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,所述N个多媒体帧中的每个多媒体帧对应的时间戳均相同;
第一生成单元,用于生成合成帧,所述合成帧包括所述N个多媒体帧和所述N个多媒体帧的参数信息,所述合成帧的帧头包括所述合成帧的参数信息,在所述合成帧中,每个多媒体帧和所述多媒体帧的参数信息相邻,且所述多媒体帧的参数信息的位置比所述多媒体帧的位置更靠近所述合成帧的帧头;
组成单元,用于将生成的各合成帧组成数据流。
可选的,所述数据流中包括所述数据流的配置信息,所述装置还包括:
第一生成模块,用于根据所述每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个,生成所述数据流的配置信息。
可选的,当所述N个媒体帧均为视频帧时,所述配置信息还包括所述每个通道对应的描述结构体;所述装置还包括:
第二生成模块,用于生成所述每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
可选的,所述第二生成模块包括:
第二获取单元,用于获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息、尺寸信息;
第二生成单元,用于根据所述通道标识、所述位置信息和所述尺寸信息中的至少一个生成所述通道对应的描述结构体。
可选的,所述合成帧的参数信息包括所述合成帧中的多媒体帧数目N、多媒体帧的宽高、分辨率、时间戳和帧类型中的至少一个;
所述多媒体帧的参数信息包括所述多媒体帧的数据长度、所述多媒体帧所在通道的通道标识、时间戳和持续时间中的至少一个。
根据本发明实施例的第四方面,提供一种播放多媒体数据的装置,所述装置包括:
接收模块,用于接收数据流,所述数据流包括至少一个合成帧;
解析模块,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;
播放模块,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧。
可选的,当多媒体帧为视频帧时,
所述播放模块包括:
第一确定单元,用于确定硬解码方式;
解码单元,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用所述硬解码方式解码所述每个多媒体帧集合包括的每个多媒体帧;
第一播放单元,用于播放所述解码的每个多媒体帧。
可选的,所述确定单元执行所述确定硬解码方式的操作,包括:
获取设备支持的至少一个硬解码方式;
根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用所述至少一个硬解码方式中的每个硬解码方式解码所述任一多媒体帧集合包括的至少一个多媒体帧,并确定所述每个硬解码方式的解码效率;
根据所述每个硬解码方式的解码效率,从所述每个硬解码方式中选择一硬解码方式。
可选的,所述解析模块,还用于从所述数据流中解析出N个通道中的每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个,N为大于1的整数;
所述播放模块包括:
第二确定单元,用于根据所述每个通道对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定各通道标识对应的播放区域;
第二播放单元,用于在所述各通道标识对应的播放区域中分别播放每个多媒体帧集合中的所述各通道标识对应的多媒体帧。
根据本发明实施例的第五方面,提供一种播放多媒体数据的系统,所述系统包括:发送设备和播放设备;
所述发送设备,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧、所述N个多媒体帧中的每个多媒体帧的参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;向播放设备发送所述数据流;
所述播放设备,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用硬解码方式解码并播放所述每个多媒体帧集合包括的每个多媒体帧。
本发明实施例提供的技术方案可以包括以下有益效果:
通过将该N个媒体通道数据流中的时间戳相同的媒体帧合成为一个合成帧,将组成的合成帧形成一路数据流,这样只需要一条网络连接传输该路数据流,从而节省了对网络资源的占用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本发明实施例1提供的一种网络架构的示意图;
图2是本发明实施例2提供的一种发送多媒体数据的方法流程图;
图3-1是本发明实施例3提供的一种发送多媒体数据的方法流程图;
图3-2是本发明实施例3提供的合成帧的结构示意图;
图3-3是本发明实施例3提供的另一种合成帧的结构示意图;
图3-4是本发明实施例3提供的另一种合成帧的结构示意图;
图3-5是本发明实施例3提供的一种数据流的结构示意图;
图4是本发明实施例4提供了一种播放多媒体数据的方法流程图;
图5-1是本发明实施例5提供了一种播放多媒体数据的方法流程图;
图5-2是本发明实施例5提供了一种操作系统与硬解码方式之间的关系示意图;
图6是本发明实施例6提供的一种发送多媒体数据的装置结构示意图;
图7是本发明实施例6提供的一种播放多媒体数据的装置结构示意图;
图8是本发明实施例8提供的一种装置的框图;
图9是本发明实施例9提供的一种播放多媒体数据的系统结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
参见图1,本发明实施例提供了一种网络架构,包括:
发送设备1和播放设备2,发送设备1和播放设备2之间建立有网络连接,该网络连接可以为有线连接或无线连接。
发送设备1,可以用于获取到多个通道中的每个通道的多媒体数据流,将该多个通道的多媒体数据流合成为一路数据流,通过该网络连接向播放设备2发送该数据流。
其中,发送设备1可以为包括多个摄像头的摄像设备,该多个摄像头可以从不同角度进行拍摄,得到多个通道的多媒体数据流。或者,发送设备1可以与多个摄像设备相连,该多个摄像设备可以从不同角度进行拍摄,得到多个通道的多媒体数据流并分别发送给发送设备1,发送设备1接收该多个摄像设备发送的多媒体数据流。
播放设备2,用于通过该网络连接接收发送设备1发送的该数据流,并播放该数据流。
由于发送设备1将多个通道的多媒体数据流合成为一路数据流,通过一个网络连接向播放设备2发送该数据流,这样发送设备1和播放设备2之间只需要建立一条网络连接,减小对网络资源的占用。
实施例2
参见图2,本发明实施例提供了一种发送多媒体数据的方法,所述方法包括:
步骤201:获取N个通道中的每个通道的多媒体数据流,每个通道的多媒体数据流包括至少一个多媒体帧。
步骤202:将该N个通道的多媒体数据流合成为一路数据流,该数据流包括至少一个合成帧,该合成帧包括N个时间戳均相同的媒体帧及其参数信息和该合成帧的参数信息,其中,该N个多媒体帧分别属于该N个通道。
步骤203:发送该数据流。
在本发明实施例中,获取N个通道的多媒体数据流,将该N个媒体通道数据流中的时间戳相同的多媒体帧合成为一个合成帧,将组成的合成帧形成一路数据流,这样只需要一条网络连接传输该路数据流,从而节省了对网络资源的占用。
实施例3
参见图3-1,本发明实施例提供了一种发送多媒体数据的方法,该方法的执行主体可以为实施例1中的发送设备,包括:
步骤301:获取多个通道中的每个通道的多媒体数据流。
可以设置一台摄像设备,该摄像设备包括N个摄像头,N为大于1的整数,该N个摄像头中的每个摄像头可以从N个不同角度进行拍摄,得到N个通道的多媒体数据流,即每个摄像头拍摄得到一个通道的多媒体数据流。在本步骤中,可以获取该摄像设备通过N个摄像头拍摄的N个通道的多媒体数据流。或者,
可以设置N个摄像设备,该N个摄像设备可以从N个不同角度进行拍摄,得到N个通道的多媒体数据流,即每个摄像设备拍摄得到一个通道的多媒体数据流。在本步骤中,可以从每个摄像设备中获取一个通道的多媒体数据流,得到N个通道的多媒体数据流。
每个通道的多媒体数据流包括至少一个从媒体帧,该至少一个多媒体帧中的每个从媒体帧对应一个时间戳,多媒体帧可以为视频帧或音频帧等。
由于该N通道中的每个通道的多媒体数据流是从不同角度拍摄得到的多媒体数据流,可以从N个通道中的每个通道的多媒体数据流中得到一个多媒体帧,即存在N个多媒体帧,该N个多媒体帧对应的时间戳均相同,当该N个多媒体帧均为视频帧时,该N个多媒体帧可以为组成一个全景图像。
例如,假设存在A、B、C三个通道的多媒体数据流,A通道的多媒体数据流中包括A1、A2、A3……等多媒体帧,B通道的多媒体数据流中包括B1、B2、B3……等多媒体帧,C通道的多媒体数据流中包括C1、C2、C3……等多媒体帧。
其中,假设多媒体帧A1、B1、C1各自对应的时间戳均相同,多媒体帧A2、B2、C2各自对应的时间戳均相同,以及多媒体帧A3、B3、C3各自对应的时间戳均相同。如果A、B、C三个通道的多媒体数据流均为视频流,则多媒体帧A1、B1、C1可以组成一个全景图像,多媒体帧A2、B2、C2可以组成一个全景图像,以及多媒体帧A3、B3、C3可以组成一个全景图像。
步骤302:从该N个通道中的每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,该N个多媒体帧中的每个多媒体帧对应的时间戳均相同。
例如,可以从A通道的多媒体数据流中获取多媒体帧A1,从B通道的多媒体数据流中获取多媒体帧B1,从C通道的多媒体数据流中获取多媒体帧C1,获取的多媒体帧A1、B1、C1各自对应的时间戳均相同。
步骤303:生成合成帧,该合成帧包括该N个多媒体帧和该N个多媒体帧的参数信息,该合成帧的帧头包括该合成帧的参数信息,在该合成帧中,每个多媒体帧和该多媒体帧的参数信息相邻,且该多媒体帧的参数信息的位置比该多媒体帧的位置更靠近该合成帧的帧头。
该合成帧包括该N个多媒体帧中的每个多媒体帧对应的字段,任一媒体帧对应的字段中包括第一子字段和第二子字段,第一子字段更靠近合成帧的帧头,第一子字段包括该多媒体帧的参数信息,第二子字段包括该多媒体帧,该合成帧的帧头包括该合成帧的参数信息。
例如,生成图3-2所示的合成帧,该合成帧包括多媒体帧A1对应的字段1,多媒体帧B1对应的字段2和多媒体帧C1对应的字段3。
其中,该合成帧的帧头0中包括该合成帧的参数信息,媒体帧A1对应的字段1中包括第一子字段11和第二子字段12,相比第二子字段12,第一子字段11更靠近帧头0,第一子字段11包括多媒体帧A1的参数信息,第二子字段12包括多媒体帧A1。
多媒体帧B1对应的字段2中包括第一子字段21和第二子字段22,相比第二子字段22,第一子字段21更靠近帧头0,第一子字段21包括多媒体帧B1的参数信息,第二子字段22包括多媒体帧B1。
多媒体帧C1对应的字段3中包括第一子字段31和第二子字段32,相比第二子字段32,第一子字段31更靠近帧头0,第一子字段31包括多媒体帧C1的参数信息,第二子字段32包括多媒体帧A1。
可选的,合成帧的参数信息可以包括该合成帧中的多媒体帧数目N、时间戳和/或帧类型等。该时间戳是该合成帧中的多媒体帧对应的时间戳,该帧类型可以为视频帧或音频帧等。
当该合成帧中的每个多媒体帧为视频帧时,该合成帧的参数信息还可以包括该合成帧中包括的每个多媒体帧的分辨率和宽高等。
可选的,多媒体帧的参数信息可以包括多媒体帧的数据长度、该多媒体帧所在通道的通道标识、时间戳和/或持续时间等。
当该多媒体帧为视频帧时,该多媒体帧的参数信息还可以包括该多媒体帧的分辨率等;当该多媒体帧为音频帧时,该多媒体帧的参数信息还可以包括该多媒体帧的采样率和比特率等
可以重复执行本步骤,以将该N通道的多媒体数据流中的各时间戳相同的多媒体帧合成为合成帧。例如,参见图3-3,将多媒体帧A2、B2、C2合成为一合成帧,以及参见图3-4,将多媒体帧A3、B3、C3合成为一合成帧。
步骤304:将生成的各合成帧组成数据流,并发送组成的数据流。
具体地,可以和播放设备建立一条网络连接,通过该网络连接向播放设备发送该数据流。
可选的,在发送所述数据流之前,还包括:
根据每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个生成该数据流的配置信息,即该配置信息包括每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个。
然后,将该配置信息和各合成帧组成数据流,如图3-5所示。
其中,该配置信息可以位于该数据流的开始位置。
可选的,在发送该数据流时,可以每隔一段时间向该数据流中插入该配置信息,并随着该数据流发送给播放设备。
可选的,当该N个多媒体帧均为视频帧时,该配置信息还包括每个通道对应的描述结构体;
可选的,发送该数据流之前,还包括:
生成每个通道对应的描述结构体,对于任一个通道,该通道对应的描述结构体包括该通道的通道标识、用于播放该通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
该尺寸信息包括该播放区域的宽度和高度。
描述结构体可以是一种类数据结构,在一个可选实施例中,当该通道对应的描述结构体包括该通道的通道标识、该播放区域的位置信息和尺寸信息时,该描述结构体可以设置为如下形式。
typedef struct_DISPLAY_DESCRIPTOR_
{
char version;
char index;
RECT rc;
int display_width;
int display_height;
int resvered;
}DISPLAY_DESCRIPTOR;
在上述形式中,index为通道的通道标识,display_width为播放区域的宽度,display_height为播放区域的高度,rc为播放区域的位置信息。
可选的,该通道的描述结构体可以按如下方式生成,包括:
获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放该通道的媒体数据流的播放区域的位置信息、尺寸信息;
根据该通道标识、该位置信息和该尺寸信息中的至少一个生成该通道对应的描述结构体。
输入的信息可以是用户输入的。例如,用户在播放设备显示器的播放页面上,通过放大、缩小、拖动等方式改变播放视频的大小和位置,改变后的播放视频的大小和位置被作为用户输入的信息反馈给播放设备的处理器。
在本发明实施例中,获取N个通道的多媒体数据流,将该N个多媒体通道数据流中的时间戳相同的多媒体帧合成为一个合成帧,将组成的合成帧形成一路数据流,这样只需要与播放端建立一条网络连接,通过该网络连接将该路数据流发送给播放设备,从而节省了对网络资源的占用。
实施例4
参见图4,本发明实施例提供了一种播放多媒体数据的方法,所述方法包括:
步骤401:接收数据流,该数据流包括至少一个合成帧。
步骤402:解析该数据流中的每个合成帧,得到每个合成帧对应的多媒体帧集合,该合成帧对应的多媒体帧集合包括该合成帧的参数信息、该合成帧中的每个多媒体帧和每个多媒体帧的参数信息。
步骤403:根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放每个多媒体帧集合包括的每个多媒体帧。
在本发明实施例中,由于数据流由合成帧组成,对合成帧进行解析得到合成帧包括的不同通道的多媒体帧,播放每个合成帧包括的不同通道的多媒体帧。这样可以把不同通道的多媒体帧合成为一路数据流,只需要使用一条网络连接来传输该数据流,节省网络资源。另外,由于合成帧中包括各多媒体帧的参数信息,从而能够根据各多媒体帧的参数信息播放各多媒体帧,保证能够成功播放各通道的多媒体帧。
实施例5
参见图5-1,本发明实施例提供了一种播放多媒体数据的方法,包括:
步骤501:接收数据流,该数据流中包括至少一个合成帧。
可以与用于发送数据流的发送设备建立网络连接,通过该网络连接收该数据流。
其中,合成帧中包括多个多媒体帧和该多个多媒体帧中的每个多媒体帧的参数信息,且在合成帧的帧头中包括合成帧的参数信息。
步骤502:解析该数据流中的每个合成帧,得到每个合成帧对应的多媒体帧集合,对于任一个合成帧,该合成帧对应的多媒体帧集合包括该合成帧的参数信息、该合成帧中的每个多媒体帧和每个多媒体帧的参数信息。
对于任一个合成帧,首先从数据流中解析出该合成帧的帧头,从帧头中解析出该合成帧包括的多媒体帧数目N,然后从该数据流中解析出N个多媒体帧和各多个媒体帧的参数信息并形成一个多媒体帧集合,详细过程为:
从数据流中解析该合成帧中的第一个多媒体帧对应的字段中的第一子字段,得到第一个多媒体帧的参数信息,该参数信息包括第一个多媒体帧的数据长度,根据该数据长度解析第一个多媒体帧对应的字段中的第二子字段,得到第一个多媒体帧;继续解析该合成帧中的第二个多媒体帧对应的字段中的第一子字段,得到第二个多媒体帧的参数信息,该参数信息包括第二个多媒体帧的数据长度,根据该数据长度解析第二个多媒体帧对应的字段中的第二子字段,得到第二个多媒体帧;重复上述过程直至解析出该合成帧中的第N个多媒体帧和第N个多媒体帧的参数信息后,将该合成帧的参数信息、解析的第一个多媒体帧和其参数信息至第N个多媒体帧和其参数信息组成一个多媒体帧集合。
再继续从该数据流中解析出下一个合成帧的的帧头,从帧头中解析出该合成帧包括的多媒体帧数目N,然后从该数据流中解析出N个多媒体帧和各多个媒体帧的参数信息并形成一个多媒体帧集合,详细实现过程和上述描述过程一样,在此不再说明。
例如,参见图3-2所示的合成帧,首先解析出该合成帧中的帧头,得到该合成帧包括的多媒体帧数目3。然后,解析该合成帧中的第一个多媒体帧A1对应的字段中的第一子字段,得到第一多媒体帧A1的参数信息,根据该参数信息包括的第一个多媒体帧A1的数据长度,解析第一个多媒体帧A1对应的字段中的第二子字段,得到第一个多媒体帧A1。
然后,继续解析该合成帧中的第二个多媒体帧B1对应的字段中的第一子字段,得到第二多媒体帧B1的参数信息,根据该参数信息包括的第二个多媒体帧B1的数据长度,解析第二个多媒体帧B1对应的字段中的第二多字段,得到第二个多媒体帧B1。
继续解析该合成帧中的第三个多媒体帧C1对应的数据段中的第一字段,得到第三多媒体帧C1的参数信息,根据该参数信息包括的第三个多媒体帧C1的数据长度,解析第三个多媒体帧C1对应的字段中的第二字段,得到第三个媒体帧C1。
根据该媒体帧数目3,确定解析完该合成帧,将该合成帧的参数信息,解析的多媒体帧A1和A1对应的参数信息,多媒体帧B1和B1对应的参数信息以及多媒体帧C1和C1对应的参数信息组成多媒体帧集合。
继续解析该数据流,并确定当前解析的内容为下一个合成帧的帧头,并解析出下一个合成帧包括的多媒体帧数目3,并按上述方式形成多媒体帧集合,直至解析完整个数据流。
可选的,该数据流中包括数据流的配置信息,所以在解析该数据流时,还可以解析出该数据流的配置信息。
步骤503:对于解析的任一合成帧对应的多媒体帧集合,如果该合成帧是音频帧,则根据该多媒体帧集合中的每个多媒体帧的参数信息播放每个多媒体帧。
具体地,对于解析的任一合成帧对应的多媒体帧集合,如果该合成帧是音频帧,则可以使用播放设备的CPU(Central Processing Unit,中央处理器)根据该多媒体帧集合中的每个多媒体帧的参数信息解码每个多媒体帧,然后再播放解码的每个多媒体帧。
步骤504:对于解析的任一合成帧对应的多媒体帧集合,如果该合成帧是视频帧,则确定硬解码方式。
具体地,获取播放设备支持的至少一种硬解码方式;根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用至少一个硬解码方式中的每个硬解码方式解码任一多媒体帧集合包括的至少一个多媒体帧,并确定每个硬解码方式的解码效率;根据每个硬解码方式的解码效率,从每个硬解码方式中选择一种硬解码方式。
其中,播放设备中包括GPU(Graphics Processing Unit,图形处理器),通常GPU用于实现硬解码。对于播放设备,播放设备的不同操作系统,该播放设备支持的硬解码方式不同。在本实施例中,可以通过接口调用播放设备的操作系统类型,根据该操作系统类型确定支持的至少一个硬解码方式。
参见图5-2,目前的操作系统包括windows(窗口)系统、linux系统、mac系统(为Mac系列产品开发的专属操作系统)和移动系统。其中,windows系统支持的硬解码方式包括DXVA(DirectX Video Acceleration,视频硬件加速)、D3D11(一种游戏窗口化工具)、显卡SDK(Software Development Kit,软件开发套件)。linux系统、mac系统和移动系统支持的硬解码方式均为显卡SDK和硬解码开源框架API(Application Programming Interface,应用程序编程接口)。
选择硬解码方式,可以选择解码效率最高的硬解码方式。
步骤505:根据该媒体帧集合中包括的合成帧的参数信息和每个媒体帧的参数信息,并采用该硬解码方式解码该媒体帧集合包括的每个多媒体帧。
在本步骤中可以采用GPU,将该多媒体帧集合和该硬解码方式输入到该GPU,由该GPU根据该多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用该硬解码方式解码该多媒体帧集合包括的每个多媒体帧。
在本实施例中,也可以直接使用播放设备的CPU解码该多媒体帧集合包括的每个多媒体帧。相比采用CPU解码多媒体帧,采用GPU来解码多媒体帧可以提高显示画面的流畅性,另外还节省对CPU资源的占用,提高了播放设备的性能。
步骤506:播放解码的每个多媒体帧。
解码出的每个多媒体帧的参数信息中还可以包括通道标识。
可选的,在解析该数据流时,如果解析出该数据流的配置信息,该配置信息包括各通道对应的摄像头的角度信息和通道信息等至少一个,可以在播放的每个通道的媒体帧中分别显示每个通道对应的摄像头的角度信息和通道信息等至少一个。
可选的,如果该配置信息还包括各通道对应的描述结构体,根据每个通道中对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定每个通道标识对应的播放区域;然后在每个通道标识对应的播放区域中分别播放每个多媒体帧集合中的每个通道标识对应的多媒体帧。
其中,多媒体帧集合中的多媒体帧的参数信息包括通道标识,对于任一多媒体帧集合中的任一多媒体帧,可以从该多媒体帧的参数信息中获取该多媒体帧对应的通道标识。
每个通道对应的播放区域可以位于同一个显示界面中,将该显示界面划分成N个播放区域,将该N个通道的多媒体帧分别在各通道对应的播放区域中播放,可以将N个通道的多媒体帧拼接成一个显示界面。
或者,
该N个通道对应的播放区域可以分布在多个显示界面中,每个显示界面中可以包括一个或多个播放区域。
这样,对于多个通道的多媒体数据流而言,传输过程中只需要一路链接传输合成帧,播放过程则能够分别播放多个通道的多媒体数据流,在节约传输网络带宽的同时不影响播放效果。
在本发明实施例中,由于数据流由合成帧组成,对合成帧进行解析得到合成帧包括的不同通道的多媒体帧,且解析方式采用硬解码方式,并使用GPU解析,然后播放每个合成帧包括的不同通道的多媒体帧。这样可以把不同通道的多媒体帧合成为一路数据流,只需要使用一条网络连接来传输该数据流,节省网络资源,同时由于采用GPU解析合成帧,可以提高显示画面的流畅性,另外还节省对CPU资源的占用,提高了播放设备的性能。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
实施例6
参见图6,本发明实施例提供了一种发送多媒体数据的装置600,所述装置600包括:
获取模块601,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;
合成模块602,用于将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧及其参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;
发送模块603,用于发送所述数据流。
可选的,所述合成模块602包括:
第一获取单元,用于分别从所述每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,所述N个多媒体帧中的每个多媒体帧对应的时间戳均相同;
第一生成单元,用于生成合成帧,所述合成帧包括所述N个多媒体帧和所述N个多媒体帧的参数信息,所述合成帧的帧头包括所述合成帧的参数信息,在所述合成帧中,每个多媒体帧和所述多媒体帧的参数信息相邻,且所述多媒体帧的参数信息的位置比所述多媒体帧的位置更靠近所述合成帧的帧头;
组成单元,用于将生成的各合成帧组成数据流。
可选的,所述数据流中包括所述数据流的配置信息,所述装置600还包括:
第一生成模块,用于根据所述每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个,生成所述数据流的配置信息。
可选的,当所述N个多媒体帧均为视频帧时,所述配置信息还包括所述每个通道对应的描述结构体;所述装置600还包括:
第二生成模块,用于生成所述每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
可选的,所述第二生成模块包括:
第二获取单元,用于获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息、尺寸信息;
第二生成单元,用于根据所述通道标识、所述位置信息和所述尺寸信息中的至少一个生成所述通道对应的描述结构体。
可选的,所述合成帧的参数信息包括所述合成帧中的多媒体帧数目N、多媒体帧的宽高、分辨率、时间戳和帧类型中的至少一个;
所述多媒体帧的参数信息包括所述多媒体帧的数据长度、所述多媒体帧所在通道的通道标识、时间戳和持续时间中的至少一个。
在本发明实施例中,由于数据流由合成帧组成,对合成帧进行解析得到合成帧包括的不同通道的多媒体帧,播放每个合成帧包括的不同通道的多媒体帧。这样可以把不同通道的多媒体帧合成为一路数据流,只需要使用一条网络连接来传输该数据流,节省网络资源。
实施例7
参见图7,本发明实施例提供了一种播放多媒体数据的装置700,所述装置700包括:
接收模块701,用于接收数据流,所述数据流包括至少一个合成帧;
解析模块702,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;
播放模块703,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧。
可选的,当多媒体帧为视频帧时,
所述播放模块703包括:
第一确定单元,用于确定硬解码方式;
解码单元,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用所述硬解码方式解码所述每个多媒体帧集合包括的每个多媒体帧;
第一播放单元,用于播放所述解码的每个多媒体帧。
可选的,所述确定单元执行所述确定硬解码方式的操作,包括:
获取设备支持的至少一个硬解码方式;
根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用所述至少一个硬解码方式中的每个硬解码方式解码所述任一多媒体帧集合包括的至少一个多媒体帧,并确定所述每个硬解码方式的解码效率;
根据所述每个硬解码方式的解码效率,从所述每个硬解码方式中选择一硬解码方式。
所述解析模块702,还用于从所述数据流中解析出N个通道中的每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个,N为大于1的整数;
所述播放模块703包括:
第二确定单元,用于根据所述每个通道对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定各通道标识对应的播放区域;
第二播放单元,用于在所述各通道标识对应的播放区域中分别播放每个多媒体帧集合中的所述各通道标识对应的多媒体帧。
在本发明实施例中,由于数据流由合成帧组成,对合成帧进行解析得到合成帧包括的不同通道的多媒体帧,播放每个合成帧包括的不同通道的多媒体帧。这样可以把不同通道的多媒体帧合成为一路数据流,只需要使用一条网络连接来传输该数据流,节省网络资源。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例8
图8是根据一示例性实施例示出的一种装置800的框图。该装置800可以为实施例1中的发送设备1或实施例6提供的任一种发送媒体数据的装置600;或者,该装置800可以为实施例1中的播放设备2或实施例7提供的任一种播放媒体数据的装置700。例如,装置800可以是摄像设备,移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置800的处理器执行时,使得装置800能够执行实施例2或实施例3所提供的一种发送多媒体数据的方法,或者能够执行实施例4或实施例5所提供的一种播放多媒体数据的方法。
实施例9
参见图9,本发明实施例提供了一种播放多媒体数据的系统900,所述系统900包括:发送设备901和播放设备902;
所述发送设备901,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧、所述N个多媒体帧中的每个多媒体帧的参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;向所述播放设备902发送所述数据流;
所述播放设备902,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用硬解码方式解码并播放所述每个多媒体帧集合包括的每个多媒体帧。
在本发明实施例中,由于数据流由合成帧组成,对合成帧进行解析得到合成帧包括的不同通道的多媒体帧,播放每个合成帧包括的不同通道的多媒体帧。这样可以把不同通道的多媒体帧合成为一路数据流,只需要使用一条网络连接来传输该数据流,节省网络资源。
实施例9中的系统中的细节请参照实施例1-8,在此不再赘述。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (21)

1.一种发送多媒体数据的方法,其特征在于,所述方法包括:
获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;
将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧及其参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;
发送所述数据流。
2.如权利要求1所述的方法,其特征在于,所述将所述N个通道的多媒体数据流合成为一路数据流,包括:
分别从所述每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,所述N个多媒体帧中的每个多媒体帧对应的时间戳均相同;
生成合成帧,所述合成帧包括所述N个多媒体帧和所述N个多媒体帧的参数信息,所述合成帧的帧头包括所述合成帧的参数信息,在所述合成帧中,每个多媒体帧和所述多媒体帧的参数信息相邻,且所述多媒体帧的参数信息的位置比所述多媒体帧的位置更靠近所述合成帧的帧头;
将生成的各合成帧组成数据流。
3.如权利要求1所述的方法,其特征在于,所述数据流中包括所述数据流的配置信息,所述发送所述数据流之前,还包括:
根据所述每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个,生成所述数据流的配置信息。
4.如权利要求3所述的方法,其特征在于,当所述N个多媒体帧均为视频帧时,所述配置信息还包括所述每个通道对应的描述结构体;
所述发送所述数据流之前,还包括:
生成所述每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
5.如权利要求4所述的方法,其特征在于,所述生成所述每个通道对应的描述结构体,包括:
获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息、尺寸信息;
根据所述通道标识、所述位置信息和所述尺寸信息中的至少一个生成所述通道对应的描述结构体。
6.如权利要求1至5任一项权利要求所述的方法,其特征在于,
所述合成帧的参数信息包括所述合成帧中的多媒体帧数目N、多媒体帧的宽高、分辨率、时间戳和帧类型中的至少一个;
所述多媒体帧的参数信息包括所述多媒体帧的数据长度、所述多媒体帧所在通道的通道标识、时间戳和持续时间中的至少一个。
7.一种播放多媒体数据的方法,其特征在于,所述方法包括:
接收数据流,所述数据流包括至少一个合成帧;
解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;
根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧。
8.如权利要求7所述的方法,其特征在于,当多媒体帧为视频帧时,
所述根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧,包括:
确定硬解码方式;
根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用所述硬解码方式解码所述每个多媒体帧集合包括的每个多媒体帧;
播放所述解码的每个多媒体帧。
9.如权利要求8所述的方法,其特征在于,所述确定硬解码方式,包括:
获取设备支持的至少一个硬解码方式;
根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用所述至少一个硬解码方式中的每个硬解码方式解码所述任一多媒体帧集合包括的至少一个多媒体帧,并确定所述每个硬解码方式的解码效率;
根据所述每个硬解码方式的解码效率,从所述每个硬解码方式中选择一硬解码方式。
10.如权利要求7-9中任一项所述的方法,其特征在于,所述解析所述数据流中的每个合成帧,还包括:
从所述数据流中解析出N个通道中的每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个,N为大于1的整数;
所述播放所述每个多媒体帧集合包括的每个多媒体帧,包括:
根据所述每个通道对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定各通道标识对应的播放区域;
在所述各通道标识对应的播放区域中分别播放每个多媒体帧集合中的所述各通道标识对应的多媒体帧。
11.一种发送多媒体数据的装置,其特征在于,所述装置包括:
获取模块,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;
合成模块,用于将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧及其参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;
发送模块,用于发送所述数据流。
12.如权利要求11所述的装置,其特征在于,所述合成模块包括:
第一获取单元,用于分别从所述每个通道的多媒体数据流中获取一个多媒体帧,得到N个多媒体帧,所述N个多媒体帧中的每个多媒体帧对应的时间戳均相同;
第一生成单元,用于生成合成帧,所述合成帧包括所述N个多媒体帧和所述N个多媒体帧的参数信息,所述合成帧的帧头包括所述合成帧的参数信息,在所述合成帧中,每个多媒体帧和所述多媒体帧的参数信息相邻,且所述多媒体帧的参数信息的位置比所述多媒体帧的位置更靠近所述合成帧的帧头;
组成单元,用于将生成的各合成帧组成数据流。
13.如权利要求11所述的装置,其特征在于,所述数据流中包括所述数据流的配置信息,所述装置还包括:
第一生成模块,用于根据所述每个通道对应的摄像头的角度信息、通道信息和合成分辨率中的至少一个,生成所述数据流的配置信息。
14.如权利要求13所述的装置,其特征在于,当所述N个多媒体帧均为视频帧时,所述配置信息还包括所述每个通道对应的描述结构体;所述装置还包括:
第二生成模块,用于生成所述每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个。
15.如权利要求14所述的装置,其特征在于,所述第二生成模块包括:
第二获取单元,用于获取预先设置的或输入的下述信息中的至少一个:
通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息、尺寸信息;
第二生成单元,用于根据所述通道标识、所述位置信息和所述尺寸信息中的至少一个生成所述通道对应的描述结构体。
16.如权利要求11至15任一项权利要求所述的装置,其特征在于,
所述合成帧的参数信息包括所述合成帧中的多媒体帧数目N、多媒体帧的宽高、分辨率、时间戳和帧类型中的至少一个;
所述多媒体帧的参数信息包括所述多媒体帧的数据长度、所述多媒体帧所在通道的通道标识、时间戳和持续时间中的至少一个。
17.一种播放多媒体数据的装置,其特征在于,所述装置包括:
接收模块,用于接收数据流,所述数据流包括至少一个合成帧;
解析模块,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;
播放模块,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,播放所述每个多媒体帧集合包括的每个多媒体帧。
18.如权利要求17所述的装置,其特征在于,当多媒体帧为视频帧时,
所述播放模块包括:
第一确定单元,用于确定硬解码方式;
解码单元,用于根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用所述硬解码方式解码所述每个多媒体帧集合包括的每个多媒体帧;
第一播放单元,用于播放所述解码的每个多媒体帧。
19.如权利要求18所述的装置,其特征在于,所述确定单元执行所述确定硬解码方式的操作,包括:
获取设备支持的至少一个硬解码方式;
根据任一多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并分别采用所述至少一个硬解码方式中的每个硬解码方式解码所述任一多媒体帧集合包括的至少一个多媒体帧,并确定所述每个硬解码方式的解码效率;
根据所述每个硬解码方式的解码效率,从所述每个硬解码方式中选择一硬解码方式。
20.如权利要求17-19中任一项所述的装置,其特征在于,
所述解析模块,还用于从所述数据流中解析出N个通道中的每个通道对应的描述结构体,通道对应的描述结构体包括所述通道的通道标识、用于播放所述通道的媒体数据流的播放区域的位置信息和尺寸信息中的至少一个,N为大于1的整数;
所述播放模块包括:
第二确定单元,用于根据所述每个通道对应的结构描述体包括的通道标识、播放区域的位置信息和尺寸信息,确定各通道标识对应的播放区域;
第二播放单元,用于在所述各通道标识对应的播放区域中分别播放每个多媒体帧集合中的所述各通道标识对应的多媒体帧。
21.一种播放多媒体数据的系统,其特征在于,所述系统包括:发送设备和播放设备;
所述发送设备,用于获取N个通道中的每个通道的多媒体数据流,所述每个通道的多媒体数据流包括至少一个多媒体帧,N为大于1的整数;将所述N个通道的多媒体数据流合成为一路数据流,所述数据流包括至少一个合成帧,所述合成帧包括N个时间戳均相同的多媒体帧、所述N个多媒体帧中的每个多媒体帧的参数信息和所述合成帧的参数信息,其中,所述N个多媒体帧分别属于所述N个通道;向所述播放设备发送所述数据流;
所述播放设备,用于解析所述数据流中的每个合成帧,得到所述每个合成帧对应的多媒体帧集合,合成帧对应的多媒体帧集合包括所述合成帧的参数信息、所述合成帧中的每个多媒体帧和所述每个多媒体帧的参数信息;根据解析的每个多媒体帧集合中包括的合成帧的参数信息和每个多媒体帧的参数信息,并采用硬解码方式解码并播放所述每个多媒体帧集合包括的每个多媒体帧。
CN201710781285.0A 2017-09-01 2017-09-01 发送多媒体数据、播放多媒体数据的方法、装置及系统 Active CN109429073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710781285.0A CN109429073B (zh) 2017-09-01 2017-09-01 发送多媒体数据、播放多媒体数据的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710781285.0A CN109429073B (zh) 2017-09-01 2017-09-01 发送多媒体数据、播放多媒体数据的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109429073A true CN109429073A (zh) 2019-03-05
CN109429073B CN109429073B (zh) 2021-07-02

Family

ID=65513081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710781285.0A Active CN109429073B (zh) 2017-09-01 2017-09-01 发送多媒体数据、播放多媒体数据的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109429073B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026300A1 (en) * 2001-09-19 2003-03-27 Bellsouth Intellectual Property Corporation Minimal decoding method for spatially multiplexing digital video pictures
CN102801979A (zh) * 2012-08-09 2012-11-28 武汉微创光电股份有限公司 多路视频混合编码方法及装置
CN103686047A (zh) * 2013-12-18 2014-03-26 电子科技大学 一种多路视频数据传输方法
CN104243920A (zh) * 2014-09-04 2014-12-24 浙江宇视科技有限公司 一种基于基本流视频数据封装的图像拼接方法及装置
CN105430537A (zh) * 2015-11-27 2016-03-23 刘军 对多路数据进行合成的方法、服务器及音乐教学系统
CN105612756A (zh) * 2013-08-08 2016-05-25 国立大学法人电气通信大学 数据处理装置、数据处理方法、程序、记录介质以及数据处理系统
CN105872569A (zh) * 2015-11-27 2016-08-17 乐视云计算有限公司 视频播放方法、装置及系统
CN106791489A (zh) * 2016-12-28 2017-05-31 四川九洲电器集团有限责任公司 一种视频监控系统及播放端

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026300A1 (en) * 2001-09-19 2003-03-27 Bellsouth Intellectual Property Corporation Minimal decoding method for spatially multiplexing digital video pictures
CN102801979A (zh) * 2012-08-09 2012-11-28 武汉微创光电股份有限公司 多路视频混合编码方法及装置
CN105612756A (zh) * 2013-08-08 2016-05-25 国立大学法人电气通信大学 数据处理装置、数据处理方法、程序、记录介质以及数据处理系统
CN103686047A (zh) * 2013-12-18 2014-03-26 电子科技大学 一种多路视频数据传输方法
CN104243920A (zh) * 2014-09-04 2014-12-24 浙江宇视科技有限公司 一种基于基本流视频数据封装的图像拼接方法及装置
CN105430537A (zh) * 2015-11-27 2016-03-23 刘军 对多路数据进行合成的方法、服务器及音乐教学系统
CN105872569A (zh) * 2015-11-27 2016-08-17 乐视云计算有限公司 视频播放方法、装置及系统
CN106791489A (zh) * 2016-12-28 2017-05-31 四川九洲电器集团有限责任公司 一种视频监控系统及播放端

Also Published As

Publication number Publication date
CN109429073B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
US9836267B2 (en) Image/audio playback device of mobile communication terminal
US8606183B2 (en) Method and apparatus for remote controlling bluetooth device
CN106162230A (zh) 直播信息的处理方法、装置、主播端、服务器及系统
US20090252481A1 (en) Methods, apparatus, system and computer program product for audio input at video recording
CN105612743A (zh) 编码的媒体的音频视频回放同步
EP2175622B1 (en) Information processing device, information processing method and storage medium storing computer program
CN105808469B (zh) 数据处理方法、装置、终端及智能设备
CN108924491B (zh) 视频流处理方法及装置、电子设备和存储介质
JP7361890B2 (ja) 通話方法、通話装置、通話システム、サーバ及びコンピュータプログラム
CN109963168A (zh) 视频预览方法及装置
CN113643728A (zh) 一种音频录制方法、电子设备、介质及程序产品
US9325776B2 (en) Mixed media communication
CN110992920B (zh) 直播合唱方法、装置、电子设备及存储介质
WO2022214101A1 (zh) 一种视频生成方法、装置、电子设备及存储介质
CN108769769A (zh) 视频的播放方法、装置及计算机可读存储介质
CN113726815B (zh) 一种动态调整视频的方法、电子设备、芯片系统和存储介质
CN106792024A (zh) 多媒体信息的分享方法及装置
CN109429073A (zh) 发送多媒体数据、播放多媒体数据的方法、装置及系统
CN109831538A (zh) 一种消息处理方法、装置、服务器、终端及介质
CN105245898B (zh) 图像数据存储方法和装置
CN105430260B (zh) 获取视频图像的方法及装置
CN115544296A (zh) 音频数据的存储方法及其相关设备
CN110519850A (zh) 传输带宽确定方法及装置
CN109982127A (zh) 弹幕速度的控制方法及装置
CN116668762B (zh) 录屏方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant