CN106060061B - 一种流媒体交互的实现方法和装置 - Google Patents

一种流媒体交互的实现方法和装置 Download PDF

Info

Publication number
CN106060061B
CN106060061B CN201610460664.5A CN201610460664A CN106060061B CN 106060061 B CN106060061 B CN 106060061B CN 201610460664 A CN201610460664 A CN 201610460664A CN 106060061 B CN106060061 B CN 106060061B
Authority
CN
China
Prior art keywords
signaling protocol
data
data packet
protocol data
files
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
CN201610460664.5A
Other languages
English (en)
Other versions
CN106060061A (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.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing 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 China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN201610460664.5A priority Critical patent/CN106060061B/zh
Publication of CN106060061A publication Critical patent/CN106060061A/zh
Application granted granted Critical
Publication of CN106060061B publication Critical patent/CN106060061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种流媒体交互的实现方法,应用在服务器端,所述方法包括:接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;对所述信令协议数据包指定的流媒体文件进行解码;按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。本申请实现了客户端与服务器端的流媒体交互控制。

Description

一种流媒体交互的实现方法和装置
技术领域
本发明涉及流媒体交互领域,特别是涉及一种流媒体交互的实现方法和装置。
背景技术
传统的电视制作和影视作品的制作环境,需要编辑人员在机房完成;而非线性编辑***可利用网络方便地传输数码视频,在网络上协同创作,并且非线性编辑***在编辑时,素材的长短和顺序可以不按照制作的长短和顺序的先后进行。基于客户端和服务器的机构,编辑人员可远程在服务器上编辑素材,但是现有技术仅能实现编辑完成后传输,降低了编辑效率。如果能借鉴流媒体技术边传边看的模式,对素材边编辑边传输,达到流媒体控制,可以大大提高编辑效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流媒体交互的实现方法和装置。
依据本发明的一个方面,应用在服务器端,所述方法包括:
接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;
对所述信令协议数据包指定的流媒体文件进行解码;
按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;
按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;
在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
可选地,在所述对所述信令协议数据包指定的流媒体文件进行解码之前,所述方法还包括:
解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
可选地,所述信令协议数据包由命令标识、载荷数据长度、载荷数据组成;
所述命令标识指示所述信令协议数据包所属命令类型;
所述载荷数据指示所述流媒体文件的存储路径。
可选地,所述解析所述信令协议数据包的步骤包括:
从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
可选地,所述提取所述流媒体数据的步骤包括:
从所述载荷数据的第三设定字段提取流媒体数据描述;
根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
可选地,所述信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态。
可选地,接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
依据本发明的另一个方面,部署在服务器端,所述装置包括:
接收模块,用于接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;
解码模块,用于对所述信令协议数据包指定的流媒体文件进行解码;
编辑模块,用于按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;
编码模块,用于按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;
结束通知模块,用于在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
可选地,在所述对所述信令协议数据包指定的流媒体文件进行解码之前,所述装置还包括:
解析模块,用于解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
可选地,所述信令协议数据包由命令标识、载荷数据长度、载荷数据组成;
所述命令标识指示所述信令协议数据包所属命令类型;
所述载荷数据指示所述流媒体文件的存储路径。
可选地,所述解析模块包括:
提取命令标识模块,用于从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
提取载荷数据长度模块,用于从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
提取载荷数据模块,用于根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
提取流媒体数据模块,用于根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
可选地,所述提取所述流媒体数据模块包括:
提取描述模块,用于从所述载荷数据的第三设定字段提取流媒体数据描述;
确认描述模块,用于根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
提取流媒体数据子模块,用于根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
可选地,所述信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态。
可选地,所述装置还包括:
命令错误模块,用于接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
依据本发明实施例,服务器端接收客户端发送的信令协议数据包,根据信令协议数据包中命令标识和载荷数据确认与之对应的编辑操作,服务器端按照指示的操作进行编辑,将编辑的结果反馈给客户端,实现了客户端与服务器端之间的流媒体交互,完成了流媒体数据的控制。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例一的一种流媒体交互的实现方法的步骤流程图。
图2是根据本发明实施例二的一种流媒体交互的实现方法的步骤流程图。
图3是根据本发明实施例二的所述解析信令协议数据包的子步骤流程图。
图4是根据本发明实施例二的所述提取所述流媒体数据的子步骤流程图。
图5是根据本发明实施例三的一种流媒体交互的实现装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
详细介绍本发明实施例提供的一种流媒体交互的实现方法。
参照图1,示出了本发明实施例一中的一种流媒体交互的实现方法的步骤流程图。
步骤11,接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写。
本发明实施例中,信令协议数据包由命令标识(Command ID)、载荷数据长度(Payload Length)、载荷数据(Payload)组成。命令标识指示信令协议数据包所属命令类型,如请求视频数据、打开文件、编辑文件等等。具体地,如果信令协议数据包为客户端请求读取视频任务,命令标识可以表示为ReadVideoTask;如果信令协议数据包为客户端请求读取音频任务,命令标识可以表示为ReadAudioTask。为了方便存储和发送,命令标识可以使用数字编码。本申请中,读取视频任务(ReadVideoTask)信令协议数据包使用数字编码104,读取音频任务(ReadAudioTask)信令协议数据包使用数字编码105。载荷数据指示所述流媒体文件的存储路径,可以是内部定义的XML文件,采用utf-8编码,服务器根据载荷数据中的存储路径找到客户端请求读取的文件,例如fileName="filePath/file.png"。
服务器端接收客户端发送的信令协议数据包,即接收客户端发送的命令和需要编辑的文件的存储地址。
步骤12,对所述信令协议数据包指定的流媒体文件进行解码。
本发明实施例中,流媒体文件可能是按照不同规则进行编码的文件,为了流媒体文件可以按照本申请中的信令协议进行编辑和传输,首先需要对流媒体文件进行解码,将流媒体文件还原为原始数据。
步骤13,按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑。
本发明实施例中,信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态等等,服务器端按照信令协议数据包指示的命令进行操作。具体地,信令协议数据包指示打开文件,命令标识为OpenFile,数字编码为101,服务器端根据信令协议数据包中文件的存储路径找到文件并执行打开文件的操作;信令协议数据包指示关闭文件,命令标识为CloseFile,数字编码为102,服务器端根据文件的存储路径找到文件并执行关闭文件的操作,并将该文件的资源回收;信令协议数据包指示打开图片,命令标识为OpenImage,数字编码为103,服务器端根据图片的存储路径找到图片并执行打开图片的操作;信令协议数据包指示停止操作,命令标识为Stop,数字编码为106,服务器端接收到该信令协议数据包,停止一切操作;信令协议数据包指示反馈流媒体服务器的信息,命令标识为流媒体描述,数字编码为0,一般该信令协议数据包为客户端首次与流媒体服务器连接时发送,服务器端在接收到该信令协议数据包时,将服务器端的相关信息反馈给客户端;信令协议数据包指示反馈服务器端工作状态,命令标识为客户端确认服务端是否活跃,数字编码为1000,服务器端接收该信令协议数据包之后向客户端发送响应信息,客户端接收到响应信息,说明服务器端与客户端连接正常,处于活跃状态,如果客户端未接收到响应信息,说明服务器端与客户端已断开,非活跃状态。本发明实施例仅举例说明信令协议数据包指示的一部分编辑操作,可根据实际情况增加其他编辑操作,对此本发明不做限定。
步骤14,按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端。
本发明实施例中,流媒体文件中的单位数据是一帧(视频)或一个采样单位(音频)的内容。客户端发送读取视频任务的请求,服务器端首先根据信令协议数据包中视频数据存储的位置找到视频数据,然后对视频数据进行解码,将视频数据还原为原始数据。按照信令协议将流媒体文件中的单位数据重新编码,具体地,将原始的视频数据中的一帧数据或者一帧数据存储的地址采用utf-8编码,然后按照本申请中信令协议的组织形式添加至新的协议数据包的载荷数据中,添加了一帧视频数据的协议数据包为视频媒体数据协议数据包,数字编码为201。如果客户端发送的是读取音频任务的请求,服务器端则根据信令协议数据包找到音频数据,对音频数据解码,然后将原始的音频数据中的一个采样单位或者一个采样单位的存储路径采用utf-8编码,最后将重新编码的数据添加至新的协议数据包的载荷数据中,该数据协议包为音频媒体数据协议数据包,数字编码为202。
本发明实施例中,服务器端将解码后的流媒体数据的单位数据重新编码,然后将重新编码的单位数据按照本申请的信令协议组织形式添加到新的信令协议数据包中,最后再将添加了流媒体数据的协议数据包发送至客户端。
步骤15,在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
本发明实施例中,服务器端向客户端发送包含单位数据的流媒体协议数据包,各个协议数据包可由不同的线路进行传输,传输的速度不同,并且协议数据包发送的顺序可以不按照流媒体文件原本的顺序,因此客户端接收到各个流媒体协议数据包的时间和顺序也不相同。服务器端在将全部流媒体协议数据包发送完毕后,向客户端发送播放结束的信令协议数据包,客户端接收到该协议数据包后明确服务器端已将流媒体文件全部发送完毕。
综上所述,本实施例中服务器端接收客户端发送的信令协议数据包,根据信令协议数据包确认与之对应的编辑操作,服务器端按照指示的操作进行编辑,将编辑的结果反馈给客户端,本实施例实现了客户端与服务器端之间的流媒体交互,完成了流媒体数据的控制。
实施例二
参照图2,示出了本发明实施例二中的一种流媒体交互的实现方法的步骤流程图。
步骤21,接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写。
步骤22,解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
本发明实施例中,信令协议数据包具有固定的组织形式,解析信令协议数据包就是从信令协议数据包的固定字段读取该信令协议数据包包含的命令和文件的存储路径。
优选地,参见图3,所述解析所述信令协议数据包的步骤包括:
子步骤221,从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
子步骤222,从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
子步骤223,根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
子步骤224,根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
本实施例中,命令标识为信令协议数据包的前四个字节,随后的四个字节为载荷数据长度,再后面的是载荷数据,长度由载荷数据长度指定。例如,信令协议的固定形式如下:
解析信令数据协议包时,从前四个字节提取命令标识,确认该信令协议数据包对应的编辑操作,然后从随后的四个字节中提取载荷数据长度,根据载荷数据长度提取载荷数据,最后根据载荷数据指示的流媒体文件的存储路径提取流媒体数据。
优选地,参见图4,所述提取所述流媒体数据的步骤包括:
子步骤2241,从所述载荷数据的第三设定字段提取流媒体数据描述;
子步骤2242,根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
子步骤2243,根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
本实施例中,流媒体数据描述为载荷数据的前40个字节,包括流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型等等。每个描述占据一个字段,例如,第0-7个字节(8bytes)为文件标识fid,该标识为客户端和服务器端之间文件交互的唯一标识;第8-11个字节(4bytes)为数据标识streamId;第12-19个字节(8bytes)为流媒体数据的开始位置;第20-23个字节(4bytes)为流媒体数据的长度,对于视频而言即为帧数(frame count),对于音频而言即为采样个数(sample count);第24-25个字节(2bytes)为流媒体数据的代理级别,这部分数据又分为两部分组成,前1个字节表示代理级别的分子部分(proxyLevelNum),后1个字节表示代理级别的分母部分(proxyLevelDen),对应音频数据此处值为0;第26个字节(1bytes)为流媒体数据的类型,这个值只对视频数据有效,如果值为1表示数据为只有视频数据,如果值为2表示数据为只有Alpha数据,如果值为4表示数据为视频和Alpha混合数据;第27-31个字节(4bytes)和第36-39个字节(4bytes)都为保留位,用于以后扩展;第32-35个字节(4bytes)为标记代码,若ReadTask命令执行错误,则此4个字节的值不为0。
例如,读取视频任务信令协议数据包载荷数据为<ReadVideoTask fid="1"streamId="0"from="0"to="20"proxyLevelNum="1"proxyLevelDen="4"/>,该载荷数据中包含文件标识fid,读取的视频数据streamId,待读取的时间起止区间from和to,单位为帧(frame),代理级别proxyLevelNum和proxyLevelDen,长和宽的代理级别相同,可缺省没有,默认都为1。读取音频任务信令协议数据包载荷数据为<ReadAudioTask fid="1"streamId="1"from="1024"to="10240"/>,该载荷数据中包括文件标识fid,读取的音频数据流streamId,待读取的时间区间from和to,以采样点(sample)为单位,服务端接收到读取区间后会对齐到1024。以上仅为载荷数据的举例,本实施例中对于载荷数据不做详细限定,可根据具体情况进行描述。
步骤23,对所述信令协议数据包指定的流媒体文件进行解码。
步骤24,按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑。
步骤25,按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端。
步骤26,在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
步骤27,接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
本发明实施例中,可能会出现编辑协议数据包时命令错误,或者传输过程中异常等情况,因此在服务器端解析信令协议数据包发现命令错误时,向客户端发送命令错误代码,数字编码为401。具体地,载荷数据为<error cmdId="201"fid="1"errno="1"message="seek command parser error"/>,客户端接收到命令错误代码后显示message中的内容。
综上所述,本实施例中信令协议数据包按照固定形式进行组织,服务器端接收客户端发送的信令协议数据包并对其进行解析,从信令协议数据包的固定字段提取命令标识和载荷数据等,按照命令标识指示的操作进行编辑,将编辑的结果反馈给客户端,本实施例实现了客户端与服务器端之间的流媒体交互,完成了流媒体数据的控制。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
实施例三
详细介绍本发明实施例提供的一种流媒体交互的实现装置。
参照图5,示出了本发明实施例三中的一种流媒体交互的实现装置的结构框图,部署在服务器端,所述装置包括:
接收模块,用于接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;
解码模块,用于对所述信令协议数据包指定的流媒体文件进行解码;
编辑模块,用于按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;
编码模块,用于按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;
结束通知模块,用于在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
优选地,在所述对所述信令协议数据包指定的流媒体文件进行解码之前,所述装置还包括:
解析模块,用于解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
优选地,所述信令协议数据包由命令标识、载荷数据长度、载荷数据组成;
所述命令标识指示所述信令协议数据包所属命令类型;
所述载荷数据指示所述流媒体文件的存储路径。
优选地,所述解析模块包括:
提取命令标识模块,用于从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
提取载荷数据长度模块,用于从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
提取载荷数据模块,用于根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
提取流媒体数据模块,用于根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
优选地,所述提取所述流媒体数据模块包括:
提取描述模块,用于从所述载荷数据的第三设定字段提取流媒体数据描述;
确认描述模块,用于根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
提取流媒体数据子模块,用于根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
优选地,所述信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态。
优选地,所述装置还包括:
命令错误模块,用于接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
综上所述,本实施例中服务器端接收客户端发送的信令协议数据包,从固定字段中提取命令标识和载荷数据,按照命令指示的操作进行编辑,将编辑的结果反馈给客户端,实现了客户端与服务器端之间的流媒体交互。
对于上述流媒体交互的实现装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的流媒体交互的实现方案不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器负载控制方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (12)

1.一种流媒体交互的实现方法,应用在服务器端,所述方法包括:
接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;
对所述信令协议数据包指定的流媒体文件进行解码;
按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;
按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;
在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕;
所述信令协议数据包由命令标识、载荷数据长度、载荷数据组成;
所述命令标识指示所述信令协议数据包所属命令类型;
所述载荷数据指示所述流媒体文件的存储路径。
2.根据权利要求1所述的方法,其特征在于,在所述对所述信令协议数据包指定的流媒体文件进行解码之前,所述方法还包括:
解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
3.根据权利要求2所述的方法,其特征在于,所述解析所述信令协议数据包的步骤包括:
从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
4.根据权利要求3所述的方法,其特征在于,所述提取所述流媒体数据的步骤包括:
从所述载荷数据的第三设定字段提取流媒体数据描述;
根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
5.根据权利要求1所述的方法,其特征在于,所述信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
7.一种流媒体交互的实现装置,部署在服务器端,所述装置包括:
接收模块,用于接收客户端发送的信令协议数据包,所述信令协议数据包按照设定的信令协议编写;所述信令协议数据包由命令标识、载荷数据长度、载荷数据组成;所述命令标识指示所述信令协议数据包所属命令类型;所述载荷数据指示所述流媒体文件的存储路径;
解码模块,用于对所述信令协议数据包指定的流媒体文件进行解码;
编辑模块,用于按照所述信令协议数据包指示的编辑操作对指定的流媒体文件进行编辑;
编码模块,用于按照所述信令协议将所述流媒体文件中的单位数据重新编码,并发送至所述客户端;
结束通知模块,用于在所述流媒体文件发送完毕后,发送播放结束的信令协议数据包,以通知所述客户端所述流媒体文件发送完毕。
8.根据权利要求7所述的装置,其特征在于,在所述对所述信令协议数据包指定的流媒体文件进行解码之前,所述装置还包括:
解析模块,用于解析所述信令协议数据包,获得所述信令协议数据包指示的编辑操作类型以及指定处理的流媒体文件。
9.根据权利要求8所述的装置,其特征在于,所述解析模块包括:
提取命令标识模块,用于从所述信令协议数据包的第一设定字段提取所述命令标识,并确定所述命令标识对应指示的编辑操作;
提取载荷数据长度模块,用于从所述信令协议数据包的第二设定字段提取所述载荷数据长度;
提取载荷数据模块,用于根据所述载荷数据长度从所述信令数据协议包中提取所述载荷数据;
提取流媒体数据模块,用于根据所述载荷数据指示的所述流媒体文件的存储路径,提取流媒体数据。
10.根据权利要求9所述的装置,其特征在于,所述提取所述流媒体数据模块包括:
提取描述模块,用于从所述载荷数据的第三设定字段提取流媒体数据描述;
确认描述模块,用于根据所述流媒体数据描述确认所述流媒体数据的文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型;
提取流媒体数据子模块,用于根据所述文件标识、数据标识、数据开始位置、数据长度、代理级别和数据类型提取所述流媒体数据。
11.根据权利要求7所述的装置,其特征在于,所述信令协议数据包指示的编辑操作包括打开和关闭文件、打开图片、停止操作、反馈流媒体服务器的信息和工作状态。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
命令错误模块,用于接收到的所述信令协议数据包出现命令错误时,向所述客户端发送命令错误代码。
CN201610460664.5A 2016-06-22 2016-06-22 一种流媒体交互的实现方法和装置 Active CN106060061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610460664.5A CN106060061B (zh) 2016-06-22 2016-06-22 一种流媒体交互的实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610460664.5A CN106060061B (zh) 2016-06-22 2016-06-22 一种流媒体交互的实现方法和装置

Publications (2)

Publication Number Publication Date
CN106060061A CN106060061A (zh) 2016-10-26
CN106060061B true CN106060061B (zh) 2019-02-22

Family

ID=57168241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610460664.5A Active CN106060061B (zh) 2016-06-22 2016-06-22 一种流媒体交互的实现方法和装置

Country Status (1)

Country Link
CN (1) CN106060061B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277649A (zh) * 2022-06-30 2022-11-01 钉钉(中国)信息技术有限公司 多媒体会议场景下的文档协同编辑的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252600A (zh) * 2008-03-31 2008-08-27 腾讯科技(深圳)有限公司 一种流媒体点播方法、***及设备
CN101312531A (zh) * 2007-11-02 2008-11-26 北京创毅视讯科技有限公司 一种广播***中的流媒体业务传输方法及流媒体帧封装器
CN101827251A (zh) * 2010-05-07 2010-09-08 深圳创维-Rgb电子有限公司 一种播放网络流媒体的方法、装置
CN102006311A (zh) * 2010-12-28 2011-04-06 青岛海信网络科技股份有限公司 一种流媒体多功能分发***和方法
CN102595199A (zh) * 2011-01-11 2012-07-18 中兴通讯股份有限公司 一种流媒体数据包的封装、传输方法及流媒体处理装置
CN103905922A (zh) * 2014-03-18 2014-07-02 深圳市云宙多媒体技术有限公司 一种基于http协议的流媒体协议封装方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312531A (zh) * 2007-11-02 2008-11-26 北京创毅视讯科技有限公司 一种广播***中的流媒体业务传输方法及流媒体帧封装器
CN101252600A (zh) * 2008-03-31 2008-08-27 腾讯科技(深圳)有限公司 一种流媒体点播方法、***及设备
CN101827251A (zh) * 2010-05-07 2010-09-08 深圳创维-Rgb电子有限公司 一种播放网络流媒体的方法、装置
CN102006311A (zh) * 2010-12-28 2011-04-06 青岛海信网络科技股份有限公司 一种流媒体多功能分发***和方法
CN102595199A (zh) * 2011-01-11 2012-07-18 中兴通讯股份有限公司 一种流媒体数据包的封装、传输方法及流媒体处理装置
CN103905922A (zh) * 2014-03-18 2014-07-02 深圳市云宙多媒体技术有限公司 一种基于http协议的流媒体协议封装方法及装置

Also Published As

Publication number Publication date
CN106060061A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
Alcock et al. Libtrace: A packet capture and analysis library
US20180261019A1 (en) Method and apparatus for transmitting data of self-driving vehicle, device and storage medium
US8819286B2 (en) Methods, systems, and apparatus for processing messaging data sets using structured data sets
KR20040005925A (ko) 전송 멀티플렉서에서 대역폭 활용의 실시간 표시
US20090067357A1 (en) Method and system for multimedia messaging service (mms) to video adaptation
US9363152B2 (en) Large-scale passive network monitoring using multiple tiers of ordinary network switches
CN107979506B (zh) 流量获取和云端展示***、方法、装置及设备
CN103826156A (zh) 终端遥控方法、机顶盒、移动终端及网页服务器
JP2013543189A (ja) Smsを用いて遠隔デバイスを制御する方法及びそのための装置
CN106060061B (zh) 一种流媒体交互的实现方法和装置
CN110069259A (zh) 基于idl文件的解析方法、装置、电子设备和存储介质
WO2015174883A1 (en) Test bundling and batching optimizations
WO1998057273A1 (en) Cyclic transmission of a plurality of mutually related objects
US8793651B2 (en) Remote card content management using synchronous server-side scripting
CN114244556B (zh) 一种协议代理方法及装置
CN105516372B (zh) 文件名的处理方法、装置及服务器
CN102111604B (zh) 会议录制方法及会议录制***
CN111010534A (zh) 实时异步视频分析方法及***
CN109298866A (zh) 基于c语言的tlv格式协议快速解析方法
CN110554966B (zh) 一种驱动调试方法、行为分析方法及驱动调试***
CN113542764A (zh) 视频快速启播方法、装置、电子设备及计算机可读介质
CN101711479B (zh) 用于创建内容的方法,用于跟踪内容使用行动的方法、和相应的终端和信号
KR20080093117A (ko) 커맨드-라인 쉘 처리 세션 확립 방법과 이를 구현하는컴퓨터 프로그램 제품, 및 커맨드용 원격 처리 세션을확립하는 방법
CN112764761A (zh) 一种程序中断文件解析方法、存储介质、电子设备及***
CN109981548B (zh) 一种计费消息的解析方法及装置

Legal Events

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