CN106911939A - 一种视频转码方法、装置及系统 - Google Patents

一种视频转码方法、装置及系统 Download PDF

Info

Publication number
CN106911939A
CN106911939A CN201710011204.9A CN201710011204A CN106911939A CN 106911939 A CN106911939 A CN 106911939A CN 201710011204 A CN201710011204 A CN 201710011204A CN 106911939 A CN106911939 A CN 106911939A
Authority
CN
China
Prior art keywords
transcoding
video
node
qualified
task
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.)
Pending
Application number
CN201710011204.9A
Other languages
English (en)
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.)
Wuhan Fiberhome Digtal Technology Co Ltd
Original Assignee
Wuhan Fiberhome Digtal 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 Wuhan Fiberhome Digtal Technology Co Ltd filed Critical Wuhan Fiberhome Digtal Technology Co Ltd
Priority to CN201710011204.9A priority Critical patent/CN106911939A/zh
Publication of CN106911939A publication Critical patent/CN106911939A/zh
Pending legal-status Critical Current

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/440245Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频转码方法、装置及系统,涉及多媒体技术,该视频转码方法根据资源占用情况,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码,通过该视频转码方法,可以筛选出资源占用较少的转码节点进行转码,进而提高转码效率,实现海量视频的转码处理。

Description

一种视频转码方法、装置及系统
技术领域
本发明涉及视频侦查领域的多媒体技术,尤其涉及一种视频转码方法、装置及系统。
背景技术
随着平安城市、智慧城市的广泛建设和社会视频监控的大力普及,视频侦查技术在刑侦案件的侦破工作中取得越来越重要的作用。
目前在公安案件侦破工作中,视频侦查技术中最实在的应用就是从海量视频数据中找出具有案件线索特征的图像,让干警发现新的案件线索,从而进行追踪分析。视频侦查技术和工具也从以前的单机查看时代,向平台化和智能化方向发展。
单机时代,对于社会资源点位和监控点采集的录像或者视频,需要办案民警收集各监控厂家的播放器,使用对应的播放器单机播放该厂家摄像头下面的视频,通过部署大量警力和人眼观看的方式逐个观看视频查找犯罪线索。在如今视频数据海量堆积的时代,这种传统方式因为效率太低已经越来越不能满足实际办案的需要。
现在的技术趋势是,通过建立视频侦查云平台,将民警采集的各类社会资源点和监控点视频上传到平台,通过平台后端的转码集群,将各种视频格式统一转码成标准视频格式进行存储,然后通过平台视频摘要、视频检索等智能化图像分析算法,依托云平台强大的计算能力对存储的视频进行分析,通过观看浓缩摘要视频,快速定位出线索片段(视频摘要技术是一种视频图像处理算法,可将一段视频里面的运动目标提取出来,静止目标和背景进行压缩,最终生成一段浓缩摘要视频,通过这种技术可以大大缩短观看和查找视频所需要的时间)。在这套流程中,侦查人员只需要上传犯案视频资源到平台,无需知道视频格式和对应的监控厂家,平台系统会自动识别视频的格式封装和码流进行视频预处理和转码,转码后统一格式的视频也为智能图像处理算法的接入提供了可能,大大节省了人力物力,加速了案件的侦破过程,因此平台后端的视频格式兼容和视频转码技术变得越来越重要,成为一种不可或缺的技术手段和环节。
但是,视频侦查转码领域,视频转码效率较低,难以完成海量视频的转码处理。
发明内容
本发明提供一种视频转码方法、装置及系统,用以提高视频转码的效率。
依据本发明的一个方面,提供一种视频转码方法,包括:
确定各转码节点的资源占用情况;
根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;
接收所述转码节点返回的转码后的视频文件。
进一步,所述根据所述资源占用情况,向符合条件的转码节点分配转码任务,具体包括:
选择一个当前没有进行转码的转码节点,并向该转码节点分配转码任务;或者
选择当前资源占用量最少的转码节点,并向该转码节点分配转码任务。
进一步,所述向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码,具体包括:
向符合条件的转码节点分配待转码的整个视频,由所述符合条件的转码节点对该待转码的整个视频进行转码;
所述接收所述转码节点返回的转码后的视频文件,具体为:
接收所述转码节点返回的转码后的整个视频。
更进一步,所述符合条件的转码节点对该待转码的整个视频进行转码,具体包括:
符合条件的转码节点对待转码的视频文件进行切片;
符合条件的转码节点对切片后的视频片段进行转码;
符合条件的转码节点将转码后的视频片段合成为转码后的整个视频。
或者,所述向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码,具体包括:
对待转码的视频文件进行切片,并向符合条件的转码节点分配切片后的视频片段,由所述符合条件的转码节点对该切片后的视频片段进行转码;
所述接收所述转码节点返回的转码后的视频文件,具体为:
接收所述转码节点返回的转码后的视频片段,并将所述转码后的视频片段合成为转码后的整个视频。
优选的,所述对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
进一步,所述符合条件的转码节点进行转码,具体包括:
符合条件的转码节点确定待转码视频和当前节点均支持GPU解码时,进行GPU解码,当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
更进一步,所述通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk对该视频进行解码。
本发明实施例还相应提供一种视频转码方法,包括:
接收调度节点根据各转码节点的资源占用情况分配的转码任务;
对转码任务中的待转码视频进行转码;
向所述调度节点返回转码后的视频文件。
进一步,所述接收调度节点根据各转码节点的资源占用情况分配的转码任务,具体包括:
接收调度节点根据各转码节点的资源占用情况分配的待转码的整个视频;
所述对转码任务中的待转码视频进行转码,具体包括:
对该待转码的整个视频进行转码;
所述向所述调度节点返回转码后的视频文件,具体为:
向所述调度节点返回转码后的整个视频。
更进一步,所述对该待转码的整个视频进行转码,具体包括:
对待转码的视频文件进行切片;
对切片后的视频片段进行转码;
将转码后的视频片段合成为转码后的整个视频。
或者,所述接收调度节点根据各转码节点的资源占用情况分配的转码任务,具体包括:
接收调度节点根据各转码节点的资源占用情况分配的切片后的视频片段;
所述对转码任务中的待转码视频进行转码,具体包括:
对所述切片后的视频片段进行转码;
所述向所述调度节点返回转码后的视频文件,具体包括:
向所述调度节点返回转码后的视频片段,由所述调度节点将所述转码后的视频片段合成为转码后的整个视频。
优选的,所述对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
进一步,所述对转码任务中的待转码视频进行转码,具体包括:
确定待转码视频和当前节点均支持GPU解码时,进行GPU解码;
当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
更进一步,所述通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk对该视频进行解码。
本发明实施例还相应提供一种视频转码装置,包括:
确定单元,用于确定各转码节点的资源占用情况;
分配单元,用于根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;
接收单元,用于接收所述转码节点返回的转码后的视频文件。
进一步,所述分配单元具体用于:
选择一个当前没有进行转码的转码节点,并向该转码节点分配转码任务;或者
选择当前资源占用量最少的转码节点,并向该转码节点分配转码任务。
进一步,所述分配单元具体用于:
向符合条件的转码节点分配待转码的整个视频,由所述符合条件的转码节点对该待转码的整个视频进行转码;
所述接收单元具体用于:
接收所述转码节点返回的转码后的整个视频。
或者,所述分配单元具体用于:
对待转码的视频文件进行切片,并向符合条件的转码节点分配切片后的视频片段,由所述符合条件的转码节点对该切片后的视频片段进行转码;
所述接收单元具体用于:
接收所述转码节点返回的转码后的视频片段,并将所述转码后的视频片段合成为转码后的整个视频。
更进一步,所述分配单元对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
本发明实施例还相应提供一种视频转码装置,包括:
任务接收单元,用于接收调度节点根据各转码节点的资源占用情况分配的转码任务;
视频转码单元,用于对转码任务中的待转码视频进行转码;
视频发送单元,用于向所述调度节点返回转码后的视频文件。
进一步,所述任务接收单元具体用于:
接收调度节点根据各转码节点的资源占用情况分配的待转码的整个视频;
所述视频转码单元具体用于:
对该待转码的整个视频进行转码;
所述视频发送单元具体用于:
向所述调度节点返回转码后的整个视频。
更进一步,所述视频转码单元对该待转码的整个视频进行转码,具体包括:
对待转码的视频文件进行切片;
对切片后的视频片段进行转码;
将转码后的视频片段合成为转码后的整个视频。
或者,所述任务接收单元具体用于:
接收调度节点根据各转码节点的资源占用情况分配的切片后的视频片段;
所述视频转码单元具体用于:
对所述切片后的视频片段进行转码;
所述视频发送单元具体用于:
向所述调度节点返回转码后的视频片段,由所述调度节点将所述转码后的视频片段合成为转码后的整个视频。
优选的,所述视频转码单元对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
进一步,所述视频转码单元具体用于:
确定待转码视频和当前节点均支持GPU解码时,进行GPU解码;
当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
更进一步,所述视频转码单元通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk对该视频进行解码。
本发明实施例还相应提供一种视频转码系统,包括调度节点和至少两个转码节点,其中:
所述调度节点,用于确定各转码节点的资源占用情况;根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;接收所述转码节点返回的转码后的视频文件;
所述转码节点,用于接收调度节点根据各转码节点的资源占用情况分配的转码任务;对转码任务中的待转码视频进行转码;向所述调度节点返回转码后的视频文件。
本发明有益效果如下:本发明实施例提供的视频转码方法、装置及系统,根据资源占用情况,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码,通过该视频转码方法,可以筛选出资源占用较少的转码节点进行转码,进而提高转码效率,实现海量视频的转码处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的视频转码方法流程图之一;
图2为本发明实施例提供的视频转码方法流程图之二;
图3为本发明实施例提供的视频转码装置结构示意图之一;
图4为本发明实施例提供的视频转码装置结构示意图之二;
图5a为本发明实施例提供的视频转码系统结构示意图;
图5b为本发明实施例提供的进行转码过程中使用的单元结构示意图;
图6为本发明实施例提供的格式分析单元结构示意图;
图7a为本发明实施例提供的解码单元结构示意图;
图7b为本发明实施例提供的编码单元结构示意图;
图7c为本发明实施例提供的对应实施例一的调用单元示意图;
图8为本发明实施例提供的对应实施例一的视频转码方法流程图;
图9为本发明实施例提供的对应实施例二的调用单元示意图;
图10为本发明实施例提供的对应实施例二的视频转码方法流程图;
图11为本发明实施例提供的对应实施例三的调用单元示意图;
图12为本发明实施例提供的对应实施例三的视频转码方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的视频转码方法,包括:
步骤S101、确定各转码节点的资源占用情况;
步骤S102、根据资源占用情况,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码;
步骤S103、接收转码节点返回的转码后的视频文件。
通过该视频转码方法,可以筛选出资源占用较少的转码节点进行转码,进而提高转码效率,实现海量视频的转码处理。
选择符合条件的转码节点可以具体通过如下方式:选择当前没有进行转码的转码节点,或者选择当前资源占用量最少的转码节点,此时,步骤S102中,根据资源占用情况,向符合条件的转码节点分配转码任务,具体包括:
选择一个当前没有进行转码的转码节点,并向该转码节点分配转码任务;或者
选择当前资源占用量最少的转码节点,并向该转码节点分配转码任务。
对于比较长的视频文件,可以对视频文件进行切片,以便于进行转码处理,该切片的步骤可以由调度节点进行,也可以由转码节点进行,当切片步骤由转码节点进行,或者不进行切片时,步骤S102中,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码,具体包括:
向符合条件的转码节点分配待转码的整个视频,由符合条件的转码节点对该待转码的整个视频进行转码;
此时,步骤S103中,接收转码节点返回的转码后的视频文件,具体为:
接收转码节点返回的转码后的整个视频。
对于需要进行切片的视频,转码节点先对视频进行切片,再对切片后的视频片段进行转码,此时,符合条件的转码节点对该待转码的整个视频进行转码,具体包括:
符合条件的转码节点对待转码的视频文件进行切片;
符合条件的转码节点对切片后的视频片段进行转码;
符合条件的转码节点将转码后的视频片段合成为转码后的整个视频。
当切片步骤由调度节点进行时,步骤S102中,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码,具体包括:
对待转码的视频文件进行切片,并向符合条件的转码节点分配切片后的视频片段,由符合条件的转码节点对该切片后的视频片段进行转码;
步骤S103中,接收转码节点返回的转码后的视频文件,具体为:
接收转码节点返回的转码后的视频片段,并将转码后的视频片段合成为转码后的整个视频。
具体的,对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
通过进行格式分析并切片,使得私有厂家格式的视频也可以进行切片和转码,未知格式视频或受损视频,也可以通过分析特征码来进行切片和转码,实现了对不同格式视频及受损视频的处理。
其中,格式分析和切片的功能可以由子设备执行,也可以由调度节点或者转码节点直接执行。
为进一步节省CPU资源,提高转码效率,符合条件的转码节点进行转码,具体包括:
符合条件的转码节点确定待转码视频和当前节点均支持GPU解码时,进行GPU解码,当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
具体的,通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk(SoftwareDevelopment Kit,软件开发工具包)对该视频进行解码。
本发明实施例还相应提供一种视频转码方法,如图2所示,包括:
步骤S201、接收调度节点根据各转码节点的资源占用情况分配的转码任务;
步骤S202、对转码任务中的待转码视频进行转码;
步骤S203、向调度节点返回转码后的视频文件。
对于比较长的视频文件,可以对视频文件进行切片,以便于进行转码处理,该切片的步骤可以由调度节点进行,也可以由转码节点进行,当切片步骤由转码节点进行,或者不进行切片时,步骤S201中,接收调度节点根据各转码节点的资源占用情况分配的转码任务,具体包括:
接收调度节点根据各转码节点的资源占用情况分配的待转码的整个视频;
步骤S202中,对转码任务中的待转码视频进行转码,具体包括:
对该待转码的整个视频进行转码;
步骤S203中,向调度节点返回转码后的视频文件,具体为:
向调度节点返回转码后的整个视频。
对于需要进行切片的视频,转码节点先对视频进行切片,再对切片后的视频片段进行转码,此时,对该待转码的整个视频进行转码,具体包括:
对待转码的视频文件进行切片;
对切片后的视频片段进行转码;
将转码后的视频片段合成为转码后的整个视频。
当切片步骤由调度节点进行时,步骤S201中,接收调度节点根据各转码节点的资源占用情况分配的转码任务,具体包括:
接收调度节点根据各转码节点的资源占用情况分配的切片后的视频片段;
步骤S202中,对转码任务中的待转码视频进行转码,具体包括:
对切片后的视频片段进行转码;
步骤S203中,向调度节点返回转码后的视频文件,具体包括:
向调度节点返回转码后的视频片段,由调度节点将转码后的视频片段合成为转码后的整个视频。
具体的,对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
为进一步节省CPU资源,提高转码效率,步骤S202中,对转码任务中的待转码视频进行转码,具体包括:
确定待转码视频和当前节点均支持GPU解码时,进行GPU解码;
当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
具体的,通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk对该视频进行解码。
本发明实施例还相应提供一种视频转码装置,该装置对应于调度节点,如图3所示,该装置包括:
确定单元301,用于确定各转码节点的资源占用情况;
分配单元302,用于根据资源占用情况,向符合条件的转码节点分配转码任务,由符合条件的转码节点进行转码;
接收单元303,用于接收转码节点返回的转码后的视频文件。
其中,分配单元302具体用于:
选择一个当前没有进行转码的转码节点,并向该转码节点分配转码任务;或者
选择当前资源占用量最少的转码节点,并向该转码节点分配转码任务。
进一步,分配单元302具体用于:
向符合条件的转码节点分配待转码的整个视频,由符合条件的转码节点对该待转码的整个视频进行转码;
接收单元303具体用于:
接收转码节点返回的转码后的整个视频。
或者,302分配单元具体用于:
对待转码的视频文件进行切片,并向符合条件的转码节点分配切片后的视频片段,由符合条件的转码节点对该切片后的视频片段进行转码;
接收单元303具体用于:
接收转码节点返回的转码后的视频片段,并将转码后的视频片段合成为转码后的整个视频。
更进一步,分配单元302对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
本发明实施例还提供一种视频转码装置,该装置对应于转码节点,如图4所示,该装置包括:
任务接收单元401,用于接收调度节点根据各转码节点的资源占用情况分配的转码任务;
视频转码单元402,用于对转码任务中的待转码视频进行转码;
视频发送单元403,用于向调度节点返回转码后的视频文件。
进一步,任务接收单元401具体用于:
接收调度节点根据各转码节点的资源占用情况分配的待转码的整个视频;
视频转码单元402具体用于:
对该待转码的整个视频进行转码;
视频发送单元403具体用于:
向调度节点返回转码后的整个视频。
更进一步,视频转码单元402对该待转码的整个视频进行转码,具体包括:
对待转码的视频文件进行切片;
对切片后的视频片段进行转码;
将转码后的视频片段合成为转码后的整个视频。
或者,任务接收单元401具体用于:
接收调度节点根据各转码节点的资源占用情况分配的切片后的视频片段;
视频转码单元402具体用于:
对切片后的视频片段进行转码;
视频发送单元403具体用于:
向调度节点返回转码后的视频片段,由调度节点将转码后的视频片段合成为转码后的整个视频。
更进一步,视频转码单元402对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
优选的,视频转码单元402具体用于:
确定待转码视频和当前节点均支持GPU解码时,进行GPU解码;
当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
进一步,视频转码单元402通过CPU进行解码,具体包括:
当待转码视频为标准格式视频时,采用业界标准视频编码格式视频的解码方式进行解码,当待转码视频为私有厂家视频格式类型时,使用厂家提供的解码sdk对该视频进行解码。
本发明实施例还提供一种视频转码系统,如图5a所示,包括调度节点501和至少两个转码节点502,其中:
调度节点501,用于确定各转码节点502的资源占用情况;根据资源占用情况,向符合条件的转码节点502分配转码任务,由符合条件的转码节点502进行转码;接收转码节点502返回的转码后的视频文件;
转码节点502,用于接收调度节点501根据各转码节点的资源占用情况分配的转码任务;对转码任务中的待转码视频进行转码;向调度节点501返回转码后的视频文件。
以下通过具体实施例对该方法、装置及系统进行详细说明:
实施例一、
该实施例中,通过图5a所示的系统进行转码,即,调度节点和n个转码节点一起组成转码集群进行分布式转码;
如图5b所示,在进行转码过程中,可能用到格式分析单元、解码单元、编码单元和视频合并单元,其中,进行格式分析和切片的格式分析单元可以设置在调度节点和/或转码节点中,也可以单独设置,将转码后的视频片段合并为整个视频的视频合并单元,同样可以设置在调度节点和/或转码节点中,也可以单独设置,解码单元和编码单元一般情况是设置在转码节点中的,在实际操作中也可以根据实际情况确定是否需要单独设置。
进行转码时,可以使用图6中的视频格式分析单元里面的视频分割子单元对转码文件进行切割;
使用图7a中的解码单元中的GPU解码子单元对转码文件进行硬解码;
使用图7b中的编码单元中GPU编码子单元对转码文件进行硬编码;
该转码节点上每个切片的编码工作完成之后,使用视频合并单元对视频切片进行视频合并,得到最终的转码文件;
转码节点在进行转码时,依次调用的单元如图7c所示。
具体的流程如下,如图8所示:
步骤1、将待转码文件加入到调度节点的任务队列;
步骤2、调度节点从任务队列中取出一个转码任务;
步骤3、调度节点统计各转码节点物理资源占用率(CPU和GPU利用率等),选取最低占用的转码节点i接受转码文件。
具体的,可以简单的设定每个转码节点同时只允许一个转码任务在运行,没有任务运行的节点称为空闲节点。有m个转码节点时,当空闲节点数目大于0时,调度节点将转码文件发送至该节点,否则调度节点进行等待,直到出现空闲节点为止;也可以设定一定的CPU和GPU使用率阈值,选择低于阈值的转码节点接受转码任务,否则等待;
步骤4、转码节点i调用视频格式分析单元分析视频格式类型,得到视频所属的具体视频格式子类型;
具体的,标准视频格式子类型可以根据ffmpeg(可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)等开源解码器是否能打开和解码进行判断,能打开和解码成功,是标准视频格式,不能,进入下一流程;
私有厂家视频格式子类型可以根据文件头部分固定字节和预设厂家文件头是否匹配进行判断;
手动解析视频格式子类型,在标准视频子类型和私有厂家视频格式子类型都排除无法判断视频格式类型后,可搜索文件头开始的一定字节的数据,设定搜索特征码,比如h264SPS和PPS开始头00 00 01 67和00 00 01 68,如果搜索到的次数大于设定阈值,可认为是该种视频编码,进入手动解析视频格式单元;
以上三种条件均不满足,认为是不支持的转码类型,转码节点结束任务并向资源管理和统计单元报告;
步骤5、转码节点i调用对应的视频格式分析单元的视频切片子单元,将待转码文件切割成同样格式的K个视频分片;
其中,为了保证转码任务均匀分布进行,视频切片可以按时间维度进行近似均匀切片,先根据K的值和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,可以利用ffmpeg等读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,可以利用厂家提供的解码sdk包中的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于手动解析文件类型,见实施例三;
视频切片单元生成该转码文件的所有切片后,将切片放入转码节点i的切片文件队列;
步骤6、转码节点i内的解码单元从切片文件队列中取出一个切片文件,利用GPU进行硬解码,具体包括:
解码单元检测转码节点i是否支持GPU硬件加速,如果不支持,进入CPU解码环节,如果支持,解码单元检测视频切片格式编码是否是GPU硬解码支持的视频编码类型,如果不是,进入CPU解码环节;
如果转码节点i支持GPU硬件加速,且视频切片格式编码是GPU硬解码支持的视频编码类型,则转码节点i调用GPU解码子单元对视频切片进行硬解码,输出yuv解码信息;
如果使用CPU对视频切片进行解码,又分为两种,如果是标准视频切片,使用ffmpeg等对视频切片进行解码,如果是私有厂家格式视频切片,使用厂家提供的解码sdk包进行解码。输出yuv(一种颜色编码方法)解码信息;
步骤7、转码节点i将解码单元产生的yuv信息发送到编码单元,利用GPU进行硬编码,具体的包括:
编码单元检测转码节点是否支持GPU硬件加速,如果不支持,由CPU进行编码,编码单元利用CPU对yuv信息按照转码要求进行视频编码,得到编码视频片,每个视频切片都对应一个编码视频片,编号和原视频切片一样;如果支持,编码单元通过GPU对yuv信息按照转码要求进行视频编码,得到编码视频片,每个视频切片都对应一个编码视频片,编号和原视频切片一样;
步骤8、当K个视频编码片段都完成后,转码节点i调用视频合并单元,按照视频编码片段编号对视频文件进行排序,然后合并成一个文件,得到最终的转码文件。
实施例二:
该实施例和实施例一的主要区别是由调度单元执行视频切片步骤,在进行任务分配之前,先进行切片,再对切片后的视频进行任务调度和转码。
如图9所示,该方法具体包括:
视频格式分析单元和视频切片单元,对待转码文件进行分析和切片;
调度节点将视频切片分布到m个转码节点上进行分布式转码;
解码单元,利用CPU或者GPU对视频切片进行解码,得到yuv信息;
编码单元,利用CPU或者GPU对解码单元产生的yuv信息进行视频编码;
视频合并单元,当每个视频切片对应的全部视频编码片段完成后,将视频编码片段合并成一个视频文件;
具体流程图如下,如图10所示:
步骤1、待转码文件进行调度节点队列;
步骤2、调度节点从任务队列中取出一个转码任务;
步骤3、调度节点调用格式分析单元对转码文件进行视频切片,切成K个视频片段,每个视频片段具有相同的视频id(标识),总切片数,以及片段编号,切片进入调度节点的切片文件队列;
具体切片步骤同实施例一;
并且,格式切片单元既可以设置在调度节点中,也可以分离设置;
步骤4、调度节点从切片队列中取出一个切片文件,统计各节点物理资源占用率(CPU、GPU等),选取最低占用的一个转码节点接受转码任务;
具体的,可以简单的设置每个转码节点最大允许的并行切片转码任务数为R,相应的每个转码节点任务空闲值为0~R,选择空闲值最大的一个转码节点接受切片转码任务;如果所有节点空闲值均为0,调度节点进行等待,直到出现空闲节点为止;
步骤5、每个转码节点i利用解码单元对视频切片进行解码,解码步骤同实施例一,输出yuv解码信息;
步骤6、每个转码节点i利用编码单元对视频切片进行编码,编码步骤同实施例1,输出编码片段,每个编码片段视频id和编号、总片段数同源视频切片,发送编码片段到视频合并单元队列;
步骤7、视频合并单元待所有转码节点上编码片段完成之后,按照编码片段id和序号对视频编码片段进行排序和合并,得到最后的转码视频文件。
视频合并单元可以设置在调度节点中,也可以分开设置。
实施例三、
该实施例和实施例一的主要区别是针对手动分析视频格式类型的转码进行单独处理和说明,直接提取帧和视频封装,不进行切片、解码和转码,以优化转码流程。手动分析视频格式类型包括未能识别的视频格式类型以及受损的视频格式类型。
如图11所示,包括:
调度节点和m个转码节点一起进行分布式集群转码;
每个转码节点i接受一个转码任务,调用手动解析视频单元里面的视频修复单元和视频取帧单元,以及编码单元里面的视频封装单元,对转码文件进行转码;
具体步骤如下,如图12所示:
步骤1、将待转码文件加入到调度节点的任务队列;
步骤2、调度节点从任务队列中取出一个转码任务;
步骤3、调度节点统计各转码节点物理资源占用率(CPU和GPU利用率等),选取最低占用的转码节点i接受转码文件。
具体的,可以简单的设定每个转码节点同时只允许一个转码任务在运行,没有任务运行的节点称为空闲节点。有m个转码节点时,当空闲节点数目大于0时,调度节点将转码文件发送至该节点,否则调度节点进行等待,直到出现空闲节点为止;也可以设定一定的CPU和GPU使用率阈值,选择低于阈值的转码节点接受转码任务,否则等待;
步骤4、转码节点i调用视频格式分析单元分析视频格式类型,得到视频所属的具体视频格式子类型;
同实施例一,当不属于标准视频格式和私有厂家视频格式,并且含有预设特征码时,进入手动解析视频格式单元;
以上三种条件均不满足,认为是不支持的转码类型,转码节点结束任务并向调度节点报告;
步骤6、转码节点i调用手工视频格式分析单元里的视频修复子单元,扫描预设的标准编码特征码,建立帧索引信息和进行视频修复,具体的包括(以未知或者受损视频格式中编码为h264编码为例):
扫描整个视频文件中的00 00 01特征码信息,记录每个特征码的偏移量,和长度,长度=下一个特征码偏移量-当前特征码偏移量,添加到帧索引链表;
删掉索引中的非h264信息:不是所有的以00 00 01开头的片段都属于h264编码,对于非标准但符合00 00 01开头的片段,从索引中进行删除;
对索引中的h264编码片段长度进行修正,计算得到的片段长度可能有误差,比如特别是h264中的PPS信息,实际长度需要根据经验进行修正,否则会出现解码花屏等现象。
步骤6、转码节点i调用手动分析单元里的取帧单元,根据帧索引信息从文件中读取一帧,发送给视频编码单元;
步骤7、转码节点i调用编码单元里的视频封装单元,按照转码要求对帧信息进行目标格式封装,得到最终的转码文件。
通过该视频转码方法,可以筛选出资源占用较少的转码节点进行转码,进而提高转码效率,实现海量视频的转码处理。并且,进一步通过GPU协助解码、编码,减小了CPU的处理负担,减少了CPU资源的占用,进而也可以实现转码效率的提高,对视频格式进行分析,对私有厂家格式的视频、未知格式的视频以及受损视频分别进行相应的处理,进一步使得视频的处理量得到提升。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是其与其他实施例的不同之处。尤其对于装置实施例而言,由于其基本相似与方法实施例,所以,描述的比较简单,相关之处参见方法实施例的部分说明即可。
虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种视频转码方法,其特征在于,包括:
确定各转码节点的资源占用情况;
根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;
接收所述转码节点返回的转码后的视频文件。
2.如权利要求1所述的方法,其特征在于,所述向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码,具体包括:
向符合条件的转码节点分配待转码的整个视频,由所述符合条件的转码节点对该待转码的整个视频进行转码;
所述接收所述转码节点返回的转码后的视频文件,具体为:
接收所述转码节点返回的转码后的整个视频。
3.如权利要求2所述的方法,其特征在于,所述符合条件的转码节点对该待转码的整个视频进行转码,具体包括:
符合条件的转码节点对待转码的视频文件进行切片;
符合条件的转码节点对切片后的视频片段进行转码;
符合条件的转码节点将转码后的视频片段合成为转码后的整个视频。
4.如权利要求1所述的方法,其特征在于,所述向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码,具体包括:
对待转码的视频文件进行切片,并向符合条件的转码节点分配切片后的视频片段,由所述符合条件的转码节点对该切片后的视频片段进行转码;
所述接收所述转码节点返回的转码后的视频文件,具体为:
接收所述转码节点返回的转码后的视频片段,并将所述转码后的视频片段合成为转码后的整个视频。
5.如权利要求3或4所述的方法,其特征在于,所述对待转码的视频文件进行切片,具体包括:
根据切片数量K和视频的总时长T,得到K个时间片段:0~t1t1~t2t2~t3…t(K-1)~t(K)每个片段长度deltaT=T/K;
对于标准视频格式类型,读取第j(0<j<=K)个时刻片段内的帧,然后按照原视频格式进行封装成K个视频切片;
对于私有厂家视频格式类型,利用厂家提供的关键帧定位接口,根据第j个片段的时间起始信息,得到第j个片段的位置偏移量的起始信息,再提取出来,写完私有厂家文件头后再写入该片段信息得到物理文件切片;
对于未知格式视频或受损视频,扫描整个视频文件中的特征码信息,记录每个特征码的偏移量和长度,添加到帧索引链表,其中,长度为下一个特征码偏移量减去当前特征码偏移量的差值;删掉索引中的非当前格式信息;对索引中的编码片段长度进行修正,得到该视频的索引信息;根据该索引信息对该视频进行切片。
6.如权利要求1所述的方法,其特征在于,所述符合条件的转码节点进行转码,具体包括:
符合条件的转码节点确定待转码视频和当前节点均支持GPU解码时,进行GPU解码,当待转码视频和/或当前节点不支持GPU解码时,通过CPU进行解码。
7.一种视频转码方法,其特征在于,包括:
接收调度节点根据各转码节点的资源占用情况分配的转码任务;
对转码任务中的待转码视频进行转码;
向所述调度节点返回转码后的视频文件。
8.一种视频转码装置,其特征在于,包括:
确定单元,用于确定各转码节点的资源占用情况;
分配单元,用于根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;
接收单元,用于接收所述转码节点返回的转码后的视频文件。
9.一种视频转码装置,其特征在于,包括:
任务接收单元,用于接收调度节点根据各转码节点的资源占用情况分配的转码任务;
视频转码单元,用于对转码任务中的待转码视频进行转码;
视频发送单元,用于向所述调度节点返回转码后的视频文件。
10.一种视频转码系统,其特征在于,包括调度节点和至少两个转码节点,其中:
所述调度节点,用于确定各转码节点的资源占用情况;根据所述资源占用情况,向符合条件的转码节点分配转码任务,由所述符合条件的转码节点进行转码;接收所述转码节点返回的转码后的视频文件;
所述转码节点,用于接收调度节点根据各转码节点的资源占用情况分配的转码任务;对转码任务中的待转码视频进行转码;向所述调度节点返回转码后的视频文件。
CN201710011204.9A 2017-01-06 2017-01-06 一种视频转码方法、装置及系统 Pending CN106911939A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710011204.9A CN106911939A (zh) 2017-01-06 2017-01-06 一种视频转码方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710011204.9A CN106911939A (zh) 2017-01-06 2017-01-06 一种视频转码方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106911939A true CN106911939A (zh) 2017-06-30

Family

ID=59206774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710011204.9A Pending CN106911939A (zh) 2017-01-06 2017-01-06 一种视频转码方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106911939A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063953A (zh) * 2017-12-28 2018-05-22 武汉烽火众智数字技术有限责任公司 视频转码网关、监控系统以及视频转码网关的转码方法
CN108769738A (zh) * 2018-06-15 2018-11-06 广州酷狗计算机科技有限公司 视频处理方法、装置、计算机设备和存储介质
CN109213593A (zh) * 2017-07-04 2019-01-15 阿里巴巴集团控股有限公司 用于全景视频转码的资源分配方法、装置和设备
CN111294647A (zh) * 2018-12-10 2020-06-16 中国移动通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN111314740A (zh) * 2020-03-19 2020-06-19 杭州慧川智能科技有限公司 一种基于芯片间并行的高性能转码方法
CN112804543A (zh) * 2020-12-31 2021-05-14 武汉兴图新科电子股份有限公司 基于云视频融合平台的浏览器点播视音频的终端及方法
CN113473183A (zh) * 2021-06-29 2021-10-01 华夏城视网络电视股份有限公司 一种应用于融合媒体的动静态媒体流批处理方法
CN115546329A (zh) * 2022-12-01 2022-12-30 广州市保伦电子有限公司 一种音视频硬件加速转码检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363463A (zh) * 2014-11-10 2015-02-18 能力天空科技(北京)有限公司 一种视频处理方法、装置及系统
CN104980795A (zh) * 2014-04-09 2015-10-14 北大方正集团有限公司 多终端视频文件的处理方法和系统
CN105828105A (zh) * 2015-12-10 2016-08-03 广东亿迅科技有限公司 一种基于分布式环境的视频转码系统及视频转码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980795A (zh) * 2014-04-09 2015-10-14 北大方正集团有限公司 多终端视频文件的处理方法和系统
CN104363463A (zh) * 2014-11-10 2015-02-18 能力天空科技(北京)有限公司 一种视频处理方法、装置及系统
CN105828105A (zh) * 2015-12-10 2016-08-03 广东亿迅科技有限公司 一种基于分布式环境的视频转码系统及视频转码方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213593A (zh) * 2017-07-04 2019-01-15 阿里巴巴集团控股有限公司 用于全景视频转码的资源分配方法、装置和设备
CN109213593B (zh) * 2017-07-04 2022-05-10 阿里巴巴集团控股有限公司 用于全景视频转码的资源分配方法、装置和设备
CN108063953A (zh) * 2017-12-28 2018-05-22 武汉烽火众智数字技术有限责任公司 视频转码网关、监控系统以及视频转码网关的转码方法
CN108769738A (zh) * 2018-06-15 2018-11-06 广州酷狗计算机科技有限公司 视频处理方法、装置、计算机设备和存储介质
CN108769738B (zh) * 2018-06-15 2021-01-08 广州酷狗计算机科技有限公司 视频处理方法、装置、计算机设备和存储介质
CN111294647A (zh) * 2018-12-10 2020-06-16 中国移动通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN111294647B (zh) * 2018-12-10 2022-04-08 中国移动通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN111314740A (zh) * 2020-03-19 2020-06-19 杭州慧川智能科技有限公司 一种基于芯片间并行的高性能转码方法
CN112804543A (zh) * 2020-12-31 2021-05-14 武汉兴图新科电子股份有限公司 基于云视频融合平台的浏览器点播视音频的终端及方法
CN113473183A (zh) * 2021-06-29 2021-10-01 华夏城视网络电视股份有限公司 一种应用于融合媒体的动静态媒体流批处理方法
CN115546329A (zh) * 2022-12-01 2022-12-30 广州市保伦电子有限公司 一种音视频硬件加速转码检测方法及系统

Similar Documents

Publication Publication Date Title
CN106911939A (zh) 一种视频转码方法、装置及系统
KR101922129B1 (ko) 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치
CN111488363B (zh) 数据处理方法、装置、电子设备及介质
CN103886376B (zh) 用于基于规则的内容过滤的系统和方法
CN110149529B (zh) 媒体信息的处理方法、服务器及存储介质
CN102682024B (zh) 未残缺jpeg文件碎片重组的方法
CN103165151B (zh) 多媒体文件播放方法和装置
US9348832B2 (en) Method and device for reassembling a data file
CN102664967A (zh) 跨平台的个人信息交互方法和系统及后台服务器
Ali et al. A review of digital forensics methods for JPEG file carving
CN110535846B (zh) 一种基于dl/t698.45协议的数据帧压缩方法和系统
CN104036187A (zh) 计算机病毒类型确定方法及其系统
CN113645490B (zh) 一种软硬结合的多通道视频同步解码方法
CN110505513A (zh) 一种视频截图方法、装置、电子设备及存储介质
KR20090014754A (ko) 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
CN111680016A (zh) 分布式服务器集群日志数据处理方法、装置及系统
CN101682761A (zh) 进行时间最优化编码的系统和方法
CN113409803A (zh) 语音信号处理方法、装置、存储介质及设备
CN116193160A (zh) 一种数字水印嵌入方法、装置、设备和介质
KR100896335B1 (ko) 오디오 기반의 동영상 파일 중복 검사와 관리를 위한 시스템 및 방법
EP1811403A1 (en) Encoding device, encoding method, decoding device, decoding method, program, and machine-readable recording medium containing the program
CN104462422A (zh) 对象的处理方法及装置
CN111126003A (zh) 话单数据处理方法及装置
CN113111200A (zh) 审核图片文件的方法、装置、电子设备和存储介质
CN102833620B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170630