与单个配置文件/作业的一部分相比,单独完成代码转换作业所需的时间要长出指数级。
首先,使用配置文件对一段内容的5个或更多版本进行转码,记录总转码时间。其次,将原始配置文件中的每个版本分解为单个转码作业,并注意每个转码作业分别花费的时间,将它们全部相加,然后与作为整个/单个配置文件完成第一个作业所需的时间进行比较。我看到转码时间增加了2-3倍。
作业配置{ " Config ":{ "elementaryStreams":{ "key":"360p1-125kbps-h264","videoStream":{“编解码器”:"h264","profile":“高”,"preset":"slow","widthPixels":640,"heightPixels":360,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":125000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"360p2-250kbps-h264","videoStream":{“编解码器”:"h264","profile":"high","preset":"slow","widthPixels":640,"heightPixels":360,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":250000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"480p1-400kbps-h264","videoStream":{“编解码器”:"h264","profile":“高”,“预设”:"slow","widthPixels":854,"heightPixels":480,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":400000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"480p2-800kbps-h264","videoStream":{“编解码器”:"h264","profile":"high","preset":"slow","widthPixels":854,"heightPixels":480,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":800000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"720p-1600kbps-h264","videoStream":{“编解码器”:"h264","profile":“高”,"preset":"slow","widthPixels":1280,"heightPixels":720,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":1600000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"720p-2500kbps-h264","videoStream":{“编解码器”:"h264","profile":“高”,“预置”:"slow","widthPixels":1280,"heightPixels":720,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":2500000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },{ "key":"1080p-5500kbps-h264","videoStream":{“编解码器”:"h264","profile":"high","preset":"slow","widthPixels":1920,"heightPixels":1080,"frameRate":29.97,"pixelFormat":"yuv420p","bitrateBps":5500000,"rateControlMode":"vbr","enableTwoPass":true,"gopDuration":"4s","allowOpenGop":true,"entropyCoder":"cabac","bFrameCount":3,"bPyramid":true } },"muxStreams":[{ "key":"360p1-125kbps-h264","container":"mp4","elementaryStreams":"360p1-125kbps-h264“},{ "key":"360p2-250kbps-h264","container":"mp4","elementaryStreams":"360p2-250kbps-h264“},{ "key":"460p1-400kbps-h264","container":"mp4","elementaryStreams":"480p1-400kbps-h264”},{ "key":"460p2-800kbps-h264","container":"mp4","elementaryStreams":"480p2-800kbps-h264“},{ "key":"720p-1600kbps-h264","container":"mp4","elementaryStreams":"720p-1600kbps-h264“},{ "key":"720p-2500kbps-h264","container":"mp4","elementaryStreams":"720p-2500kbps-h264”},{ "key":"1080p-5500kbps-h264","container":"mp4","elementaryStreams":"1080p-5500kbps-h264“}
发布于 2021-08-23 18:17:15
这种行为之所以能像预期的那样工作,主要是因为有很多重复的工作(所以像下载输入文件和流水线的其他部分这样的事情需要多次而不是一次),而且在内部为许多作业安排代码转换也很可能永远不会那么快。
转码器API并行处理转码(我们称之为分区处理)。将长输入文件划分为多个分区,并并行处理每个分区(默认情况下为2分钟长的视频),无论您的配置是1个基本流还是10个基本流。
回到你原来的问题:1个作业,10个基本流vs. 10个作业,每个作业1个基本流。它们都是在分区处理(并行转码)中处理的,但是,每个作业有10个作业,每个作业有1个基本流,每个作业会做大量重复的任务,因此如果简单地将时间加在一起,最终需要更长的时间才能完成。
https://stackoverflow.com/questions/68897244
复制相似问题