CN104219541B - 一种视频生产系统及方法 - Google Patents
一种视频生产系统及方法 Download PDFInfo
- Publication number
- CN104219541B CN104219541B CN201410486119.4A CN201410486119A CN104219541B CN 104219541 B CN104219541 B CN 104219541B CN 201410486119 A CN201410486119 A CN 201410486119A CN 104219541 B CN104219541 B CN 104219541B
- Authority
- CN
- China
- Prior art keywords
- module
- workflow
- video
- transcoding
- sent
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种视频生产系统及方法。一种视频生产系统,应用于网络侧,该系统包括:工作流模块和与其相连的多个业务模块,所述业务模块包括:视频接收模块、编目模块、转码模块、分发模块和发布模块;视频接收模块在接收到视频外部设备发送的视频数据后,能够启动工作流模块按照预先定义的生产流程的顺序向相应的业务模块发送任务,以控制相应的业务模块执行相应视频处理任务,从而完成视频生产。应用上述技术方案,由于本发明的视频生产系统中的工作流模块能够对各业务模块进行统一的调度及控制,因此当该系统中一个业务模块的工作方式发生变化时,只需要调整工作流模块就能够完成正常的生产,降低了系统的维护、开发成本。
Description
技术领域
本发明涉及视频服务技术领域,特别涉及一种视频生产系统及方法。
背景技术
视频生产过程涉及视频编目、转码、分发、发布等多个环节,需要制作部门、内容部门、技术部门、运营部门等多个部门协调配合,整个生产过程相对复杂。
目前,视频生产系统如图1所示,由视频接收模块101、转码模块102、分发模块103、编目模块104和发布模块105这几个业务模块依次相连构成。
一个视频的生产,各个业务模块必须顺序执行如下步骤:
步骤一:在接收到视频生产指令后,视频接收模块101接收外部设备上传的视频信息,获得成片的视频数据。
外部设备上传的视频信息,可能是未经过非线性编辑的视频信息,也可能是经过非线性编辑后形成成片的视频数据。如果是未经过非线性编辑的视频信息,在这个步骤中需要对这些视频信息进行非线性编辑,以获得成片的视频数据。
步骤二:转码模块102对视频接收模块101获得的成片进行转码,获得不同格式及清晰度的码流文件,将码流文件发送给分发模块103。
步骤三:分发模块103将转码模块102获得的码流文件分发到内容分发网络CDN系统的不同节点上,并将获得上述码流文件的CDN节点的位置信息,发送给发布模块105,然后通知编目模块104;
步骤四:在分发模块103完成码流文件的分发后,编目模块104才能够对视频接收模块101获得的成片进行标注得到编目信息,并将编目信息发送给发布模块105;
步骤五:发布模块105对接收到的编目信息和CDN节点的位置信息进行处理后,生成可供下载和观看的视频文件,并将其发布到网络,供用户观赏或使用。
可见,由于在视频生产过程中,该视频生产系统中的各模块彼此间依赖性较大,因此该系统中的一个业务模块的工作方式发生变化时,例如:转码模块,由多个服务器实现,如果其中一个服务器故障或其他原因不能使用,需要先对转码模块进行调整,且视频接收模块及分发模块也需要进行调整;再例如转码模块中增加一种新的格式的码流,需要先对转码模块进行调整,且分发模块及发布模块也需要进行调整,才能完成正常的生产,从而导致系统维护、开发成本比较高。
发明内容
为了解决上述问题,本发明实施例提供了一种视频生产系统及方法,具体技术方案如下:
一种视频生产系统,应用于网络侧,所述系统包括:
工作流模块和与其相连的多个业务模块,所述业务模块包括:视频接收模块、编目模块、转码模块、分发模块和发布模块;
所述视频接收模块,用于在接收外部设备发送的成片的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第一通知消息;
所述编目模块,用于接收所述工作流模块发送的编目任务,按照所述编目任务,对从视频接收模块接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块,并在标注完毕后向所述工作流模块发送第二通知消息;
所述转码模块,用于接收所述工作流模块发送的码流转码任务,按照所述码流转码任务,对从视频接收模块接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块,并在转码完毕后向所述工作流模块发送第三通知消息;
所述分发模块,用于接收所述工作流模块发送的码流分发任务,按照所述码流分发任务,将从转码模块接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块,并在分发完毕后向所述工作流模块发送第四通知消息;
所述发布模块,用于接收所述工作流模块发送的发布任务,按照所述发布任务,对从编目模块接收到的编目信息和从分发模块接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块发送第五通知消息;
所述工作流模块,用于由所述视频接收模块启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块发送所述各码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块发送所述发布任务;在接收到所述第五通知消息后,结束本次发布流程。
可选的,所述系统还包括:非编模块;
所述视频接收模块,进一步用于在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块后,向所述工作流模块发送第六通知消息;
所述非编模块,用于按照从所述工作流模块接收的非编指令,将从视频接收模块接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第七通知消息;
所述工作流模块,按照预先定义的生产流程的顺序,进一步在接收到所述第六通知消息后,向所述非编模块发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务。
可选的,所述工作流模块在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
可选的,所述工作流模块包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块,用于对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块,用于接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块,用于在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块,用于对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
可选的,所述系统还包括:
存储模块,用于存储以下内容中的至少一种:
所述视频接收模块接收到的成片的视频数据,所述编目模块标注得到的编目信息,所述转码模块转码得到的码流文件,所述分发模块记录的CDN节点位置信息,及所述发布模块发布的视频。
一种视频生产方法,应用于网络侧,所述方法基于包含工作流模块和与该工作流模块相连的多个业务模块的视频生产系统,所述业务模块包括:视频接收模块、编目模块、转码模块、分发模块和发布模块;所述方法包括:
视频接收模块在接收外部设备发送的成片的视频数据时,启动工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第一通知消息;
编目模块接收所述工作流模块发送的编目任务,按照所述编目任务,对从视频接收模块接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块,并在标注完毕后向所述工作流模块发送第二通知消息;
转码模块接收所述工作流模块发送的码流转码任务,按照所述码流转码任务,对从视频接收模块接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块,并在转码完毕后向所述工作流模块发送第三通知消息;
分发模块接收所述工作流模块发送的码流分发任务,按照所述码流分发任务,将从转码模块接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块,并在分发完毕后向所述工作流模块发送第四通知消息;
发布模块接收所述工作流模块发送的发布任务,按照所述发布任务,对从编目模块接收到的编目信息和从分发模块接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块发送第五通知消息;
工作流模块在由所述视频接收模块启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块发送所述各码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块发送所述发布任务;在接收到所述第五通知消息后,结束本次发布流程。
可选的,所述视频生产系统还包括非编模块,该方法还包括:
非编模块按照从所述工作流模块接收的非编指令,将从视频接收模块接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第七通知消息;
所述视频接收模块进一步在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块后,向所述工作流模块发送第六通知消息;
所述工作流模块按照预设的生产流程顺序,进一步在接收到所述第六通知消息后,向所述非编模块发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务。
可选的,所述工作流模块在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
可选的,所述工作流模块包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
可选的,所述视频生产系统还包括:存储模块;
该方法还包括:将以下内容中的至少一种存储至存储模块:
所述视频接收模块接收到的成片的视频数据,所述编目模块标注得到的编目信息,所述转码模块转码得到的码流文件,所述分发模块记录的CDN节点位置信息,及所述发布模块发布的视频。
应用上述技术方案,本发明实施例提供的视频生产系统及方法,在接收到视频外部设备发送的视频数据后,能够启动工作流模块按照预先定义的生产流程的顺序向相应的业务模块发送任务,以控制相应的业务模块执行相应视频处理任务,从而完成视频生产。
与现有技术相比,由于本发明的视频生产系统中的工作流模块能够对各业务模块进行统一的调度及控制,因此当该系统中一个业务模块的工作方式发生变化时,例如转码模块,由多个服务器实现,如果其中一个服务器故障或其他原因不能使用;再例如转码模块中增加一种新的格式的码流,应用本发明后,只需要调整工作流模块就能够完成正常的生产,降低了系统的维护、开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的视频生产系统的结构示意图;
图2为本发明实施例提供的一种视频生产系统的结构示意图;
图3为本发明实施例提供的另一种视频生产系统的结构示意图;
图4为本发明实施例提供的另一种视频生产系统的结构示意图;
图5为本发明实施例提供的一种视频生产方法的信令流程图;
图6为本发明实施例提供的另一种视频生产方法的信令流程图;
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
视频行业的爆发性增长及用户对各种视频内容需求的增加,使得视频内容提供商对视频生产系统的灵活性要求也越来越高。为此,本发明实施例提供了一种视频生产系统及方法。
下面首先对本发明实施例提供的一种视频生产系统进行介绍。
如图2所示,本发明实施例提供的一种视频生产系统,可以包括:
工作流模块201和与其相连的多个业务模块,所述业务模块包括:视频接收模块202、编目模块203、转码模块204、分发模块205和发布模块206;
所述视频接收模块202,用于在接收外部设备发送的成片的视频数据时,启动所述工作流模块201,并按照从所述工作流模块201接收的第一控制指令,在将所述成片的视频数据发送给编目模块203和转码模块204后,向所述工作流模块201发送第一通知消息;需要说明的是,实际应用中,接收视频的具体方法与现有技术相同,这里不再赘述。
所述编目模块203,用于接收所述工作流模块201发送的编目任务,按照所述编目任务,对从视频接收模块202接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块206,并在标注完毕后向所述工作流模块201发送第二通知消息;
需要说明的是,编目模块203对成片的视频数据进行信息标注,得到包含视频元数据信息的编目信息,在实际应中,上述元数据信息可以包括:导演信息、演员信息、上映时间、剧情介绍等信息。实际应用中,编目的具体方法与现有技术相同,这里不再赘述。
所述转码模块204,用于接收所述工作流模块201发送的码流转码任务,按照所述码流转码任务,对从视频接收模块202接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块205,并在转码完毕后向所述工作流模块201发送第三通知消息;
可以理解的是,转码模块204能够将成片的视频数据转码成多种码流的码流文件,比如,标清码流、高清码流,或超高清码流。需要说明的是,实际应用中,转码的具体方法与现有技术相同,这里不再赘述。
所述分发模块205,用于接收所述工作流模块201发送的码流分发任务,按照所述码流分发任务,将从转码模块204接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块206,并在分发完毕后向所述工作流模块201发送第四通知消息;
可以理解的是,为使用户能够较快速的响应用户的请求,视频提供商通常会使用分发模块将码流文件分发到CDN系统的多个缓存节点上,CDN系统能够实时地根据网络流量和各缓存节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向到离用户最近的缓存节点上。需要说明的是,实际应用中,分发的具体方法与现有技术相同,这里不再赘述。
所述发布模块206,用于接收所述工作流模块201发送的发布任务,按照所述发布任务,对从编目模块203接收到的编目信息和从分发模块205接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块201发送第五通知消息;需要说明的是,实际应用中,发布的具体方法与现有技术相同,这里不再赘述。
所述工作流模块201,用于由所述视频接收模块202启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块203和所述转码模块204发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块205发送所述各码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块206发送所述发布任务;在接收到所述第五通知消息后,结束本次发布流程。
由于本发明实施例中的工作流模块能够接收各业务模块发送的通知消息,因此,实现了对各业务模块工作情况的监控。工作流模块只需接收各业务模块发送的通知消息,及向各业务模块发送用于控制业务模块执行相应工作的任务,而不必直接对视频数据进行接收、发送及处理,信息处理速度较快;此外,在业务模块的工作方式发生变化时,只需对工作流模块进行调整,该工作流模块再对各业务模块进行调度,而不必调整每个业务模块,从而提高了视频生产系统的灵活性。
示例性的,采用现有的视频生产系统,由于转码模块与分发模块、视频接收模块等直接进行数据交互,这就导致当转码模块中增加一种新的格式的码流,需要对视频接收模块、发布模块等进行调整,操作复杂,成本较高。
采用本发明的视频生产系统,由于转码模块、分发模块及视频接收模块均与工作流模块进行指令的交互,因此当转码模块中增加一种新的格式的码流,只需对工作流模块进行一些调整,工作流模块来告知分发模块需要将新增加的码流文件发送到CDN系统的哪个缓存节点上,工作流模块来告知视频接收模块将成片的视频数据发送到用于生产新的格式的码流的机器上。从而避免了对视频生产系统中的各业务模块进行调整,降低了开发及维护成本。
由此可见,本发明实施例提供的视频生产系统,在接收到视频外部设备发送的视频数据后,能够启动工作流模块按照预先定义的生产流程的顺序向相应的业务模块发送任务,以控制相应的业务模块执行相应视频处理任务,从而完成视频生产。
与现有技术相比,由于本发明的视频生产系统中的工作流模块能够对各业务模块进行统一的调度及控制,因此当该系统中一个业务模块的工作方式发生变化时,例如转码模块,由多个服务器实现,如果其中一个服务器故障或其他原因不能使用;再例如转码模块中增加一种新的格式的码流,应用本发明后,只需要调整工作流模块就能够完成正常的生产,降低了系统的维护、开发成本。
可以理解的是,视频接收模块从外部设备接收的视频数据可以为已经过非线性编辑的成片的视频数据,或未经过非线性编辑的视频数据。当视频接收模块接收的视频数据为未经过非线性编辑的视频数据时,在本发明的另一个实施例中,还可以在图2所示视频生产系统的基础上增加非编模块207,如图3所示。
所述视频接收模块202,进一步用于在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块201,并按照从所述工作流模块201接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块207后,向所述工作流模块201发送第六通知消息;
所述非编模块207,用于按照从所述工作流模块201接收的非编指令,将从视频接收模块202接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块203和转码模块204后,向所述工作流模块201发送第七通知消息;
在实际应用中,非编模块可以对视频进行裁剪、合并及加入特效等非线性编辑,进而生产视频成片。需要说明的是,实际应用中,非编的具体方法与现有技术相同,这里不再赘述。
所述工作流模块201,按照预先定义的生产流程的顺序,进一步在接收到所述第六通知消息后,向所述非编模块207发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块203和所述转码模块204发送所述编目任务和所述码流转码任务。
在本发明实施例中,工作流模块能够向非编模块发送非编任务,及接收非编模块发送的第七通知消息。
可选的,在本发明的一个实施例中,所述工作流模块201在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
具体的,所述工作流模块201,可以包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块,用于对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块,用于接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块,用于在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块,用于对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
示例性的,有时视频生产系统中某一业务模块的工作进程可能会出现异常,从而导致发布失败,为了能够及时恢复该视频生产系统的正常工作状态,可以向出现异常的业务模块发送用于重启该业务模块当前任务的第二控制指令,以使该业务模块继续对执行当前的任务。
可以理解的是,由于视频生产系统中涉及的业务模块种类较多,具体的,各业务模块包括大量的机器,为避免机器故障导致业务模块生成的数据丢失,从而影响后续的视频生产过程,可以对各业务模块生产的数据进行存储备份,为此在本发明的一个实施例中,还可以在图3所示视频生产系统的基础上增加存储模块208,如图4所示。
存储模块208,用于存储以下内容中的至少一种:
所述视频接收模块202接收到的成片的视频数据,所述编目模块203标注得到的编目信息,所述转码模块204转码得到的码流文件,所述分发模块205记录的CDN节点位置信息,及所述发布模块206发布的视频。需要说明的是,实际应用中,存储的具体方法与现有技术相同,这里不再赘述。
相应于上面的系统实施例,本发明实施例还提供了一种视频生产方法。
本发明实施例提供的一种视频生产方法,基于图2所示的视频生产系统,该视频生产方法的执行过程如图5所示;该方法可以包括:
视频接收模块在接收外部设备发送的成片的视频数据时,启动工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第一通知消息;需要说明的是,实际应用中,接收视频的具体方法与现有技术相同,这里不再赘述。
编目模块接收所述工作流模块发送的编目任务,按照所述编目任务,对从视频接收模块接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块,并在标注完毕后向所述工作流模块发送第二通知消息;需要说明的是,实际应用中,编目的具体方法与现有技术相同,这里不再赘述。
转码模块接收所述工作流模块发送的码流转码任务,按照所述码流转码任务,对从视频接收模块接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块,并在转码完毕后向所述工作流模块发送第三通知消息;需要说明的是,实际应用中,转码的具体方法与现有技术相同,这里不再赘述。
分发模块接收所述工作流模块发送的码流分发任务,按照所述码流分发任务,将从转码模块接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块,并在分发完毕后向所述工作流模块发送第四通知消息;需要说明的是,实际应用中,分发的具体方法与现有技术相同,这里不再赘述。
发布模块接收所述工作流模块发送的发布任务,按照所述发布任务,对从编目模块接收到的编目信息和从分发模块接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块发送第五通知消息;需要说明的是,实际应用中,发布的具体方法与现有技术相同,这里不再赘述。
工作流模块在由所述视频接收模块启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块发送所述各码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块发送所述发布任务;在接收到所述第五通知消息后,结束本次发布流程。
由此可见,本发明实施例提供的视频生产方法,在接收到视频外部设备发送的视频数据后,能够启动工作流模块按照预先定义的生产流程的顺序向相应的业务模块发送任务,以控制相应的业务模块执行相应视频处理任务,从而完成视频生产。
与现有技术相比,由于本发明的视频生产系统中的工作流模块能够对各业务模块进行统一的调度及控制,因此当该系统中一个业务模块的工作方式发生变化时,例如转码模块,由多个服务器实现,如果其中一个服务器故障或其他原因不能使用;再例如转码模块中增加一种新的格式的码流,应用本发明后,只需要调整工作流模块就能够完成正常的生产,降低了系统的维护、开发成本。
可以理解的是,视频接收模块从外部设备接收的视频数据可以为已经过非线性编辑的成片的视频数据,或未经过非线性编辑的视频数据。当视频接收模块接收的视频数据为未经过非线性编辑的视频数据时,在本发明的一个实施例中,所述视频生产系统还可以包括:非编模块,该视频生产方法的执行过程可以如图6所示;该方法还可以包括:
非编模块按照从所述工作流模块接收的非编指令,将从视频接收模块接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第七通知消息;需要说明的是,实际应用中,非编的具体方法与现有技术相同,这里不再赘述。
所述视频接收模块进一步在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块后,向所述工作流模块发送第六通知消息;
所述工作流模块按照预设的生产流程顺序,进一步在接收到所述第六通知消息后,向所述非编模块发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务。
可选的,在本发明的一个实施例中,所述工作流模块在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
具体的,所述工作流模块可以包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
可选的,在本发明的一个实施例中,所述视频生产系统还可以包括:存储模块;所述视频生产方法还可以包括:
将以下内容中的至少一种存储至存储模块:
所述视频接收模块接收到的成片的视频数据,所述编目模块标注得到的编目信息,所述转码模块转码得到的码流文件,所述分发模块记录的CDN节点位置信息,及所述发布模块发布的视频。
需要说明的是,实际应用中,存储的具体方法与现有技术相同,这里不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种视频生产系统,其特征在于,应用于网络侧,所述系统包括:
工作流模块和与其相连的多个业务模块,所述业务模块包括:视频接收模块、编目模块、转码模块、分发模块和发布模块;
所述视频接收模块,用于在接收外部设备发送的成片的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第一通知消息;
所述编目模块,用于接收所述工作流模块发送的编目任务,按照所述编目任务,对从视频接收模块接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块,并在标注完毕后向所述工作流模块发送第二通知消息;
所述转码模块,用于接收所述工作流模块发送的码流转码任务,按照所述码流转码任务,对从视频接收模块接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块,并在转码完毕后向所述工作流模块发送第三通知消息;
所述分发模块,用于接收所述工作流模块发送的码流分发任务,按照所述码流分发任务,将从转码模块接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块,并在分发完毕后向所述工作流模块发送第四通知消息;
所述发布模块,用于接收所述工作流模块发送的发布任务,按照所述发布任务,对从编目模块接收到的编目信息和从分发模块接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块发送第五通知消息;
所述工作流模块,用于由所述视频接收模块启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块发送所述码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块发送所述发布任务;在接收到所述第五通知消息后,结束本次发布流程。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:非编模块;
所述视频接收模块,进一步用于在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块后,向所述工作流模块发送第六通知消息;
所述非编模块,用于按照从所述工作流模块接收的非编指令,将从视频接收模块接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第七通知消息;
所述工作流模块,按照预先定义的生产流程的顺序,进一步在接收到所述第六通知消息后,向所述非编模块发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务。
3.根据权利要求2所述的系统,其特征在于,所述工作流模块在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
4.根据权利要求3所述的系统,其特征在于,所述工作流模块包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块,用于对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块,用于接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块,用于在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块,用于对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括:
存储模块,用于存储以下内容中的至少一种:
所述视频接收模块接收到的成片的视频数据,所述编目模块标注得到的编目信息,所述转码模块转码得到的码流文件,所述分发模块记录的CDN节点位置信息,及所述发布模块发布的视频。
6.一种视频生产方法,其特征在于,应用于网络侧,所述方法基于权利要求1所述的视频生产系统,包括:
视频接收模块在接收外部设备发送的成片的视频数据时,启动工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第一通知消息;
编目模块接收所述工作流模块发送的编目任务,按照所述编目任务,对从视频接收模块接收到的成片的视频数据进行信息标注得到编目信息,将得到的编目信息发送给发布模块,并在标注完毕后向所述工作流模块发送第二通知消息;
转码模块接收所述工作流模块发送的码流转码任务,按照所述码流转码任务,对从视频接收模块接收到的成片的视频数据进行转码得到码流文件,将得到的码流文件发送给分发模块,并在转码完毕后向所述工作流模块发送第三通知消息;
分发模块接收所述工作流模块发送的码流分发任务,按照所述码流分发任务,将从转码模块接收到的码流文件分配到内容分发网络CDN系统的节点上,记录分配有所述码流文件的节点的位置信息,将所述位置信息发送给发布模块,并在分发完毕后向所述工作流模块发送第四通知消息;
发布模块接收所述工作流模块发送的发布任务,按照所述发布任务,对从编目模块接收到的编目信息和从分发模块接收到的位置信息进行处理,生成要发布的视频,将所述要发布的视频发布到网络,并在发布完毕后向所述工作流模块发送第五通知消息;
工作流模块在由所述视频接收模块启动后,按照预先定义的生产流程的顺序,在接收到所述第一通知消息后,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务;在接收到所述第三通知消息后,向所述分发模块发送所述码流分发任务;在接收到所述第二通知消息和所述第四通知消息后,向所述发布模块发送所述发布任务,在接收到所述第五通知消息后,结束本次发布流程。
7.根据权利要求6所述的方法,其特征在于,所述视频生产系统还包括非编模块,该方法还包括:
非编模块按照从所述工作流模块接收的非编指令,将从视频接收模块接收到的未经非线性编辑的视频数据进行非线性编辑,获得成片的视频数据,在将所述成片的视频数据发送给编目模块和转码模块后,向所述工作流模块发送第七通知消息;
所述视频接收模块进一步在接收外部设备发送的未经非线性编辑的视频数据时,启动所述工作流模块,并按照从所述工作流模块接收的第一控制指令,在将所述未经非线性编辑的视频数据发送给非编模块后,向所述工作流模块发送第六通知消息;
所述工作流模块按照预设的生产流程顺序,进一步在接收到所述第六通知消息后,向所述非编模块发送所述非编指令;在接收到所述第七通知消息时,分别向所述编目模块和所述转码模块发送所述编目任务和所述码流转码任务。
8.根据权利要求7所述的方法,其特征在于,所述工作流模块在收到表示失败的第二、第三、第四、第五或第七通知消息时,进一步向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述各个业务模块,进一步接收所述第二控制指令,执行该控制指令对应的操作。
9.根据权利要求8所述的方法,其特征在于,所述工作流模块包括:
工作流定义子模块、工作流监控子模块、工作流任务发送子模块和工作流分析子模块;
所述工作流定义子模块对视频生产的生产流程进行定义,及对该工作流定义子模块定义的生产流程进行存储;
所述工作流监控子模块接收所述第一、第二、第三、第四、第五、第六及第七通知消息,并在收到表示失败的第二、第三、第四、第五或第七通知消息时,向发送该通知消息的业务模块发送第二控制指令;所述第二控制指令是用于控制业务模块暂停、重启或终止当前任务的指令;
所述工作流任务发送子模块在所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析后,分别向所述非编模块、所述编目模块、所述转码模块、所述分发模块和所述发布模块,发送非编指令、编目任务、码流转码任务、码流分发任务和发布任务;
所述工作流分析子模块对所述工作流定义子模块定义的生产流程进行解析,在所述工作流监控子模块接收到所述第一、第二、第三、第四及第六通知消息后,确定用于接收编目任务、码流转码任务、码流分发任务、发布任务和非编指令的业务模块。
10.根据权利要求6所述的方法,其特征在于,所述视频生产系统还包括:存储模块;
该方法还包括:将以下内容中的至少一种存储至所述存储模块:
所述视频接收模块接收到的成片的视频数据,所述编目模块标注得到的编目信息,所述转码模块转码得到的码流文件,所述分发模块记录的CDN节点位置信息,及所述发布模块发布的视频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486119.4A CN104219541B (zh) | 2014-09-22 | 2014-09-22 | 一种视频生产系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486119.4A CN104219541B (zh) | 2014-09-22 | 2014-09-22 | 一种视频生产系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219541A CN104219541A (zh) | 2014-12-17 |
CN104219541B true CN104219541B (zh) | 2017-12-08 |
Family
ID=52100618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410486119.4A Active CN104219541B (zh) | 2014-09-22 | 2014-09-22 | 一种视频生产系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219541B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260242A (zh) * | 2015-10-29 | 2016-01-20 | 无锡天脉聚源传媒科技有限公司 | 一种任务处理方法及装置 |
CN106572366B (zh) * | 2016-11-10 | 2019-05-10 | 中广热点云科技有限公司 | 运行于无线广播网超级热点业务平台的内容管理系统及方法 |
WO2018107411A1 (zh) * | 2016-12-15 | 2018-06-21 | 深圳中兴力维技术有限公司 | 一种视频内容信息的管理系统及方法 |
CN108090664A (zh) * | 2017-12-13 | 2018-05-29 | 北京网博视界科技股份有限公司 | 一种工作流适配调度方法、装置、设备和存储介质 |
CN109640187A (zh) * | 2018-12-07 | 2019-04-16 | 成都东方盛行电子有限责任公司 | 一种多终端视频协同编辑系统及方法 |
CN109670488A (zh) * | 2019-01-31 | 2019-04-23 | 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) | 一种视频数据典型动态目标检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101743533A (zh) * | 2007-04-12 | 2010-06-16 | 汤姆森特许公司 | 用于媒体制作和分发的操作的管理解决方案 |
CN102026025A (zh) * | 2009-09-10 | 2011-04-20 | 北京盛景无限文化传媒有限公司 | 节目集成运营综合管理系统 |
CN102739927A (zh) * | 2011-09-23 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种媒体资源制作的方法及系统 |
CN102752492A (zh) * | 2011-09-23 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种实现多渠道分发的工作流引擎 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070100884A1 (en) * | 2005-11-01 | 2007-05-03 | Brown William A | Workflow decision management with message logging |
-
2014
- 2014-09-22 CN CN201410486119.4A patent/CN104219541B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101743533A (zh) * | 2007-04-12 | 2010-06-16 | 汤姆森特许公司 | 用于媒体制作和分发的操作的管理解决方案 |
CN102026025A (zh) * | 2009-09-10 | 2011-04-20 | 北京盛景无限文化传媒有限公司 | 节目集成运营综合管理系统 |
CN102739927A (zh) * | 2011-09-23 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种媒体资源制作的方法及系统 |
CN102752492A (zh) * | 2011-09-23 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种实现多渠道分发的工作流引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN104219541A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219541B (zh) | 一种视频生产系统及方法 | |
CN105900121B (zh) | 用于生成活动流的方法 | |
US11126614B2 (en) | Log query user interface | |
US20150281321A1 (en) | Real-time event monitoring and video surveillance web application based on data push | |
CN103457841A (zh) | 一种基于长连接的消息处理方法和消息处理装置 | |
CN107122232B (zh) | 一种多媒体任务处理装置及方法 | |
CN108932157B (zh) | 分布式处理任务的方法、系统、电子设备和可读介质 | |
CN102467506A (zh) | 一种Cookie的处理方法和系统 | |
CN103209115A (zh) | 一种消息发送系统 | |
CN102591658A (zh) | 一种消息处理方法及装置 | |
CN105677536A (zh) | 一种任务消息的实现方法及实现该任务消息的任务系统 | |
CN102737016B (zh) | 基于并行处理的信息文件生成系统及方法 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN106209931A (zh) | 一种资源的信息的更新方法、装置和系统 | |
CN112799741A (zh) | 一种应用程序分身方法、装置、电子设备及存储介质 | |
CN105550762A (zh) | 会议室预订方法和装置 | |
CN103475870B (zh) | 一种分布式可延展智能视频监控系统 | |
CN105071986B (zh) | 一种监控系统运行状态的方法 | |
CN105956084A (zh) | 一种变更数据抽取方法及装置 | |
US11477077B1 (en) | Change management system with monitoring, alerting, and trending for information technology environment | |
CN104767589A (zh) | 一种信息发送方法及装置 | |
CN102325171B (zh) | 一种监控系统中数据的存储方法及其系统 | |
CN101567819A (zh) | 一种消息上报方法与服务器 | |
CN105281940A (zh) | 一种基于netconf协议的hello报文交互的方法、设备和系统 | |
US9258374B2 (en) | Method and system for capturing expertise of a knowledge worker in an integrated breadcrumb trail of data transactions and user interactions |
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 |