CN108200447B - 直播数据传输方法、装置、电子设备、服务器及存储介质 - Google Patents

直播数据传输方法、装置、电子设备、服务器及存储介质 Download PDF

Info

Publication number
CN108200447B
CN108200447B CN201810035816.6A CN201810035816A CN108200447B CN 108200447 B CN108200447 B CN 108200447B CN 201810035816 A CN201810035816 A CN 201810035816A CN 108200447 B CN108200447 B CN 108200447B
Authority
CN
China
Prior art keywords
data
private
unit
private data
video
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.)
Active
Application number
CN201810035816.6A
Other languages
English (en)
Other versions
CN108200447A (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.)
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Beijing Jinxun Ruibo Network Technology Co Ltd, Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Jinxun Ruibo Network Technology Co Ltd
Priority to CN201810035816.6A priority Critical patent/CN108200447B/zh
Publication of CN108200447A publication Critical patent/CN108200447A/zh
Application granted granted Critical
Publication of CN108200447B publication Critical patent/CN108200447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2187Live feed
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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
    • H04N21/440227Processing 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 by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

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

Abstract

本发明实施例提供了一种直播数据传输方法、装置、电子设备、服务器及存储介质,所述方法包括:获取待发送的第一私有数据,将所述第一私有数据加入目标数据单元,将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由视频编码单元构成的视频数据中,将视频数据发送至服务器。并由服务器转发至播放端,从而播放端可以在获得视频数据的同时,获取该第一私有数据。第一私有数据装载在目标数据单元,属于视频数据编码压缩层面的视频编码单元,第一私有数据的传输不受限于主播端与服务器或播放端之间的数据传输协议,扩展了传输第一私有数据的应用环境。

Description

直播数据传输方法、装置、电子设备、服务器及存储介质
技术领域
本发明涉及网络通信领域,特别是涉及一种直播数据传输方法、装置、电子设备、服务器及存储介质。
背景技术
随着互联网技术的高速发展,各种新型的信息交互方式也得到了快速的发展,例如,越来越常见的网络直播。网络直播可以通过各种电子设备,例如,手机、平板电脑、智能眼镜等,作为主播端,并随时随地的进行音视频数据的采集,然后利用网络将所采集的音视频数据,实时发送至用户的播放端,在播放端实时的收看到主播端所发送的音视频数据。实现主播端与播放端之间的实时的数据交互。
目前在进行网络直播时,主播端所采集的音频和视频数据,在进行编码压缩后,可以发送至服务器,再由服务器发送至各个播放端,其中播放端也可以是各类电子设备,如手机、平板电脑等。然而,主播端在采集音频和视频数据时,还可以获得其他类型的数据信息,例如,主播端可以产生并向播放端发送的文字、图片、音乐、动画、链接等数据信息,或者主播端产生的对服务器或播放端进行控制的控制信息,以及用于记录主播端当前状态的状态信息等等。上述数据信息不同于主播端所采集的音频和视频数据,可以称为私有数据。私有数据为主播端能够向服务器和播放端发送的,除音频和视频数据以外的各种数据。
在现有技术中,在对音频和视频数据进行封装时,例如,在将音频数据和视频数据封装为,如FLV(Flash Video,流媒体格式)等封装格式时,可以将私有数据加入封装后的数据文件中,从而可以将私有数据随音视频数据一起发送。
然而,由于现有技术是在音频数据和视频数据的封装后的数据文件中加入私有数据,从而使得私有数据必须依赖于特定的封装格式,例如FLV格式等。从而只有当主播端与服务器或播放端之间的数据传输协议能够满足该特定的封装格式时,才能够实现私有数据的传输,进而限制了传输私有数据的应用环境。
发明内容
本发明实施例的目的在于提供一种直播数据传输方法、装置、电子设备、服务器及存储介质,能够在各种应用环境下,在主播端、服务器及播放端之间实现私有数据的传输。具体技术方案如下:
本发明实施例公开了一种直播数据传输方法,应用于主播端,包括:
获取待发送的第一私有数据,所述第一私有数据包括所述主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
将所述第一私有数据加入目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中;
将添加入所述目标数据单元的所述视频数据发送至服务器。
可选的,所述目标数据单元包括预设网络抽象层NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述预设NAL单元为补充增强信息SEI型NAL单元。
可选的,所述将所述第一私有数据加入目标数据单元,包括:
在第一私有数据中加入第一预设字段;
将加入所述第一预设字段的第一私有数据加入所述目标数据单元。
可选的,所述将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中,包括:
将加入所述第一私有数据的目标数据单元,加入私有数据队列;
将所述私有数据队列中,加入所述第一私有数据的目标数据单元,全部加入已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
本发明实施例还公开了一种直播数据传输方法,应用于服务器,包括:
接收主播端发送的视频数据;
从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
判断所述目标数据单元中第一私有数据的接收方是否为所述服务器,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
当所述第一私有数据的接收方为所述服务器时,获取所述目标数据单元中的第一私有数据。
可选的,所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述预设NAL单元为SEI型NAL单元。
可选的,在所述从所述视频数据中获得目标数据单元之后,所述方法还包括:
判断所述目标数据单元中是否含有第一预设字段;
当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述第一预设字段对应的数据。
可选的,在所述获取所述目标数据单元中的第一私有数据之后,所述方法还包括:
从所述视频数据中删除所述目标数据单元。
可选的,在所述接收主播端发送的视频数据的步骤之后,所述方法还包括:
将第二私有数据加入所述目标数据单元中,所述第二私有数据为所述服务器产生的,并向播放端发送的数据;
将加入所述第二私有数据的目标数据单元添加进接收到的所述视频数据中;
将添加入所述目标数据单元的所述视频数据转发至播放端。
可选的,所述将第二私有数据加入所述目标数据单元中,包括:
在所述第二私有数据中加入第二预设字段;
将加入所述第二预设字段的第二私有数据加入所述目标数据单元。
本发明实施例还公开了一种直播数据传输方法,应用于播放端,包括:
接收服务器转发的视频数据;
从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
从所述目标数据单元获取第一私有数据和/或第二私有数据,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,所述第二私有数据为服务器产生的,并向播放端发送的数据;
对所述视频数据进行解码,在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述预设NAL单元为SEI型NAL单元。
可选的,在所述从所述视频数据中获得目标数据单元之后,所述方法还包括:
判断所述目标数据单元中是否含有第一预设字段和/或第二预设字段;
当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述第一预设字段对应的数据;
当含有所述第二预设字段时,所述目标数据单元中含有第二私有数据,且所述第二私有数据为所述第二预设字段对应的数据。
可选的,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
在播放解码后的视频数据时,根据所述第一私有数据和/或所述第二私有数据中用于标识所述第一私有数据和/或所述第二私有数据的展示方式的第三预设字段,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
将所述视频数据中的时间戳,加入所述第一私有数据和/或所述第二私有数据的时间标识字段中,其中,所述时间戳用于表示当前所播放的视频数据相对于所述播放端开始播放时间的相对时间;
在播放解码后的视频数据时,根据所述时间标识字段,在所述时间标识字段对应的时间位置,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
将所述解码后的视频数据送入缓冲区;
将所述第一私有数据和/或所述第二私有数据送入缓冲区;
将所述第一私有数据和/或所述第二私有数据,与所述解码后的视频数据进行渲染;
在播放解码后的视频数据时,显示经过渲染的所述第一私有数据和/或所述第二私有数据。
本发明实施例还提供了一种直播数据传输装置,应用于主播端,包括:
获取模块,用于获取待发送的第一私有数据,所述第一私有数据包括所述主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第一添加模块,用于将所述第一私有数据加入目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二添加模块,用于将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中;
发送模块,用于将添加入所述目标数据单元的所述视频数据发送至服务器。
可选的,所述装置中所述目标数据单元包括预设网络抽象层NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述装置中所述预设NAL单元为补充增强信息SEI型NAL单元。
可选的,所述第一添加模块,具体用于:
在第一私有数据中加入第一预设字段;将加入所述第一预设字段后的第一私有数据加入所述目标数据单元。
可选的,所述第二添加模块,具体用于:
将加入所述第一私有数据的目标数据单元,加入私有数据队列;将所述私有数据队列中,加入所述第一私有数据的目标数据单元,全部加入已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
本发明实施例还提供了一种直播数据传输装置,应用于服务器,包括:
第一接收模块,用于接收主播端发送的视频数据;
第一获取模块,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
判断模块,用于判断所述目标数据单元中第一私有数据的接收方是否为所述服务器,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第二获取模块,用于当所述第一私有数据的接收方为所述服务器时,获取所述目标数据单元中的第一私有数据。
可选的,所述装置中所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述装置中所述预设NAL单元为SEI型NAL单元。
可选的,所述装置还包括:
选择模块,用于判断所述目标数据单元中是否含有预设字段;当含有所述预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述预设字段对应的数据。
可选的,所述装置还包括:
删除模块,用于从所述视频数据中删除所述目标数据单元。
可选的,所述装置还包括:
添加模块,用于将第二私有数据加入所述目标数据单元中,所述第二私有数据为所述服务器产生的,并向播放端发送的数据;将加入所述第二私有数据的目标数据单元添加进接收到的所述视频数据中;
转发模块,用于将添加入所述目标数据单元的所述视频数据转发至播放端。
可选的,所述添加模块,具体用于:
在所述第二私有数据中加入第二预设字段;将加入所述第二预设字段的第二私有数据加入所述目标数据单元。
本发明实施例还提供了一种直播数据传输装置,应用于播放端,包括:
第二接收模块,用于接收服务器转发的视频数据;
第一获取模块,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二获取模块,用于从所述目标数据单元获取第一私有数据和/或第二私有数据,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,所述第二私有数据为服务器产生的,并向播放端发送的数据;
展示模块,用于对所述视频数据进行解码,在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述装置中所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,所述装置中所述预设NAL单元为SEI型NAL单元。
可选的,所述装置还包括:
选择模块,用于判断所述目标数据单元中是否含有第一预设字段和/或第二预设字段;当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述预设字段对应的数据;当含有所述第二预设字段时,所述目标数据单元中含有第二私有数据,且所述第二私有数据为所述第二预设字段对应的数据。
可选的,所述展示模块,具体用于:
在播放解码后的视频数据时,根据所述第一私有数据和/或所述第二私有数据中用于标识所述第一私有数据和/或所述第二私有数据的展示方式的第三预设字段,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述展示模块,具体用于:
将所述视频数据中的时间戳,加入所述第一私有数据和/或所述第二私有数据的时间标识字段中,其中,所述时间戳用于表示当前所播放的视频数据相对于所述播放端开始播放时间的相对时间;在播放解码后的视频数据时,根据所述时间标识字段,在所述时间标识字段对应的时间位置,显示所述第一私有数据和/或所述第二私有数据。
可选的,所述展示模块,具体用于:
将所述解码后的视频数据送入缓冲区;将所述第一私有数据和/或所述第二私有数据送入缓冲区;将所述第一私有数据和/或所述第二私有数据,与所述解码后的视频数据进行渲染;在播放解码后的视频数据时,显示经过渲染的所述第一私有数据和/或所述第二私有数据。
本发明实施例还公开了一种主播端电子设备,包括:
第一存储器,用于存放计算机程序;
第一处理器,用于执行第一存储器上所存放的程序时,实现上述应用于主播端的直播数据传输方法。
本发明实施例还公开了一种服务器,包括:
第二存储器,用于存放计算机程序;
第二处理器,用于执行第二存储器上所存放的程序时,实现上述应用于服务器的直播数据传输方法。
本发明实施例还公开了播放端电子设备,包括:
第三存储器,用于存放计算机程序;
第三处理器,用于执行第三存储器上所存放的程序时,实现上述应用于播放端的直播数据传输方法。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于主播端的直播数据传输方法。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于服务器的直播数据传输方法。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于播放端的直播数据传输方法。
本发明实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于主播端的直播数据传输方法。
本发明实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于服务器的直播数据传输方法。
本发明实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于播放端的直播数据传输方法。
本发明实施例提供的一种直播数据传输方法、装置、电子设备、服务器及存储介质,其中,主播端将第一私有数据加入目标数据单元之后,将加入有第一私有数据的目标数据单元加入已经进行编码的视频数据中;然后向服务器发送含有第一私有数据的视频数据。并由服务器转发至播放端,从而播放端可以在获得视频数据的同时,获取该第一私有数据。在本发明实施例中,由于将第一私有数据加入目标数据单元,而目标数据单元是视频数据在编码格式中的一个基本的组成部分,属于视频数据编码压缩层面的基本的视频编码单元,从而使得不再需要将第一私有数据加入音频和视频数据的封装格式中,使得不论主播端与服务器或播放端之间的数据传输协议是否能够满足该封装格式,都可以实现第一私有数据的传输,进而扩展了传输第一私有数据的应用环境。并且,当音频和视频数据的封装格式发生转化时,例如,将FLV格式转换为MP4格式时,由于第一私有数据存储于视频数据的编码层面,也不会造成第一私有数据的丢失。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的直播数据传输方法应用于主播端的第一种流程图;
图2为本发明实施例提供的直播数据传输方法应用于主播端的第二种流程图;
图3为本发明实施例提供的直播数据传输方法应用于服务器的第一种流程图;
图4为本发明实施例提供的直播数据传输方法应用于服务器的第二种流程图;
图5为本发明实施例提供的直播数据传输方法应用于播放端的第一种流程图;
图6为本发明实施例提供的直播数据传输方法应用于播放端的第二种流程图;
图7为本发明实施例提供的应用直播数据传输方法的系统结构图;
图8为本发明实施提供的直播数据传输装置的第一种结构图;
图9为本发明实施提供的直播数据传输装置的第二种结构图;
图10为本发明实施提供的直播数据传输装置的第三种结构图;
图11为本发明实施提供的主播端电子设备的结构图;
图12为本发明实施提供的服务器的结构图;
图13为本发明实施提供的播放端电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例提供的直播数据传输方法应用于主播端的第一种流程图,包括:
步骤101,获取待发送的第一私有数据,第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据。
主播端是可以对视频数据和音频数据进行采集的电子设备,该电子设备可以包括手机、电脑、智能电视等各类能够联网并传输信息的智能设备。
主播端可以实时的采集视频数据和音频数据,并对视频数据和音频数据进行编码,封装后,向服务器发送,再由服务器向各个播放端进行转发,从而各个播放端就可以实时的收看到主播端所发送的视频数据和音频数据。
上述的视频数据和音频数据可以简称为音视频数据。主播端在采集视频数据和音频数据时,还可能会产生一些非音视频数据的其他数据,例如,文字,图片,音乐,网络链接,主播端运行状态参数等数据。这些数据由主播端产生,并可以向服务器或播放端发送,这类数据可以作为第一私有数据。
主播端获取第一私有数据的方式有很多种,例如,主播端的用户向主播端输入第一私有数据,也可以是主播端预先在本地存储的第一私有数据,也可以是主播端实时监测到的运行状态参数等数据,作为第一私有数据。
在一个实际的应用场景中,主播端可以为一智能手机,用户使用该智能手机进行网络直播,在实时采集并发送视频数据和音频数据时,该用户可以将选择出一张该智能手机中所存储的图片,将该图片向正在收看该直播的用户的播放端发送,此时,该图片就可以作为第一私有数据。
步骤102,将第一私有数据加入目标数据单元,目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元。
主播端在发送所采集到的视频数据和音频数据时,由于原始采集到的视频数据和音频数据的数据量都很大,不能直接进行发送,需要对所采集的视频数据和音频数据进行编码压缩,对于音频数据,通用的编码标准为AAC(Advanced Audio Coding,高级音频编码),而对于视频数据,通用的编码标准为H.264,以及H.265等等。视频编码格式中,对所采集到的原始的视频数据进行编码,编码过程中形成的最基本的编码结构单元可以称为视频编码单元。视频编码单元可以包括多种类型,其中目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元。用户可以将自定义的各种数据加入目标数据单元。
具体的,目标数据单元可以包括预设NAL(Network Abstract Layer,网络抽象层)单元,该预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
在实际应用中,最为广泛使用的视频编码格式为H.264或H.265。在H.264或H.265中,最基本的视频编码单元可以为NAL单元。即采用H.264及H.265对原始的视频数据进行编码,所得到的编码后的视频数据可以由多个NAL单元所构成。并且,NAL单元可以具有多种不同类型,用于存储各种图像编码信息等数据信息。对于视频数据,还可以有其他不同的编码标准或方式,但只要对视频数据进行压缩编码时,所使用的编码标准或方式中含有NAL单元,则都可以应用本发明实施例所提供的直播数据传输方法。
以H.264为例,主播端在获得了第一私有数据后,可以将第一私有数据加入预设NAL单元,或者也可以将第一私有数据按预设NAL单元的固有格式进行封装,将第一私有数据封装为预设NAL单元。为了使第一私有数据能够更好的与预设NAL单元的格式相兼容,并且减少发送的数据量,可以在将第一私有数据加入预设NAL单元之前,对第一私有数据也进行压缩编码,对第一私有数据进行编码,可以采用与预设NAL单元的格式相兼容的各种编码标准,例如,可以采用AMF(Action Message Format,实时消息格式)编码。对第一私有数据进行编码后,将经过编码的第一私有数据加入预设NAL单元,或封装为预设NAL单元。
在本发明实施例中,优选的,预设NAL单元可以为SEI(supplemental enhancementinformation,补充增强信息)型NAL单元,SEI型NAL单元为NAL单元的一种类型,该SEI型NAL单元中可以保存有对视频数据的补充增强信息,补充增强信息在视频数据解码、显示或其他应用过程中可以起到辅助的作用。在H.264编码标准中,SEI型NAL单元中可以有多种载荷类型,其中,SEI型NAL单元的一种载荷类型可以为user_data_unregistered(未注册的用户数据),在本发明实施例中,可以将第一私有数据作为未注册的用户数据,作为SEI型NAL单元中的载荷,从而将第一私有数据加入SEI型NAL单元中。
通过采用SEI型NAL单元作为预设NAL单元,可以更加容易的将第一私有数据加入预设NAL单元,并且提高了第一私有数据与编码后的视频数据的兼容性,有利于对视频数据的编码和解码。
步骤103,将加入第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
主播端在采集视频数据时,可以实时的对所采集的视频数据进行编码,并形成由多种类型的视频编码单元构成的经过编码的视频数据。例如,实时的对所采集的视频数据通过H.264编码标准进行编码,将所采集的视频数据编码后可以构成多个NAL单元。
当将第一私有数据加入目标数据单元后,可以将该目标数据单元加入已经完成编码的视频数据中,例如,将预设NAL单元,插入到视频数据编码后构成多个NAL单元中。
步骤104,将添加入目标数据单元的所述视频数据发送至服务器。
主播端将目标数据单元添加进已经进行编码的视频数据中之后,就可以向服务器发送,含有目标数据单元的,并且已经进行了编码的视频数据。
发送的视频数据可以为一个个的视频编码单元,其中包含有该目标数据单元。容易理解的是,主播端在发送编码后的视频数据时,可以同步的将经过编码的音频数据向服务器发送,音频数据的发送方法,可以采用现有技术中的各类方法,再次不再赘述。
或者,主播端还可以将已经进行编码,并加入目标数据单元的视频数据,和已经完成编码的音频数据按一定格式进行封装后,再进行发送,例如,可以将视频数据和音频数据封装为FLV(Flash Video,流媒体格式)格式后,再向服务器进行发送。
在本发明实施例中,主播端将第一私有数据加入目标数据单元之后,将加入有第一私有数据的目标数据单元加入已经进行编码的视频数据中;然后向服务器发送含有第一私有数据的视频数据。由于将第一私有数据加入目标数据单元中,而目标数据单元是视频数据在编码格式中的一个基本的组成部分,属于视频数据编码压缩层面的视频编码单元,从而使得不再需要将第一私有数据加入音频和视频数据的封装格式中,从而使得不论主播端与服务器或播放端之间的数据传输协议是否能够满足该封装格式,都可以实现第一私有数据的传输,进而扩展了传输第一私有数据的应用环境。并且,当音频和视频数据的封装格式发生转化时,例如,将FLV格式转换为MP4格式时,由于第一私有数据存储于视频数据的编码层面,也不会造成第一私有数据的丢失。
结合上述的实施例,在本发明实施例提供的直播数据传输方法中,将第一私有数据加入视频编码单元,可以包括:
第一步,在第一私有数据中加入第一预设字段。
第二步,将加入第一预设字段的第一私有数据加入目标数据单元。
由于目标数据单元还可以把存有其他数据信息,例如,采用H.264进行编码时,预设NAL单元,除了可以用于装载第一私有数据以外,还可以含有其他类型的信息,例如,当预设NAL单元为SEI型的NAL单元时,该SEI型的NAL单元中还可以装载有其他的补充增强信息。
所以,为了使得服务器或播放端在接收到视频数据后,能够区分第一私有数据和其他类型的信息,并且能够更加便捷的判断出接收到的视频数据中是否含有第一私有数据。可以在将第一私有数据加入目标数据单元时,首先在第一私有数据中加入第一预设字段。
第一预设字段可以是字符串、序号标识等各种类型。将第一私有数据中加入该第一预设字段。当服务器或播放端接收到视频数据后,就可以通过检测目标数据单元中是否含有该第一预设字段,来确定出所接收到的视频数据中是否含有第一私有数据。
在本发明实施例中,第一私有数据可以含有多个字段,通过多个不同的字段可以实现对第一私有数据进行描述和控制,例如,控制该第一私有数据的接收方为服务器或者为播放端,以及控制该第一私有数据在播放端的展示方式,如,播放端获取第一私有数据后立即进行展示,或在指定时间进行展示,或按与第一私有数据一起发送的视频数据的时间戳进行展示。
参见表1,表1中示例性的举例了一种第一私有数据的组成格式。
从表1中可以看到,第一私有数据可以含有多个字段,其中预设字段可以标识出该数据为第一私有数据;接收方字段可以为0,1,2,通过不同字符标识出不同的接收方;展示方式字段,通过不同字符标识出不同的展示方式;时间标识字段可以标识出该私有数据的展示时间;持续时间字段可以标识出私有时间展示的持续时间;数据类型字段可以通过不同字符,标识出该第一私有数据的类型;预留字段可以用于添加其他信息,或者作为上述字段与第一私有数据本身的间隔;数据体字段为第一私有数据本身。
表1
Figure BDA0001547896260000151
在本发明实施例中,通过在第一私有数据中加入第一预设字段,使得服务器或播放端可以更加快捷的确定出所接收到的视频数据中,是否含有第一私有数据,并且,通过在第一私有数据中添加其他字段,能够对第一私有数据实现控制,例如,控制第一私有数据的展示时间长度,控制第一私有数据的展示方式等,从而扩大了第一私有数据的应用范围和使用方式。
可选的,在本发明实施例提供的直播数据传输方法中,将加入第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中,包括:
第一步,将加入第一私有数据的目标数据单元,加入私有数据队列。
第二步,将私有数据队列中,加入第一私有数据的目标数据单元,全部加入已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
在实际应用中,可能一次需要发送多个第一私有数据,多个第一私有数据可以为不同类型的私有数据,也可以为向不同接收端发送的第一私有数据,并且,该多个第一私有数据可以分别加入多个目标数据单元,例如,将多个第一私有数据分别加入多个预设NAL单元中。
所以,可以将每一个加入第一私有数据的目标数据单元,首先加入私有数据队列中,私有数据队列可以用于暂时存放一个或多个目标数据单元。
然后在需要将目标数据单元加入已经经过编码的视频数据中时,可以从私有队列中获取目标数据单元,将所获得的全部目标数据单元插入视频数据经过编码的形成的多个视频编码单元中。例如,采用H.264时,将预设NAL单元,加入经过编码的形成的NAL单元中。
当然,在实际应用时,也可以从私有数据队列中有选择性的选择出个别目标数据单元加入已经经过编码的视频数据中,例如,多个预设NAL单元可以具有不同的优先级,可以优先将优先级较高的预设NAL单元加入已经经过编码的视频数据中。
在本发明实施例的另一种实现方式中,由于对于视频数据的编码,和将第一私有数据加入目标数据单元可以通过两个相互独立的软件或硬件来实现,所以在发送已经编码的视频数据之前,可以首先判断私有数据队列中是否存在一个或多个目标数据单元,如果存在则将私有数据队列中的全部目标数据单元加入已经进行编码的视频数据中;如果数据队列中没有目标数据单元,则表示没有需要发送的第一私有数据,可以直接将已编码的视频数据进行发送。
参见图2,图2为本发明实施例提供的直播数据传输方法应用于主播端的第二种流程图,包括:
步骤201,采集数据。
主播端可以对视频数据和音频数据进行采集,并且在采集数据的同时生成第一私有数据。
步骤202,获取编码前的音频数据。步骤203,获取编码前的视频数据。步骤204,获取第一私有数据。
通过进行数据采集,可以获得原始的、没有经过编码压缩的音频数据和视频数据,并且获得待发送的第一私有数据。
步骤205,对音频数据进行压缩编码。
步骤206,对视频数据进行压缩编码。并且所采用的视频编码格式为H.264或H.265。
步骤207,将第一私有数据加入SEI型NAL单元。
步骤208,将加入第一私有数据的SEI型NAL单元,加入私有数据队列。
步骤209,判断是否存在待发送的第一私有数据。
当存在待发送的第一私有数据时,执行步骤212;当不存在待发送的第一私有数据时,直接执行步骤213。
步骤210,获取私有数据队列中的全部第一私有数据。
步骤211,将加入第一私有数据的SEI型NAL单元添加进已经完成编码的,且由NAL单元构成的视频数据中。
步骤212,获取已经加入第一私有数据,且完成编码的视频数据。
步骤213,获取已经完成编码的音频数据。
步骤214,获取已经完成编码的音频数据。
步骤215,将视频数据和音频数据放入缓冲区。
步骤216,发送缓冲区中的视频数据和音频数据。
参见图3,图3为本发明实施例提供的直播数据传输方法应用于服务器的第一种流程图;包括:
步骤301,接收主播端发送的视频数据。
服务器可以包括源站服务器和CDN(Content Delivery Network,分布式服务器),用来接收主播端发送的数据,同时向播放端转发主播端所发送的数据。
在实际应用中,服务器接收主播端发送的全部数据,全部数据中包括视频数据和音频数据。所以,服务器接收到主播端发送的数据后可以先判断所接收的数据为音频数据还是视频数据。当为视频数据时,执行后续的步骤;当为音频数据时,可以不进行处理,直接将接收到的音频数据转发至各个播放端。
步骤302,从视频数据中获得目标数据单元,目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元。
服务器接收到主播端发送的视频数据后,该视频数据可以为多个视频编码单元,服务器从多个视频编码单元中确定并获得目标数据单元。
本发明实施例中,目标数据单元可以包括预设NAL单元,预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
例如,当采用H.264进行视频编码时,视频数据可以为多个NAL单元,服务器从中确定出预设NAL单元。
在实际应用中,由于服务器接收到的视频数据中,不一定都会含有目标数据单元,所以,在从视频数据中获得目标数据单元之前,可以先判断所接收到的视频数据中是否含有目标数据单元,具体的,可以通过确定目标数据单元所具有的标识、序号或特定字段等方式来进行判断。并且,可以通过目标数据单元所具有的标识、序号或特定字段等,从多个视频编码单元中选择出目标数据单元。例如,从多个NAL单元中,确定出预设NAL单元。
在本发明实施例中,优选的,预设NAL单元为SEI型NAL单元。在H.264编码标准中,可以具有多种类型的NAL单元,不同类型的NAL单元可以具有不同的特征或标识,SEI型NAL单元同样也具有相应的特征或标识,服务器可以通过该特征或标识,从接收到的视频数据中确定并获得预设NAL单元。
步骤303,判断目标数据单元中第一私有数据的接收方是否为服务器,第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据。
服务器在获取了目标数据单元之后,可以对目标数据单元的第一私有数据进行解析,确定出该第一私有数据的接收方是否为服务器。具体的,可以通过第一私有数据中的用于表示接收方的字段来确定出该第一私有数据的接收方是否为服务器。
步骤304,当第一私有数据的接收方为服务器时,获取目标数据单元中的第一私有数据。
通过判断,确定出该第一私有数据的接收方为服务器时,则可以从目标数据单元中获取第一私有数据,并进行相应处理,例如,第一私有数据为主播端向服务器发送的运行状态参数,服务器可以对该运行状态参数进行保存,并通过该运行状态参数监测主播端的运行状态。并且,如果第一私有数据采用了如AMF等方式进行了编码,则服务器可以采用相应的解码方式,对第一私有数据进行解码后,获得第一私有数据。获取了第一私有数据后,可以将接收到的视频数据转发至各个播放端。
当该第一私有数据的接收方不为服务器时,则不再进行第一私有数据的获取,可以将含有第一私有数据的视频数据转发至各个播放端。
在本发明实施例中,服务器可以接收到主播端所发送的含有第一私有数据的视频数据,并对该第一私有数据的接收方进行判断,当接收方为服务器时,可以获得该第一私有数据,并进行处理。并且该第一私有数据装载在目标数据单元中,不依赖于视频数据的封装格式,从而可以不受限于服务器与主播端之间的数据传输协议,就可以实现第一私有数据在主播端和服务器之间的传输。
可选的,在本发明实施例提供的直播数据传输方法中,在从视频数据中获得目标数据单元之后,所述方法还包括:
第一步,判断目标数据单元中是否含有第一预设字段。
第二步,当含有第一预设字段时,目标数据单元中含有第一私有数据,且第一私有数据为第一预设字段对应的数据。
目标数据单元,可以为视频数据标准中的固有的一种类型的视频编码单元,例如,在H.264编码格式中,可以为SEI型NAL单元,其中并不一定必须保存有第一私有数据,所以服务器从视频数据中获得目标数据单元后,可以首先判断目标数据单元中是否含有第一私有数据。
为了标识出第一私有数据,主播端在第一私有数据中加入了第一预设字段,所以,服务器可以通过判断目标数据单元中,是否存在第一预设字段来判断出是否含有第一私有数据,并且,通过第一预设字段,可以快速的在目标数据单元中所含有的全部数据中,确定出第一私有数据,进而可以方便对第一私有数据的提取。
可选的,在本发明实施例提供的直播数据传输方法中,在获取目标数据单元中的第一私有数据之后,所述方法还包括:
从视频数据中删除目标数据单元。
在实际应用中,目标数据单元通常专门用于装载第一私有数据,其中可以不包括其他数据。所以当服务器判断出目标数据单元中的第一私有数据的接收方为服务器,并且已经从目标数据单元中获取了第一私有数据之后,可以将该目标数据单元从视频数据中删除。从而可以减少所要传输的视频数据的大小,并且可以不需要将向服务器发送的第一私有数据,向播放端进行转发,避免了网络资源的浪费。
可选的,在本发明实施例提供的直播数据传输方法中,在接收主播端发送的视频数据的步骤之后,所述方法还包括:
第一步,将第二私有数据加入目标数据单元中,第二私有数据为服务器产生的,并向播放端发送的数据。
与主播端类似,服务器也可以产生向播放端发送的第二私有信息,例如,服务器可以向播放端发送各类提示信息,用于通知播放端的用户当前的网络传输状态等等。
服务器产生的第二私有数据,也可以加入目标数据单元中,具体的方法与主播端相同,在此不再赘述。
第二步,将加入第二私有数据的目标数据单元添加进接收到的视频数据中。
与主播端类似,服务器将第二私有数据加入目标数据单元后,可以将加入有第二私有数据的目标数据单元加入所接收到的视频数据中。同第一私有数据一样,也可以对第二私有数据按AMF方式进行编码后,在将经过编码的第二私有数据加入目标数据单元中。
第三步,将添加入目标数据单元的视频数据转发至播放端。
将加入有目标数据单元的视频数据转发至播放端。从而可以实现将服务器所产生的第二私有数据,发送至播放端。并且同样的,在向播放端发送第二私有数据时,不依赖于视频数据的封装格式,而是通过在视频数据的编码层面实现第二私有数据的装载,从而使得第二私有数据的发送,并不依赖于服务器与播放端之间的数据传输协议。
在本发明实施例中,为了能够使播放端在接受到视频数据后,能够在视频数据中更方便的识别出服务器所发送的第二私有数据,可以在将第二私有数据加入目标数据单元中时,在第二私有数据中加入第二预设字段,并将加入第二预设字段的第二私有数据加入目标数据单元。
第二私有数据的格式可以与第一私有数据的格式相同,第二预设字段也可以与预设字段结构相同,但可以为不同的字符串或标识序号,从而可以方便的区分出第一私有数据和/或第二私有数据。
参见图4,图4为本发明实施例提供的直播数据传输方法应用于服务器的第二种流程图,包括:
步骤401,接收主播端发送的数据。
接收的数据包括音频数据和视频数据。
步骤402,从接收到的数据中获取音频数据。
步骤403,从接收到的数据中获取视频数据。
音频数据和视频数据可以由音频数据包和视频数据包构成,从接收到的数据中可以获取到音频数据包和视频数据包。
步骤404,判断视频数据中是否含有第一私有数据。
从视频数据中获得SEI型NAL单元,并通过SEI型NAL单元中是否含有第一预设字段来判断是否含有第一私有数据。
步骤405,判断第一私有数据的接收方是否为服务器。
步骤406,获取第一私有数据。
步骤407,对第一私有数据,进行相应的处理。
步骤408,获取第二私有数据。
服务器获取第二私有数据的方式与主播端获取第一私有数据的方式类似,可以是操作人员输入第二私有数据,也可以是服务器中存储的或服务器在运行过程中产生的。
步骤409,将第二私有数据加入SEI型NAL单元。
步骤410,将加入第二私有数据的SEI型NAL单元添加进接收到的视频数据中。
步骤411,获得加入第二私有数据的视频数据。
步骤412,将视频数据和音频数据转发至播放端。
参见图5,图5为本发明实施例提供的直播数据传输方法应用于播放端的第一种流程图,包括:
步骤501,接收服务器转发的视频数据。
播放端是用来播放视频信息和音频数信息、以及消息信息的电子设备,该电子设备可以包括手机、电脑、智能电视等各类能够联网并传输信息的智能设备。
播放端可以接收从服务器转发的视频数据。
与服务器类似,播放端可以接收服务器所转发的全部数据,所以,播放端也可以在接收到数据后,首先判断所接收的数据是否为视频数据,当是视频数据时,再进行后续的步骤。
步骤502,从视频数据中获得目标数据单元,目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元。
播放端接收到服务器所转发的视频数据后,可以从该视频数据中获取目标数据单元。
该目标数据单元包括预设NAL单元,预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。并且优选的,预设NAL单元可以为SEI型NAL单元。
播放端从该视频数据中获取目标数据单元具体的方法与步骤,与上述实施例中服务器从视频数据中获得目标数据单元的步骤相同,可以参照上述实施例中的描述,在此不再赘述。
步骤503,从目标数据单元获取第一私有数据和/或第二私有数据,第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,第二私有数据为服务器产生的,并向播放端发送的数据。
播放端获得目标数据单元之后,就可以从目标数据单元获取第一私有数据和/或第二私有数据。
同样的,如果第一私有数据和/或第二私有数据采用了如AMF等方式进行了编码,则播放端可以采用相应的解码方式,对第一私有数据和/或第二私有数据进行解码后,获得第一私有数据和/或第二私有数据。
步骤504,对视频数据进行解码,在播放解码后的视频数据时,显示第一私有数据和/或第二私有数据。
播放端接收视频数据后,就可以对所接收的视频数据进行解码,例如,采用H.264编码标准对应的解码方式进行解码。从而获得可以直接用于播放的视频数据。
对视频数据进行解码后,就可以对视频数据进行播放,在播放视频数据时,可以将获取的第一私有数据和/或第二私有数据,按指定的展示方式,在播放端进行展示。
具体的,可以通过第一私有数据和/或第二私有数据中,用于确定展示方式的字段来确定出展示方式,并且,可以按第一私有数据和/或第二私有数据所具有的时间标识来确定出第一私有数据和/或第二私有数据在所播放的视频中的展示的时刻。其中,时间标识可以是产生第一私有数据和/或第二私有数据的时刻,该时刻为与相对于视频开始时刻的相对时间;或者,时间标识也可以是指定的其他时间。
在本发明实施例中,播放端从接收到的视频数据中获取主播端发送的第一私有数据或者服务器发送的第二私有数据。由于第一私有数据和/或第二私有数据被封装在视频编码的层面,所以从主播端经过服务器到播放端,不需要增加额外的设备,就可以实现第一私有数据和/或第二私有数据的传输,而且,第一私有数据和/或第二私有数据可以直接保存在视频数据中,不会造成数据丢失,并且由于第一私有数据和/或第二私有数据被封装在视频编码层面,所以当播放端将视频数据和音频数据进行封装,构成视频文件如MP4等格式的视频文件,以及对该视频文件进行格式转换时,都不会造成第一私有数据和/或第二私有数据的丢失。
结合上述实施例,可选的,在本发明实施例提供的直播数据传输方法中,在从视频数据中获得目标数据单元之后,所述方法还包括:
第一步,判断目标数据单元中是否含有第一预设字段和/或第二预设字段。
第二步,当含有第一预设字段时,目标数据单元中含有第一私有数据,且第一私有数据为第一预设字段对应的数据。当含有第二预设字段时,目标数据单元中含有第二私有数据,且第二私有数据为第二预设字段对应的数据。
播放端在从视频数据中获得目标数据单元之后,可以首先判断该目标数据单元中是否含有第一私有数据和/或第二私有数据。如果目标数据单元中没有第一私有数据和/或第二私有数据,则可以直接对视频数据解码后进行播放。
播放端可以通过第一预设字段和第二预设字段分别判断出目标数据单元是否含有第一私有数据和/或第二私有数据,并且可以快速的确定出第一私有数据和/或第二私有数据,可以更方便的对第一私有数据和/或第二私有数据进行提取。
可选的,在本发明实施例提供的直播数据传输方法中,在播放解码后的视频数据时,显示第一私有数据和/或第二私有数据,包括:
在播放解码后的视频数据时,根据第一私有数据和/或第二私有数据中用于标识第一私有数据和/或第二私有数据的展示方式的第三预设字段,显示第一私有数据和/或第二私有数据。
参见上述实施例中的表1,通过表1可以看到,在第一私有数据或第二是由数据的格式中,可以含有用于标识展示方式的第三预设字段,例如,表1中的展示方式字段,即为第三预设字段,该字段中,0=立即展示,1=同步展示,2=指定时间展示。所以当解码后的视频数据时,可以参照第一私有数据和/或第二私有数据中的第三预设字段,采用与该第三预设字段相应的展示方式来显示第一私有数据和/或第二私有数据。
可选的,在本发明实施例提供的直播数据传输方法中,在播放解码后的视频数据时,显示第一私有数据和/或第二私有数据,包括:
第一步,将视频数据中的时间戳,加入第一私有数据和/或第二私有数据的时间标识字段中,其中,时间戳用于表示当前所播放的视频数据相对于播放端开始播放时间的相对时间。
视频数据中的时间戳,可以为视频数据中的固有字段或标识,用于表示播放端当前所播放的视频数据,相对于该播放端开始播放的时刻的相对时间。
主播端在准备展示第一私有数据和/或第二私有数据时,可以将所接收到的,与第一私有数据和/或第二私有数据同时发送的视频数据中的时间戳添加到第一私有数据和/或第二私有数据的时间标识字段中。
第二步,在播放解码后的视频数据时,根据时间标识字段,在所述时间标识字段对应的时间位置,显示第一私有数据和/或第二私有数据。
主播端在展示第一私有数据和/或第二私有数据时,可以按照时间标识字段中的时间,当所播放的视频数据播放至该时间点时,展示出第一私有数据和/或第二私有数据。
通过时间标识字段,在播放视频数据时,可以更加准确的控制第一私有数据和/或第二私有数据的展示时间,进一步提高了用户体验。
可选的,在本发明实施例提供的直播数据传输方法中,在播放解码后的视频数据时,显示第一私有数据和/或第二私有数据,可以包括:
第一步,将解码后的视频数据送入缓冲区。
第二步,将第一私有数据和/或第二私有数据送入缓冲区。
在实际应用中,当完成视频数据的解码,并且获取了第一私有数据和/或第二私有数据之后,可以首先将解码后的视频数据,以及第一私有数据和/或第二私有数据送入缓冲区。从而可以使得视频数据的播放,及第一私有数据和/或第二私有数据的展示更加平稳,减少卡顿。
第三步,将第一私有数据和/或第二私有数据,与解码后的视频数据进行渲染。
第四步,在播放解码后的视频数据时,显示经过渲染的第一私有数据和/或第二私有数据。
在缓冲区中,可以对第一私有数据和/或第二私有数据,以及视频数据进行渲染,例如在视频中加入滤镜;当第一私有数据和/或第二私有数据为文字时,可以对其进行字体渲染等。当第一私有数据和/或第二私有数据具有指定的展示方式时,在缓存区中还可以按所指定的展示方式对第一私有数据和/或第二私有数据进行相应的处理。
当完成渲染或处理后,在播放视频数据时,显示经过渲染的第一私有数据和/或第二私有数据,从而在展示第一私有数据和/或第二私有数据时,可以得到更多的展示效果,提高用户的使用体验。
参见图6,图6为本发明实施例提供的直播数据传输方法应用于播放端的第二种流程图,包括:
步骤601,接收服务器转发的数据。
服务器转发的数据中可以含有视频数据和音频数据,并且视频数据和音频数据可以为数据包的形式。
步骤602,从接收到的数据中获取音频数据。
步骤603,从接收到的数据中获取视频数据。
步骤604,视频数据中是否含有SEI型NAL单元。
播放端可以先判断视频数据中是否含有SEI型NAL单元,当不含有SEI型NAL单元则表示视频数据中没有第一私有数据和/或第二私有数据,可以直接对视频数据进行处理,直接执行步骤608。
步骤605,是否含有第一私有数据和/或第二私有数据。如果是,直接执行步骤606。如果否,执行步骤608。
当视频数据中含有SEI型NAL单元,还可以判断该SEI型NAL单元中是否含有第一私有数据和/或第二私有数据,具体的,可以通过判断是否含有第一预设字段和/或第二预设字段来判断出是否含有第一私有数据和/或第二私有数据。
步骤606,获取第一私有数据和/或第二私有数据。
步骤607,将第一私有数据和/或第二私有数据放入缓冲区。
步骤608,对视频数据进行解码。步骤609,对音频数据进行解码。
步骤610,将解码后的音频数据放入缓冲区。步骤611,将解码后的音频数据放入缓冲区。步骤612,渲染展示。
完成音频数据和视频数据的解码,并获得了第一私有数据和/或第二私有数据后,可以在缓冲区中对上述数据进行渲染,并在播放音频和视频数据时,展示第一私有数据和/或第二私有数据。
参见图7,图7为本发明实施例提供的应用直播数据传输方法的系统结构图。
主播端010可以为一智能手机。主播端在直播过程中,实时采集视频数据001和音频数据002,并在采集视频数据001和音频数据002时,可以产生或获取第一私有数据003。
主播端可以对所采集视频数据001和音频数据002按H.264或H.265编码标准进行压缩编码,可以生成音频数据包004和视频数据包005,其中视频数据包中含有多个NAL单元。主播端将所生成的音频数据包004和视频数据包005实时向源站点服务器020进行传输。
主播端所获取的第一私有数据,可以加入SEI型NAL单元中,将含有第一私有数据的SEI型NAL单元,加入已经完成编码的视频数据包006中,其中视频数据包005为不含有第一私有数据的视频数据包,视频数据包006是加入了含有第一私有数据的SEI型NAL单元的视频数据包,然后同步的向源站点服务器020进行发送,图中通过斜纹线表示含有第一私有数据的SEI型NAL单元。
源站点服务器020接收到主播端发送的数据,并确定接收到的数据中的视频数据包中是否含有第一私有数据,当含有第一私有数据时,判断该第一私有数据的接收方是否为源站点服务器020自身,如果接收方为源站点服务器020自身则获取该第一私有数据并进行相应处理。并且源站点服务器020还可以经自身获取或产生的第二私有数据以同样的方式加入到视频数据包中。
分布式服务器节点030可以通过回源的方式,获取源站点服务器020所接收的数据,并将该数据向播放端040转发。
播放端040也可以为一智能手机,播放端接收到数据后,可以判断接收到的数据中的视频数据包中是否含有第一私有数据和/或第二私有数据,并将视频数据包和音频数据包进行解码。当含有第一私有数据和/或第二私有数据时,可以从视频数据包中获取该第一私有数据和/或第二私有数据,并在播放视频数据和音频数据时,展示第一私有数据和/或第二私有数据。
参见图8,图8为本发明实施提供的直播数据传输装置的第一种结构图,应用于主播端,包括:
获取模块801,用于获取待发送的第一私有数据,所述第一私有数据包括所述主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第一添加模块802,用于将所述第一私有数据加入目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二添加模块803,用于将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中;
发送模块804,用于将添加入所述目标数据单元的所述视频数据发送至服务器。
在本发明实施例中,使得不再需要将第一私有数据加入音频和视频数据的封装格式中,从而使得不论主播端与服务器或播放端之间的数据传输协议是否能够满足该封装格式,都可以实现第一私有数据的传输,进而扩展了传输第一私有数据的应用环境。并且,当音频和视频数据的封装格式发生转化时不会造成第一私有数据的丢失。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述目标数据单元包括预设网络抽象层NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述预设NAL单元为补充增强信息SEI型NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述第一添加模块802,具体用于:
在第一私有数据中加入第一预设字段;将加入所述第一预设字段后的第一私有数据加入所述目标数据单元。
可选的,本发明实施例提供的直播数据传输装置中,所述第二添加模块803,具体用于:
将加入所述第一私有数据的目标数据单元,加入私有数据队列;将所述私有数据队列中,加入所述第一私有数据的目标数据单元,全部加入已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
参见图9,图9为本发明实施提供的直播数据传输装置的第二种结构图,应用于服务器,包括:
第一接收模块901,用于接收主播端发送的视频数据;
第一获取模块902,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
判断模块903,用于判断所述目标数据单元中第一私有数据的接收方是否为所述服务器,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第二获取模块904,用于当所述第一私有数据的接收方为所述服务器时,获取所述目标数据单元中的第一私有数据。
在本发明实施例中,服务器可以接收到主播端所发送的含有第一私有数据的视频数据,并对该第一私有数据的接收方进行判断,当接收方为服务器时,可以获得该第一私有数据,并进行处理。并且该第一私有数据装载在目标数据单元中,不依赖于视频数据的封装格式,从而可以不受限于服务器与主播端之间的数据传输协议,就可以实现第一私有数据在主播端和服务器之间的传输。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述预设NAL单元为SEI型NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置还包括:
选择模块,用于判断所述目标数据单元中是否含有预设字段;当含有所述预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述预设字段对应的数据。
可选的,本发明实施例提供的直播数据传输装置中,所述装置还包括:
删除模块,用于从所述视频数据中删除所述目标数据单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置还包括:
添加模块,用于将第二私有数据加入所述目标数据单元中,所述第二私有数据为所述服务器产生的,并向播放端发送的数据;将加入所述第二私有数据的目标数据单元添加进接收到的所述视频数据中;
转发模块,用于将添加入所述目标数据单元的所述视频数据转发至播放端。
可选的,本发明实施例提供的直播数据传输装置中,所述添加模块,具体用于:
在所述第二私有数据中加入第二预设字段;将加入所述第二预设字段的第二私有数据加入所述目标数据单元。
参见图10,图10为本发明实施提供的直播数据传输装置的第三种结构图,应用于播放端,包括:
第二接收模块1001,用于接收服务器转发的视频数据;
第一获取模块1002,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二获取模块1003,用于从所述目标数据单元获取第一私有数据和/或第二私有数据,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,所述第二私有数据为服务器产生的,并向播放端发送的数据;
展示模块1004,用于对所述视频数据进行解码,在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据。
在本发明实施例中,主播端经过服务器到播放端,不需要增加额外的设备,就可以实现第一私有数据和/或第二私有数据的传输,而且,第一私有数据和/或第二私有数据可以单独进行保存,也可以直接保存在视频数据中,不会造成数据丢失。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置中所述预设NAL单元为SEI型NAL单元。
可选的,本发明实施例提供的直播数据传输装置中,所述装置还包括:
选择模块,用于判断所述目标数据单元中是否含有第一预设字段和/或第二预设字段;当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述第一预设字段对应的数据;当含有所述第二预设字段时,所述目标数据单元中含有第二私有数据,且所述第二私有数据为所述第二预设字段对应的数据。
可选的,本发明实施例提供的直播数据传输装置中,所述展示模块1004,具体用于:
在播放解码后的视频数据时,根据所述第一私有数据和/或所述第二私有数据中用于标识所述第一私有数据和/或所述第二私有数据的展示方式的第三预设字段,显示所述第一私有数据和/或所述第二私有数据。
可选的,本发明实施例提供的直播数据传输装置中,所述展示模块1004,具体用于:
将所述视频数据中的时间戳,加入所述第一私有数据和/或所述第二私有数据的时间标识字段中,其中,所述时间戳用于表示当前所播放的视频数据相对于所述播放端开始播放时间的相对时间;在播放解码后的视频数据时,根据所述时间标识字段,在所述时间标识字段对应的时间位置,显示所述第一私有数据和/或所述第二私有数据。
可选的,本发明实施例提供的直播数据传输装置中,所述展示模块1004,具体用于:
将所述解码后的视频数据送入缓冲区;将所述第一私有数据和/或所述第二私有数据送入缓冲区;将所述第一私有数据和/或所述第二私有数据,与所述解码后的视频数据进行渲染;在播放解码后的视频数据时,显示经过渲染的所述第一私有数据和/或所述第二私有数据。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种主播端电子设备,如图11所示,包括第一处理器1101、第一通信接口1102、第一存储器1103和第一通信总线1104,其中,第一处理器1101,第一通信接口1102,第一存储器1103通过第一通信总线1104完成相互间的通信,
第一存储器1103,用于存放计算机程序;
第一处理器1101,用于执行第一存储器1103上所存放的程序时,实现上述应用于主播端的直播数据传输方法。
本发明实施例还提供了一种服务器,如图12所示,包括第二处理器1201、第二通信接口1202、第二存储器1203和第二通信总线1204,其中,第二处理器1201,第二通信接口1202,第二存储器1203通过第二通信总线1204完成相互间的通信,
第二存储器1203,用于存放计算机程序;
第二处理器1201,用于执行第二存储器1203上所存放的程序时,实现上述应用于服务器的直播数据传输方法。
本发明实施例还提供了一种播放端电子设备,如图13所示,包括第三处理器1301、第三通信接口1302、第三存储器1303和第三通信总线1304,其中,第三处理器1301,第三通信接口1302,第三存储器1303通过第三通信总线1304完成相互间的通信,
第三存储器1303,用于存放计算机程序;
第三处理器1301,用于执行第三存储器1303上所存放的程序时,实现上述应用于播放端的直播数据传输方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于主播端的直播数据传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于服务器的直播数据传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于播放端的直播数据传输方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于主播端的直播数据传输方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于服务器的直播数据传输方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于播放端的直播数据传输方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (28)

1.一种直播数据传输方法,其特征在于,应用于主播端,包括:
获取待发送的第一私有数据,所述第一私有数据包括所述主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
将所述第一私有数据加入目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中;
将添加入所述目标数据单元的所述视频数据发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述目标数据单元包括预设网络抽象层NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
3.根据权利要求2所述的方法,其特征在于,所述预设NAL单元为补充增强信息SEI型NAL单元。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述第一私有数据加入目标数据单元,包括:
在第一私有数据中加入第一预设字段;
将加入所述第一预设字段的第一私有数据加入所述目标数据单元。
5.根据权利要求1所述的方法,其特征在于,所述将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中,包括:
将加入所述第一私有数据的目标数据单元,加入私有数据队列;
将所述私有数据队列中,加入所述第一私有数据的目标数据单元,全部加入已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中。
6.一种直播数据传输方法,其特征在于,应用于服务器,包括:
接收主播端发送的视频数据;
从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
判断所述目标数据单元中第一私有数据的接收方是否为所述服务器,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
当所述第一私有数据的接收方为所述服务器时,获取所述目标数据单元中的第一私有数据。
7.根据权利要求6所述的方法,其特征在于,所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
8.根据权利要求7所述的方法,其特征在于,所述预设NAL单元为SEI型NAL单元。
9.根据权利要求6所述的方法,其特征在于,在所述从所述视频数据中获得目标数据单元之后,所述方法还包括:
判断所述目标数据单元中是否含有第一预设字段;
当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述第一预设字段对应的数据。
10.根据权利要求6所述的方法,其特征在于,在所述获取所述目标数据单元中的第一私有数据之后,所述方法还包括:
从所述视频数据中删除所述目标数据单元。
11.根据权利要求6至10中任一项所述的方法,其特征在于,在所述接收主播端发送的视频数据的步骤之后,所述方法还包括:
将第二私有数据加入所述目标数据单元中,所述第二私有数据为所述服务器产生的,并向播放端发送的数据;
将加入所述第二私有数据的目标数据单元添加进接收到的所述视频数据中;
将添加入所述目标数据单元的所述视频数据转发至播放端。
12.根据权利要求11所述的方法,其特征在于,所述将第二私有数据加入所述目标数据单元中,包括:
在所述第二私有数据中加入第二预设字段;
将加入所述第二预设字段的第二私有数据加入所述目标数据单元。
13.一种直播数据传输方法,其特征在于,应用于播放端,包括:
接收服务器转发的视频数据;
从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
从所述目标数据单元获取第一私有数据和/或第二私有数据,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,所述第二私有数据为服务器产生的,并向播放端发送的数据;
对所述视频数据进行解码,在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据。
14.根据权利要求13所述的方法,其特征在于,所述目标数据单元包括预设NAL单元,所述预设NAL单元为视频数据编码格式中,用于存储图像编码信息的NAL单元。
15.根据权利要求14所述的方法,其特征在于,所述预设NAL单元为SEI型NAL单元。
16.根据权利要求13所述的方法,其特征在于,在所述从所述视频数据中获得目标数据单元之后,所述方法还包括:
判断所述目标数据单元中是否含有第一预设字段和/或第二预设字段;
当含有所述第一预设字段时,所述目标数据单元中含有第一私有数据,且所述第一私有数据为所述第一预设字段对应的数据;
当含有所述第二预设字段时,所述目标数据单元中含有第二私有数据,且所述第二私有数据为所述第二预设字段对应的数据。
17.根据权利要求13所述的方法,其特征在于,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
在播放解码后的视频数据时,根据所述第一私有数据和/或所述第二私有数据中用于标识所述第一私有数据和/或所述第二私有数据的展示方式的第三预设字段,显示所述第一私有数据和/或所述第二私有数据。
18.根据权利要求13所述的方法,其特征在于,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
将所述视频数据中的时间戳,加入所述第一私有数据和/或所述第二私有数据的时间标识字段中,其中,所述时间戳用于表示当前所播放的视频数据相对于所述播放端开始播放时间的相对时间;
在播放解码后的视频数据时,根据所述时间标识字段,在所述时间标识字段对应的时间位置,显示所述第一私有数据和/或所述第二私有数据。
19.根据权利要求13至18中任一项所述的方法,其特征在于,所述在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据,包括:
将所述解码后的视频数据送入缓冲区;
将所述第一私有数据和/或所述第二私有数据送入缓冲区;
将所述第一私有数据和/或所述第二私有数据,与所述解码后的视频数据进行渲染;
在播放解码后的视频数据时,显示经过渲染的所述第一私有数据和/或所述第二私有数据。
20.一种直播数据传输装置,其特征在于,应用于主播端,包括:
获取模块,用于获取待发送的第一私有数据,所述第一私有数据包括所述主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第一添加模块,用于将所述第一私有数据加入目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二添加模块,用于将加入所述第一私有数据的目标数据单元添加进已经完成编码的,且由一种或多种类型的视频编码单元构成的视频数据中;
发送模块,用于将添加入所述目标数据单元的所述视频数据发送至服务器。
21.一种直播数据传输装置,其特征在于,应用于服务器,包括:
第一接收模块,用于接收主播端发送的视频数据;
第一获取模块,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
判断模块,用于判断所述目标数据单元中第一私有数据的接收方是否为所述服务器,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据;
第二获取模块,用于当所述第一私有数据的接收方为所述服务器时,获取所述目标数据单元中的第一私有数据。
22.一种直播数据传输装置,其特征在于,应用于播放端,包括:
第二接收模块,用于接收服务器转发的视频数据;
第一获取模块,用于从所述视频数据中获得目标数据单元,所述目标数据单元为视频数据编码格式中,能够用于存储用户自定义数据的视频编码单元;
第二获取模块,用于从所述目标数据单元获取第一私有数据和/或第二私有数据,所述第一私有数据包括主播端向服务器或播放端发送的除音频数据和视频数据以外的其他数据,所述第二私有数据为服务器产生的,并向播放端发送的数据;
展示模块,用于对所述视频数据进行解码,在播放解码后的视频数据时,显示所述第一私有数据和/或所述第二私有数据。
23.一种主播端电子设备,其特征在于,包括:
第一存储器,用于存放计算机程序;
第一处理器,用于执行第一存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
24.一种服务器,其特征在于,包括:
第二存储器,用于存放计算机程序;
第二处理器,用于执行第二存储器上所存放的程序时,实现权利要求6-12任一所述的方法步骤。
25.一种播放端电子设备,其特征在于,包括:
第三存储器,用于存放计算机程序;
第三处理器,用于执行第三存储器上所存放的程序时,实现权利要求13-19任一所述的方法步骤。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6-12任一所述的方法步骤。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求13-19任一所述的方法步骤。
CN201810035816.6A 2018-01-15 2018-01-15 直播数据传输方法、装置、电子设备、服务器及存储介质 Active CN108200447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810035816.6A CN108200447B (zh) 2018-01-15 2018-01-15 直播数据传输方法、装置、电子设备、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810035816.6A CN108200447B (zh) 2018-01-15 2018-01-15 直播数据传输方法、装置、电子设备、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN108200447A CN108200447A (zh) 2018-06-22
CN108200447B true CN108200447B (zh) 2020-08-28

Family

ID=62589407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810035816.6A Active CN108200447B (zh) 2018-01-15 2018-01-15 直播数据传输方法、装置、电子设备、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN108200447B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924600A (zh) * 2018-06-28 2018-11-30 乐蜜有限公司 直播数据的发送接收方法、装置及电子设备
CN110719495A (zh) * 2018-07-13 2020-01-21 视联动力信息技术股份有限公司 一种视频数据的处理方法和系统
CN109729369A (zh) * 2018-11-22 2019-05-07 北京奇艺世纪科技有限公司 一种直播交互方法、系统、装置及计算机可读存储介质
CN109462731A (zh) * 2018-11-27 2019-03-12 北京潘达互娱科技有限公司 一种直播中动效视频的播放方法、装置、终端及服务器
CN110225416A (zh) * 2019-05-31 2019-09-10 杭州涂鸦信息技术有限公司 一种视频的传输方法、网络终端、智能终端以及存储装置
CN111405233B (zh) * 2020-03-25 2021-08-20 苏州科达科技股份有限公司 视频会议中的加密图形传输方法、装置、存储介质及系统
CN113950825A (zh) * 2020-08-24 2022-01-18 深圳市大疆创新科技有限公司 数据传输、处理方法、可移动平台、终端设备及芯片
CN113507628A (zh) * 2021-06-30 2021-10-15 深圳市圆周率软件科技有限责任公司 视频数据处理方法和相关设备
CN115731632A (zh) * 2021-08-30 2023-03-03 成都纵横自动化技术股份有限公司 一种数据传输、解析方法及数据传输系统
CN114095737B (zh) * 2021-11-29 2023-03-31 腾讯科技(深圳)有限公司 媒体文件封装及解封装方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009005302A1 (en) * 2007-07-02 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
CN101621388A (zh) * 2008-07-02 2010-01-06 世纪搏众教育科技(北京)有限责任公司 一种视音频与非视音频混合数据的网络播送方法
CN101720034A (zh) * 2009-12-17 2010-06-02 中国华录集团有限公司 在数字电视网络上实现多媒体分类广告的系统
CN106303661A (zh) * 2016-08-29 2017-01-04 武汉斗鱼网络科技有限公司 一种直播客户端实现自适应屏幕旋转的方法及系统
CN106385621A (zh) * 2016-09-12 2017-02-08 猫范(北京)科技有限公司 智能设备控制方法和装置
CN106534863A (zh) * 2016-11-11 2017-03-22 协创数据技术股份有限公司 一种视频直播流转码装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009005302A1 (en) * 2007-07-02 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
CN101621388A (zh) * 2008-07-02 2010-01-06 世纪搏众教育科技(北京)有限责任公司 一种视音频与非视音频混合数据的网络播送方法
CN101720034A (zh) * 2009-12-17 2010-06-02 中国华录集团有限公司 在数字电视网络上实现多媒体分类广告的系统
CN106303661A (zh) * 2016-08-29 2017-01-04 武汉斗鱼网络科技有限公司 一种直播客户端实现自适应屏幕旋转的方法及系统
CN106385621A (zh) * 2016-09-12 2017-02-08 猫范(北京)科技有限公司 智能设备控制方法和装置
CN106534863A (zh) * 2016-11-11 2017-03-22 协创数据技术股份有限公司 一种视频直播流转码装置

Also Published As

Publication number Publication date
CN108200447A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200447B (zh) 直播数据传输方法、装置、电子设备、服务器及存储介质
US20220159320A1 (en) Method and apparatus for transmitting media data in multimedia transport system
CN109168031B (zh) 流媒体推送方法及装置、流媒体平台
CN111246284B (zh) 视频流播放方法、系统、终端及存储介质
KR101852893B1 (ko) 정보 푸시 방법, 기기, 및 시스템
CN107666619B (zh) 直播数据传输方法、装置、电子设备、服务器及存储介质
CN107634930B (zh) 一种媒体数据的获取方法和装置
CN111416989A (zh) 视频直播方法、系统及电子设备
CN108174295B (zh) 主播状态的通知方法和装置、主播状态的提示方法和装置
CN106603503B (zh) 直播数据的处理方法和装置
US11438645B2 (en) Media information processing method, related device, and computer storage medium
CN103702178B (zh) 一种播放方法及电子设备
JP6456009B2 (ja) 受信装置、送信装置、及び受信プログラム
CN108055595B (zh) 视频图像的重定向方法、计算机可读存储介质
WO2014183478A1 (en) Video encoding method and apparatus
KR102473346B1 (ko) 디지털 방송 서비스 방법 및 장치
CN109525852B (zh) 直播视频流处理方法、装置、系统及计算机可读存储介质
US20140341269A1 (en) Video encoding method and apparatus
US10721500B2 (en) Systems and methods for live multimedia information collection, presentation, and standardization
CN107948685B (zh) 信息推广方法及信息推广装置
CN112804574A (zh) 多媒体内容的传输、播放方法和装置
CN108134957A (zh) 一种投屏方法、终端和计算机存储介质
WO2022116822A1 (zh) 沉浸式媒体的数据处理方法、装置和计算机可读存储介质
KR20160033027A (ko) 멀티미디어의 전송 또는 수신 방법 및 그 장치
WO2015042767A1 (en) Method for inserting an advertisement into a video stream of an application on demand (aod) service, aod processing device and aod server

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