1

如果单独完成而不是作为单个配置文件/作业的一部分,转码作业花费的时间会成倍增加。

首先,使用配置文件对一段内容的 5 个或更多版本进行转码,注意总转码时间。其次,将原始配置文件中的每个版本分解为单个转码作业,并注意每个单独花费的时间,将它们全部加起来,然后与作为一个整体/单个配置文件完成第一个工作所花费的时间进行比较。我看到转码时间增加了 2-3 倍。

作业配置 { "config": { "elementaryStreams": [ { "key": "360p1-125kbps-h264", "videoStream": { "codec": "h264", "profile": "high", "preset" :“慢”,“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": { "codec": "h264", "profile": "high", "preset":“慢”,“widthPixels”:640,“heightPixels”:360,“frameRate”:29.97,“pixelFormat”:“yuv420p”,“bitrateBps”:250000,“rateControlMode”:“vbr”,“enableTwoPass”:true, “gopDuration”:“4s”,“allowOpenGop”:真,“entropyCoder”:“cabac”,“bFrameCount”:3,“bPyramid”:真}},{“key”:“480p1-400kbps-h264”,“ videoStream": { "codec": "h264", "profile": "high", "preset": "slow", "widthPixels": 854, "heightPixels": 480, "frameRate": 29.97, "pixelFormat": “yuv420p”,“bitrateBps”:400000,“rateControlMode”:“vbr”,“enableTwoPass”:真,“gopDuration”:“4s”,“allowOpenGop”:真,“entropyCoder”:“cabac”,“bFrameCount”:3,“bPyramid”:真 } },{“key”:“480p2-800kbps -h264”,“videoStream”:{“codec”:“h264”,“profile”:“high”,“preset”:“slow”,“widthPixels”:854,“heightPixels”:480,“frameRate”:29.97 ,“pixelFormat”:“yuv420p”,“bitrateBps”:800000,“rateControlMode”:“vbr”,“enableTwoPass”:真,“gopDuration”:“4s”,“allowOpenGop”:真,“entropyCoder”:“cabac” , "bFrameCount": 3, "bPyramid": true } }, { "key": "720p-1600kbps-h264", "videoStream": { "codec": "h264", "profile": "high", "preset": "slow", "widthPixels": 1280, "heightPixels": 720, "frameRate “:29.97,“pixelFormat”:“yuv420p”,“bitrateBps”:1600000,“rateControlMode”:“vbr”,“enableTwoPass”:真,“gopDuration”:“4s”,“allowOpenGop”:真,“entropyCoder”: "cabac", "bFrameCount": 3, "bPyramid": true } }, { "key": "720p-2500kbps-h264", "videoStream": { "codec": "h264", "profile": "high ", "预设": "慢", "widthPixels": 1280, "heightPixels": 720, "frameRate”:29.97,“pixelFormat”:“yuv420p”,“bitrateBps”:2500000,“rateControlMode”:“vbr”,“enableTwoPass”:真,“gopDuration”:“4s”,“allowOpenGop”:真,“entropyCoder” : "cabac", "bFrameCount": 3, "bPyramid": true } }, { "key": "1080p-5500kbps-h264", "videoStream": { "codec": "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”,“容器”:“mp4”,“elementaryStreams”:[“360p2-250kbps- h264" ] }, { "key": "460p1-400kbps-h264", "container": "mp4", "elementaryStreams": [ "480p1-400kbps-h264" ] }, { "key": "460p2-800kbps -h264”、“容器”:“mp4”、“elementaryStreams”:[“480p2-800kbps-h264”]}、{“key”:“720p-1600kbps-h264”、“容器”:“mp4”,“elementaryStreams”:[“720p-1600kbps-h264”]},{“key”:“720p-2500kbps-h264”,“容器”:“mp4”,“elementaryStreams”:[“720p -2500kbps-h264" ] }, { "key": "1080p-5500kbps-h264", "container": "mp4", "elementaryStreams": [ "1080p-5500kbps-h264" ] } ] } }

4

1 回答 1

1

这种行为按预期工作,主要是因为许多作业完成了大量重复工作(因此下载输入文件和我们管道的其他部分等事情需要发生多次而不是一次),并且在内部为许多作业安排转码将很可能永远不会那么快。

Transcoder API 并行处理转码(我们称之为分区处理。将长输入文件划分为多个分区,并并行处理每个分区(默认为 2 分钟长视频)),无论您的配置是 1 个基本流还是 10 个基本流。

回到你原来的问题:1 个工作有 10 个基本流与 10 个工作每个有 1 个基本流。它们都在分区处理(并行转码)中处理,但是,10 个作业,每个作业有 1 个基本流,每个作业执行大量重复任务,因此如果简单地将时间加在一起,最终需要更长的时间才能完成。

于 2021-08-23T18:17:14.517 回答