CN114501025A - 一种视频转码方法、装置、设备及介质 - Google Patents

一种视频转码方法、装置、设备及介质 Download PDF

Info

Publication number
CN114501025A
CN114501025A CN202210043875.4A CN202210043875A CN114501025A CN 114501025 A CN114501025 A CN 114501025A CN 202210043875 A CN202210043875 A CN 202210043875A CN 114501025 A CN114501025 A CN 114501025A
Authority
CN
China
Prior art keywords
video
target
parameters
data
transcoding
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
CN202210043875.4A
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202210043875.4A priority Critical patent/CN114501025A/zh
Publication of CN114501025A publication Critical patent/CN114501025A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching

Landscapes

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

Abstract

本申请公开了一种视频转码方法、装置、设备及介质,涉及视频处理技术领域,该方法包括:通过视频解码器获取待转码源视频,并对待转码源视频进行解码以得到解码后源视频数据;基于目标输出路数确定出相应数量的视频编码器作为目标视频编码器,并通过数据分发器将解码后源视频数据分别发送至每个目标视频编码器;每个目标视频编码器中均预先设置相应的视频参数,并且,所有目标视频编码器对应的视频参数中包含多种不同的视频参数;通过目标视频编码器并基于自身的视频参数对接收到的解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。通过上述方案能够在转码过程中一路输入多路输出从而实现特定应用场景的灵活转码。

Description

一种视频转码方法、装置、设备及介质
技术领域
本发明涉及视频处理技术领域,特别涉及一种视频转码方法、装置、设备及介质。
背景技术
随着互联网的兴起,越来越多视频社交、视频直播、短视频播放等视频应用场景大规模兴起。视频整个播放场景中,会涉及生产者编码、封装操作处理,服务端传输、转码、分发等操作处理以及消费者解封装、解码等操作处理。一些情况下,生产者的编码能力与消费者的解码能力不相匹配,如生产者编码设备支持的编码格式与消费者解码设备支持的解码格式不一致,再如生产者编码设备编码的分辨率大小与消费者解码设备解码的分辨率大小不一致,消费者需要先将从服务端获取的视频数据做一些转换处理才能用于播放,此操作对播放端的设备性能要求比较高,并且不是所有消费者的设备都能支持该转换操作的;其他一些情况下,如消费者网络带宽比较低,播放能力比较差等等情况下,为了保证下行用户的观看体验,基于消费者设备能力不够统一的问题和不能过多消耗消费者运行能力的问题,转码操作一般放在服务端进行,服务端的转码操作会导致生产者和消费者之间的播放延迟,一般通过硬件加速方案来缩小该延迟。
然而,大多数转码卡只能实现一路原始分辨率输入四路降分辨率输出的情况,不能实现多路输出的情况,而实际应用中会有降分辨率,降码率等应用场景,需要实现一路输入转码多路输出。综上,在视频转码应用场景中存在无法多路输出与无法灵活转码成特定视频参数的问题有待进一步解决。
发明内容
有鉴于此,本发明的目的在于提供一种视频转码方法、装置、设备及介质,可以通过转码卡在转码过程中一路输入多路输出从而实现在特定应用场景中的灵活转码。其具体方案如下:
第一方面,本申请公开了一种视频转码方法,应用于转码卡,所述转码卡包括视频解码器、数据分发器和视频编码器,其中,所述方法包括:
通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据;
基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数;
通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
可选的,所述通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据,包括:
通过硬件视频解码器获取待转码源视频,并对所述待转码源视频进行硬件解码以得到解码后源视频数据。
可选的,所述基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器,包括:
基于目标输出路数确定出相应数量的硬件视频编码器作为目标硬件视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标硬件视频编码器;
相应的,所述通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频,包括:
通过所述目标硬件视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
可选的,还包括:
基于ffmpeg框架中的过滤器构建所述数据分发器。
可选的,所述基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,包括:
基于预设的最大输出路数确定出所述目标输出路数;
基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数。
可选的,所述基于预设的最大输出路数确定出所述目标输出路数,包括:
将预设的最大输出路数确定为所述目标输出路数。
可选的,所述分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数,包括:
分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频分辨率、视频码率和视频编码格式。
第二方面,本申请公开了一种视频转码装置,应用于转码卡,所述转码卡包括视频解码器、数据分发器和视频编码器,其中,所述视频转码装置,包括:
视频解码模块,用于通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据;
数据分发模块,用于基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数;
视频编码模块,用于通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的所述的视频转码方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的所述的视频转码方法的步骤。
本申请在进行视频转码时,先通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据,并基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数,最后通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。可见,在本申请进行视频转码时,通过数据分发器将解码后的源视频数据多路分发,并分发至每路所绑定的视频编码器进行编码,其中分发的路数最大可至预设的最大输出路数,并且,通过对每一路预先绑定对应的视频编码器,并对视频编码设备进行初始化以在每个视频编码器中设置对应视频参数从而得到多种视频参数对应的输出视频。由此,本申请中的视频转码能够有效地将生产者的源视频通过转码卡进行一路输入,多路多种视频参数输出,可以灵活的适应消费者对所要播放视频的视频参数的要求,从而解决了无法多路输出与无法根据特定应用场景灵活转码成特定视频参数的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种视频转码方法流程图;
图2为本申请提供的一种具体的视频转码方法流程图;
图3为本申请提供的一种转码卡的结构图;
图4为本申请提供的一种具体的视频转码方法示意图;
图5为本申请提供的一种视频转码装置结构示意图;
图6为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在目前大多数转码卡只能实现一路原始分辨率输入四路降分辨率输出的情况,不能实现多路输出的情况,而实际应用中会有降分辨率,降码率等应用场景,需要实现一路输入转码多路输出。为此,本申请提供了一种视频转码方法能够有效解决在视频转码应用场景中的无法多路输出与无法灵活转码成特定视频参数的问题。
本发明实施例公开了一种视频转码方法,参见图1所示,该方法包括:
步骤S11:通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据。
在本实施例中,所述待转码源视频指的是生产者输出的源视频文件,视频解码器获取其生产的待转码源视频,并通过视频解码器对上述待转码源视频进行解码,以得到解码后的源视频数据。可以理解的是,生产者的编码设备编码的分辨率大小不统一,由此其待转码源视频的视频参数为与生产者的设备相对应的,通过将生产者的待转码源视频一路输入至本实施例中转码卡内的视频解码器中,并对其进行解码操作,并生成解码后的源视频数据,以便于后续对解码后的源视频数据进行不同对应视频参数的编码以及多路输出。
步骤S12:基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数。
在本实施例中,基于预设的最大输出路数确定出所述目标输出路数。其中,预设最大输出路数为预先设定的所述转码卡能输出的最大的输出路数。可以理解的是,预设最大输出路数为根据实际需求确定的或者根据该转码卡的性能确定的,当转码过程中需求量超过上述转码所能输出的最大输出路数时,可以采用多卡并列的方式,使用多卡至今进行数据处理。也即,当单卡性能达到瓶颈的时候,协调多卡联动可以有效满足一路输入转多路输出的核心需求。反之,当转码过程中需求量小于上述转码卡的预设的最大输出路数时,为保证转码效率以及资源不浪费,则根据需求确定出所述目标输出路数,其中上述目标输出路数小于预设最大输出路数。
在一种具体实施方式中,将预设的最大输出路数确定为所述目标输出路数。也即,直接采用预设的最大输出路数为目标输出路数。通过上述方案可以直接进行视频转码,减少了确定目标输出路数的步骤,加快了视频转码的进程。相应的,基于预设的最大输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数。
在本实施例中,首先需要基于ffmpeg框架中的过滤器构建所述数据分发器。首先增加数据分发模块,在解码输入时,实现根据最大输出路数进行数据分发功能,其数据分发器输出接口对应视频编码器的入口,为编码输入做准备。在本实施例中,该模块可以使用指针引用技术,从而避免造成内存增长。在编码之前初始化数据分发模块,其核心代码如下:
Figure BDA0003471386090000061
filter_frame()函数为数据的输入入口。其内部的核心实现是ff_filter_frame()函数根据最大输出路数的循环调用,改函数的作用是,数据分发之后的输出。接着进行数据分发器接口的绑定。数据分发器数据出口借用ffmepg通用filter buffersink。数据分发器的本质是ffmpeg框架的一个filter,经过数据分发器分发处理之后,多路数据数据需要通过多个buffersink输出。其核心代码如下:
Figure BDA0003471386090000071
其中filter_graph是filter的关系结构体。在本实施例中,基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数。分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频分辨率、视频码率和视频编码格式。
步骤S13:通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
在本实施例中,视频编码器从数据分发模块中获取上一步骤中多路输出的解码后源视频数据进行编码与封装处理,其核心代码如下:
for(int i=0;i<nb_spliters;i++){
ret=av_buffersink_get_frame(buffersink_ctx[i],filtered_frame);
}
其中,在获取多路数据之后,即可分别调用对应的视频编码器,实现多路输出对应视频参数的目标输出视频的效果。可以理解的是,通过对应的目标视频编码器的预设视频参数来控制输出目标视频的视频参数,并且可以通过特定应用场景的需要来进行目标视频编码器的对应视频参数的设置。
可见,在本实施例在进行视频转码时,通过数据分发器将解码后的源视频数据多路分发,并分发至每路所绑定的视频编码器进行编码,其中分发的路数最大可至预设的最大输出路数,并且,通过对每一路预先绑定对应的视频编码器,并对视频编码设备进行初始化以在每个视频编码器中设置对应视频参数从而得到多种视频参数对应的输出视频。由此,本申请中的视频转码能够有效地将生产者的源视频通过转码卡进行一路输入,多路多种视频参数输出,可以灵活的适应消费者对所要播放视频的视频参数的要求,从而解决了无法多路输出与无法根据特定应用场景灵活转码成特定视频参数的问题。
参见图2所示,本发明实施例公开了一种具体的视频转码方法,相对于上一实施例,本实施例对技术方案作了进一步说明和优化。
步骤S21:通过硬件视频解码器获取待转码源视频,并对所述待转码源视频进行硬件解码以得到解码后源视频数据。
步骤S22:基于目标输出路数确定出相应数量的硬件视频编码器作为目标硬件视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标硬件视频编码器。
步骤S23:通过所述目标硬件视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
在本实施例中,通过如图3所示的转码卡结构图,通过硬件视频解码器对待转码源视频进行解码,通过数据分发器对加码后源视频数据进行多路分发,并通过硬件视频编码器对接收到的解码后源视频数据进行编码与封装处理。
在本实施例中,视频转码示意图如图4所示,首先生产者输出待转码源视频,转码卡接收输入的待转码源视频文件,通过硬件视频解码器对待转码源视频进行解码,以得到解码后的待转码源视频,并通过数据分发器对解码后的待转码源视频进行数据分发,将上述解码后的待转码源视频分发至硬件视频编码器中,通过硬件视频编码器对上述解码后的待转码源视频进行对应视频参数的编码操作,以得到多个具有相应视频参数的目标输出视频,并将其输出。可以理解的是,通过对应的目标视频编码器的预设视频参数来控制输出目标视频的视频参数,并且可以通过特定应用场景的需要来进行目标视频编码器的对应视频参数的设置。例如,可以输出与待转码源视频对应的原分辨率目标输出视频、降分辨率目标输出视频、降码率目标输出视频以及不同编码格式的目标输出视频。
可见,在本实施例中,通过硬件视频解码器对待转码源视频进行解码,并通过硬件视频编码器对接收到的解码后源视频数据进行编码与封装处理。其中,硬件编码与解码不同于软件编码与解码会消耗大量的CPU(即central processing unit,中央处理器)资源,而是在GPU(即graphics processing unit,图形处理器)上执行,从而能够降低CPU的工作负荷,降低功耗;另一方面,硬件解码器播放出来的视频较为流畅,并且能够延长移动设备播放视频的时间。
参见图5所示,本申请实施例公开了一种视频转码装置,包括:
视频解码模块11,用于通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据;
数据分发模块12,用于基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数;
视频编码模块13,用于通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
可见,在本实施例在进行视频转码时,通过数据分发器将解码后的源视频数据多路分发,并分发至每路所绑定的视频编码器进行编码,其中分发的路数最大可至预设的最大输出路数,并且,通过对每一路预先绑定对应的视频编码器,并对视频编码设备进行初始化以在每个视频编码器中设置对应视频参数从而得到多种视频参数对应的输出视频。由此,本申请中的视频转码能够有效地将生产者的源视频通过转码卡进行一路输入,多路多种视频参数输出,可以灵活的适应消费者对所要播放视频的视频参数的要求,从而解决了无法多路输出与无法根据特定应用场景灵活转码成特定视频参数的问题。
在一些具体实施例中,视频解码模块11,具体包括:
硬件视频解码单元,用于通过硬件视频解码器获取待转码源视频,并对所述待转码源视频进行硬件解码以得到解码后源视频数据。
在一些具体实施例中,视频编码模块13,具体包括:
硬件视频编码单元,用于通过所述目标硬件视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
在一些具体实施例中,所述视频转码装置还包括:
数据分发器侯建模块,用于基于ffmpeg框架中的过滤器构建所述数据分发器。
在一些具体实施例中,数据分发模块12,具体包括:
目标输出路数确定单元,用于基于预设的最大输出路数确定出所述目标输出路数;
视频参数设置单元,用于基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数。
图6所示为本申请实施例提供的一种电子设备20。该电子设备20,具体还可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的视频转码方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源储存的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221,计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的视频转码方法的计算机程序外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
可见,在本实施例进行视频转码时,通过数据分发器将解码后的源视频数据多路分发,并分发至每路所绑定的视频编码器进行编码,其中分发的路数最大可至预设的最大输出路数,并且,通过对每一路预先绑定对应的视频编码器,并对视频编码设备进行初始化以在每个视频编码器中设置对应视频参数从而得到多种视频参数对应的输出视频。由此,本申请中的视频转码能够有效地将生产者的源视频通过转码卡进行一路输入,多路多种视频参数输出,可以灵活的适应消费者对所要播放视频的视频参数的要求,从而解决了无法多路输出与无法根据特定应用场景灵活转码成特定视频参数的问题。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的视频转码方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种视频转码方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种视频转码方法,其特征在于,应用于转码卡,所述转码卡包括视频解码器、数据分发器和视频编码器,其中,所述方法包括:
通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据;
基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数;
通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
2.根据权利要求1所述的视频转码方法,其特征在于,所述通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据,包括:
通过硬件视频解码器获取待转码源视频,并对所述待转码源视频进行硬件解码以得到解码后源视频数据。
3.根据权利要求1所述的视频转码方法,其特征在于,所述基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器,包括:
基于目标输出路数确定出相应数量的硬件视频编码器作为目标硬件视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标硬件视频编码器;
相应的,所述通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频,包括:
通过所述目标硬件视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
4.根据权利要求1所述的视频转码方法,其特征在于,还包括:
基于ffmpeg框架中的过滤器构建所述数据分发器。
5.根据权利要求1至4任一项所述的视频转码方法,其特征在于,所述基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,包括:
基于预设的最大输出路数确定出所述目标输出路数;
基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数。
6.根据权利要求5所述的视频转码方法,其特征在于,所述基于预设的最大输出路数确定出所述目标输出路数,包括:
将预设的最大输出路数确定为所述目标输出路数。
7.根据权利要求5所述的视频转码方法,其特征在于,所述分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频参数,包括:
分别对每个所述目标视频编码器进行初始化,以在每个所述目标视频编码器中设置相应的视频分辨率、视频码率和视频编码格式。
8.一种视频转码装置,其特征在于,应用于转码卡,所述转码卡包括视频解码器、数据分发器和视频编码器,其中,所述视频转码装置,包括:
视频解码模块,用于通过所述视频解码器获取待转码源视频,并对所述待转码源视频进行解码以得到解码后源视频数据;
数据分发模块,用于基于目标输出路数确定出相应数量的所述视频编码器作为目标视频编码器,并通过所述数据分发器将所述解码后源视频数据分别发送至每个所述目标视频编码器;每个所述目标视频编码器中均预先设置相应的视频参数,并且,所有所述目标视频编码器对应的视频参数中包含多种不同的视频参数;
视频编码模块,用于通过所述目标视频编码器并基于自身的视频参数对接收到的所述解码后源视频数据进行编码与封装处理,以得到多个具有相应视频参数的目标输出视频。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的视频转码方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的视频转码方法的步骤。
CN202210043875.4A 2022-01-14 2022-01-14 一种视频转码方法、装置、设备及介质 Pending CN114501025A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210043875.4A CN114501025A (zh) 2022-01-14 2022-01-14 一种视频转码方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210043875.4A CN114501025A (zh) 2022-01-14 2022-01-14 一种视频转码方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114501025A true CN114501025A (zh) 2022-05-13

Family

ID=81512153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210043875.4A Pending CN114501025A (zh) 2022-01-14 2022-01-14 一种视频转码方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114501025A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115866248A (zh) * 2022-11-08 2023-03-28 格兰菲智能科技有限公司 视频转码方法、装置、计算机设备、存储介质
CN117395437A (zh) * 2023-12-11 2024-01-12 沐曦集成电路(南京)有限公司 一种基于异构计算的视频编解码方法、装置、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115866248A (zh) * 2022-11-08 2023-03-28 格兰菲智能科技有限公司 视频转码方法、装置、计算机设备、存储介质
CN115866248B (zh) * 2022-11-08 2024-01-19 格兰菲智能科技有限公司 视频转码方法、装置、计算机设备、存储介质
CN117395437A (zh) * 2023-12-11 2024-01-12 沐曦集成电路(南京)有限公司 一种基于异构计算的视频编解码方法、装置、设备及介质
CN117395437B (zh) * 2023-12-11 2024-04-05 沐曦集成电路(南京)有限公司 一种基于异构计算的视频编解码方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
TW574831B (en) Generalized reference decoder for image or video processing
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CN114501025A (zh) 一种视频转码方法、装置、设备及介质
US20100226441A1 (en) Frame Capture, Encoding, and Transmission Management
CN107634930B (zh) 一种媒体数据的获取方法和装置
CN105577819B (zh) 一种虚拟化桌面的分享系统、分享方法以及分享装置
CN102882829A (zh) 一种转码方法及系统
CN102802024A (zh) 在服务器端实现的转码方法以及转码系统
CN111885346B (zh) 一种画面码流合成方法、终端、电子设备和存储介质
EP2622507A2 (en) Entropy coder for image compression
CN111629214A (zh) 视频文件的转码方法、装置、设备和介质
TWI345402B (en) Method and apparatus for signaling transmission code set in data broadcasting
CN111163335B (zh) 一种分布式服务器的视频处理方法及装置
CA2736377A1 (en) Method and apparatus for providing rich media service
CN105323593A (zh) 一种多媒体转码调度方法和装置
CN109743643B (zh) 楼宇对讲系统的处理方法及装置
CN114356465A (zh) 桌面云系统以及相关方法、装置、设备、介质
WO2023130896A1 (zh) 媒体数据的数据处理方法、装置、计算机设备及存储介质
US7554989B2 (en) Real time optimization over a shared communication channel
CN115767149A (zh) 一种视频数据的传输方法和装置
CN105338371A (zh) 一种多媒体转码调度方法和装置
US20190227866A1 (en) Information processing device and method
CN115022725A (zh) 一种视频播放方法和装置
US8233535B2 (en) Region-based processing of predicted pixels
WO2016107174A1 (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