使用媒体转换设置段持续时间 将段及其初始化文件连接到完整的MP4资产探测新连接的文件以查看详细信息

问题描述

每次使用mp4(6秒视频)转换为破折号时,使用AWS媒体转换时,段持续时间约为30秒,但是如果它不超过1秒,我将不胜感激:

      <SegmentTemplate timescale="90000" duration="324000" startNumber="1"/>
      <Representation id="1" width="1280" height="720" bandwidth="72000000" codecs="avc1.4d4032">
        <SegmentTemplate media="5f8283b60a3ac3640191892_$Number%09d$.mp4" initialization="5f8283b60a3ac3640191892init.mp4" duration="324000" startNumber="1"/>
      </Representation>
      <Representation id="2" width="1920" height="1080" bandwidth="16200000" codecs="avc1.4d4029">
        <SegmentTemplate media="5f8283b60a3ac3640191891_$Number%09d$.mp4" initialization="5f8283b60a3ac3640191891init.mp4" duration="324000" startNumber="1"/>
      </Representation>
    </AdaptationSet>

我尝试弄乱工作设置,但似乎没做任何事情。有时我将时间降到10秒,但这仍然不是很好,无论如何,这是我使用的设置:

$jobSetting = [
      "OutputGroups"=> [
      [
        "CustomName"=> "nicenice","Name"=> "DASH ISO","Outputs"=> [
          [
            "ContainerSettings"=> [
              "Container"=> "MPD"
            ],"VideoDescription"=> [
              "Width"=> 1920,"ScalingBehavior"=> "DEFAULT","Height"=> 1080,"TimecodeInsertion"=> "DISABLED","AntiAlias"=> "ENABLED","Sharpness"=> 50,"CodecSettings"=> [
                "Codec"=> "H_264","H264Settings"=> [
                  "InterlaceMode"=> "PROGRESSIVE","NumberReferenceFrames"=> 3,"Syntax"=> "DEFAULT","Softness"=> 0,"GopClosedCadence"=> 1,"GopSize"=> 60,"Slices"=> 1,"GopBReference"=> "DISABLED","SlowPal"=> "DISABLED","SpatialAdaptiveQuantization"=> "ENABLED","TemporalAdaptiveQuantization"=> "ENABLED","FlickerAdaptiveQuantization"=> "DISABLED","EntropyEncoding"=> "CABAC","Bitrate"=> 16200000,"FramerateControl"=> "INITIALIZE_FROM_SOURCE","RateControlMode"=> "CBR","CodecProfile"=> "MAIN","Telecine"=> "NONE","MinIInterval"=> 0,"AdaptiveQuantization"=> "HIGH","CodecLevel"=> "AUTO","FieldEncoding"=> "PAFF","SceneChangeDetect"=> "ENABLED","QualityTuningLevel"=> "SINGLE_PASS","FramerateConversionAlgorithm"=> "DUPLICATE_DROP","UnregisteredSeiTimecode"=> "DISABLED","GopSizeUnits"=> "FRAMES","ParControl"=> "INITIALIZE_FROM_SOURCE","NumberBFramesBetweenReferenceFrames"=> 2,"RepeatPps"=> "DISABLED","DynamicSubGop"=> "STATIC"
                ]
              ],"AfdSignaling"=> "NONE","DropFrameTimecode"=> "ENABLED","RespondToAfd"=> "NONE","ColorMetadata"=> "INSERT"
            ],"NameModifier"=> "1"
          ],[
            "ContainerSettings"=> [
              "Container"=> "MPD"
            ],"VideoDescription"=> [
              "Width"=> 1280,"Height"=> 720,"Bitrate"=> 7200000,"NameModifier"=> "2"
          ],"AudioDescriptions"=> [
              [
                "AudioTypeControl"=> "FOLLOW_INPUT","AudioSourceName"=> "Audio Selector 1","CodecSettings"=> [
                  "Codec"=> "AAC","AacSettings"=> [
                    "AudioDescriptionBroadcasterMix"=> "NORMAL","Bitrate"=> 96000,"CodecProfile"=> "LC","CodingMode"=> "CODING_MODE_2_0","RawFormat"=> "NONE","SampleRate"=> 48000,"Specification"=> "MPEG4"
                  ]
                ],"LanguageCodeControl"=> "FOLLOW_INPUT"
              ]
            ],"NameModifier"=> "3"
          ]
        ],"OutputGroupSettings"=> [
          "Type"=> "DASH_ISO_GROUP_SETTINGS","DashIsoGroupSettings"=> [
            "SegmentLength"=> 1,"Destination"=> "s3://cactustestphp/videouploads/".$link . "/".$link,"FragmentLength"=> 2,"SegmentControl"=> "SEGMENTED_FILES","MpdProfile"=> "MAIN_PROFILE","HbbtvCompliance"=> "NONE"
          ]
        ]
      ]
    ],"AdAvailOffset"=> 0,"Inputs"=> [
      [
        "AudioSelectors"=> [
          "Audio Selector 1"=> [
            "Offset"=> 0,"DefaultSelection"=> "DEFAULT","ProgramSelection"=> 1
          ]
        ],"VideoSelector"=> [
          "ColorSpace"=> "FOLLOW","Rotate"=> "DEGREE_0","AlphaBehavior"=> "DISCARD"
        ],"FilterEnable"=> "AUTO","PsiControl"=> "USE_PSI","FilterStrength"=> 0,"DeblockFilter"=> "DISABLED","DenoiseFilter"=> "DISABLED","InputScanType"=> "AUTO","TimecodeSource"=> "ZEROBASED","FileInput"=> "s3://cactustestphp/videouploads/test/". $fileid
      ]
      ]
    ];

Json:

{
  "Queue": "!!","UserMetadata": {
    "Customer": "Amazon"
  },"Role": "!!","Settings": {
    "OutputGroups": [
      {
        "CustomName": "nicenice","Name": "DASH ISO","Outputs": [
          {
            "ContainerSettings": {
              "Container": "MPD"
            },"VideoDescription": {
              "Width": 3840,"ScalingBehavior": "DEFAULT","Height": 2160,"TimecodeInsertion": "DISABLED","AntiAlias": "ENABLED","Sharpness": 50,"CodecSettings": {
                "Codec": "H_264","H264Settings": {
                  "InterlaceMode": "PROGRESSIVE","NumberReferenceFrames": 3,"Syntax": "DEFAULT","Softness": 0,"FramerateDenominator": 1,"GopClosedCadence": 1,"GopSize": 30,"Slices": 1,"GopBReference": "DISABLED","SlowPal": "DISABLED","SpatialAdaptiveQuantization": "ENABLED","TemporalAdaptiveQuantization": "ENABLED","FlickerAdaptiveQuantization": "DISABLED","EntropyEncoding": "CABAC","Bitrate": 66200000,"FramerateControl": "SPECIFIED","RateControlMode": "CBR","CodecProfile": "MAIN","Telecine": "NONE","FramerateNumerator": 30,"MinIInterval": 0,"AdaptiveQuantization": "HIGH","CodecLevel": "AUTO","FieldEncoding": "PAFF","SceneChangeDetect": "ENABLED","QualityTuningLevel": "SINGLE_PASS","FramerateConversionAlgorithm": "DUPLICATE_DROP","UnregisteredSeiTimecode": "DISABLED","GopSizeUnits": "FRAMES","ParControl": "INITIALIZE_FROM_SOURCE","NumberBFramesBetweenReferenceFrames": 2,"RepeatPps": "DISABLED","DynamicSubGop": "STATIC"
                }
              },"AfdSignaling": "NONE","DropFrameTimecode": "ENABLED","RespondToAfd": "NONE","ColorMetadata": "INSERT"
            },"NameModifier": "1"
          },{
            "ContainerSettings": {
              "Container": "MPD"
            },"VideoDescription": {
              "Width": 1920,"Height": 1080,"Bitrate": 16200000,"NameModifier": "2"
          },"VideoDescription": {
              "Width": 1280,"Height": 720,"Bitrate": 5200000,"NameModifier": "3"
          },"VideoDescription": {
              "Width": 640,"Height": 360,"Bitrate": 1200000,"NameModifier": "4"
          },"VideoDescription": {
              "Width": 256,"Height": 144,"Bitrate": 200000,"NameModifier": "5"
          },"AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT","AudioSourceName": "Audio Selector 1","CodecSettings": {
                  "Codec": "AAC","AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL","Bitrate": 96000,"CodecProfile": "LC","CodingMode": "CODING_MODE_2_0","RawFormat": "NONE","SampleRate": 48000,"Specification": "MPEG4"
                  }
                },"LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],"NameModifier": "6"
          }
        ],"OutputGroupSettings": {
          "Type": "DASH_ISO_GROUP_SETTINGS","DashIsoGroupSettings": {
            "SegmentLength": 1,"Destination": "!!/videouploads/5fa1ababa7cea975176544/5fa1ababa7cea975176544","FragmentLength": 1,"SegmentControl": "SEGMENTED_FILES","MpdProfile": "MAIN_PROFILE","HbbtvCompliance": "NONE"
          }
        }
      }
    ],"AdAvailOffset": 0,"Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,"DefaultSelection": "DEFAULT","ProgramSelection": 1
          }
        },"VideoSelector": {
          "ColorSpace": "FOLLOW","Rotate": "DEGREE_0","AlphaBehavior": "DISCARD"
        },"FilterEnable": "AUTO","PsiControl": "USE_PSI","FilterStrength": 0,"DeblockFilter": "DISABLED","DenoiseFilter": "DISABLED","TimecodeSource": "ZEROBASED","FileInput": "!!/videouploads/test/5fa1ababa7cea975176544.mp4"
      }
    ]
  },"AccelerationSettings": {
    "Mode": "DISABLED"
  },"StatusUpdateInterval": "SECONDS_60","Priority": 0
}

那么,换句话说,要使我的段时长设置为1秒或更短,我需要更改什么?

解决方法

感谢您提供作业的JSON设置以供进一步检查。查看OutputGroupSettings,我可以看到您指定的SegmentLength值为1秒,因此生成的碎片MP4文件的长度应大约为1秒,以提供或占用几帧。

您如何确认生成的fMP4文件分别为30秒和10秒?确定此信息的最准确方法是将变体的初始化MP4与片段之一组合到一个单独的文件中,并使用Mediainfo或ffprobe等媒体检查器对其进行观察。我在一个可用的MP4文件上使用了您的作业设置,并确认生成的MP4段的长度为1秒:

将段及其初始化文件连接到完整的MP4资产

$ cat 5fa1ababa7cea9751765441init.mp4 >> 5fa1ababa7cea9751765441_concat.mp4 && cat 5fa1ababa7cea9751765441_000000001.mp4 >> 5fa1ababa7cea9751765441_concat.mp4

探测新连接的文件以查看详细信息

$ ffprobe -hide_banner -i 5fa1ababa7cea9751765441_concat.mp4
Input #0,mov,mp4,m4a,3gp,3g2,mj2,from '5fa1ababa7cea9751765441_concat.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1dash
    creation_time   : 2020-11-20T20:30:59.000000Z
  Duration: 00:00:01.03,start: 0.066667,bitrate: 7658 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661),yuv420p,3840x2160 [SAR 1:1 DAR 16:9],7648 kb/s,30 fps,30 tbr,90k tbn,60 tbc (default)
    Metadata:
      creation_time   : 2020-11-20T20:30:59.000000Z
      handler_name    : ETI ISO Video Media Handler
      encoder         : Elemental H.264

我很好奇您如何确定每个fMP4资产的最终使用期限,并且如果您还可以尝试上述步骤,是否可以尝试上述步骤。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...