AWS Elemental MediaConvert: файл mov не поддерживается - PullRequest
1 голос
/ 03 апреля 2019

Я хочу наложить фильм (.mov) поверх другого фильма (.mp4), используя AWS Elemental MediaConvert.

Я загрузил один файл .mov и один файл .mp4 в S3, оба имеют одинаковые размеры.

В AWS Elemental MediaConvert я создал задание:

  • Ввод: файл .mp4
  • Вставка движущегося изображения: файл .mov
  • Выходным файлом будет файл mp4

Результат: задание не выполнено, сообщение об ошибке:

MGILoaderMOV [s3://test/overlay.mov] file contains unsupported pixel format.

Файл .mov работает нормально, потому что я могу воспроизводить его со своего ноутбука, IAM включает в себя Полный доступ к ресурсам Amazon S3.

Любое предложение приветствуется

***** Подробнее *****

@ Tiziano Coroneo, я получил новый overlay.mov (преобразованный из FFmpeg, размерность (450x450)). Я настроил вывод, как показано ниже:

  • Препроцессоры: прямоугольник обрезки ввода X (100), Y (100), ширина (450), высота (450)

Задание выполнено успешно, но вывод не включает наложение.

    {
  "Queue": "arn:aws:mediaconvert:yyyyyyy:xxxxxxxx:queues/Default",
  "UserMetadata": {},
  "Role": "arn:aws:iam::xxxxxxxxxxxxx:role/my_media_role",
  "Settings": {
    "OutputGroups": [
      {
        "Name": "File Group",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "MP4",
              "Mp4Settings": {
                "CslgAtom": "INCLUDE",
                "FreeSpaceBox": "EXCLUDE",
                "MoovPlacement": "PROGRESSIVE_DOWNLOAD"
              }
            },
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "Crop": {
                "Height": 450,
                "Width": 450,
                "X": 100,
                "Y": 100
              },
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 1000000,
                  "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"
            },
            "Extension": ".mp4",
            "NameModifier": "overlay_video"
          }
        ],
        "OutputGroupSettings": {
          "Type": "FILE_GROUP_SETTINGS",
          "FileGroupSettings": {
            "Destination": "s3://XXXXXXX/files/"
          }
        }
      }
    ],
    "AdAvailOffset": 0,
    "MotionImageInserter": {
      "InsertionMode": "MOV",
      "Input": "s3://XXXXXXX/converted_overlay.mov",
      "Offset": {
        "ImageX": 0,
        "ImageY": 0
      },
      "Playback": "ONCE"
    },
    "Inputs": [
      {
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://XXXXXXX/sample_video.mp4"
      }
    ]
  },
  "StatusUpdateInterval": "SECONDS_60"
}

1 Ответ

0 голосов
/ 09 апреля 2019

После некоторых проб и ошибок я обнаружил, что существует требование, чтобы файл оверлейной графики был в пиксельном формате argb.

В сообщении об ошибке здесь сообщается, что у вашего файла mov естьдругой формат пикселей.Если на вашем компьютере установлено ffmpeg, вы можете выполнить следующую команду для преобразования вашего файла в правильный формат:

ffmpeg -i your_input_file.mov -sn -dn -an -vcodec qtrle -pix_fmt argb -f mov your_output_file.mov
  • -i - указать входной файл,
  • -sn удаляет любую дорожку субтитров
  • -dn удаляет любую дорожку данных
  • -an удаляет любую звуковую дорожку
  • -vcodec qtrle sets "Quicktime Animation"в качестве кодека
  • -pix_fmt argb устанавливает argb в качестве формата данных пикселей
  • -f mov устанавливает mov в качестве типа контейнера выходного файла.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...