Невозможно создать водяной знак для нескольких видео за один раз с помощью службы мультимедиа Azure

Когда я вызываю один запрос водяного знака (закодировать на изображение на видео для одного видео), он работает нормально. Но когда я вызываю многократный запрос водяного знака (более 5 или 6 запросов), он выполняется нормально для всех видео, но не генерирует текст водяного знака на некоторых видео. Когда мы запускаем отображение водяного знака с одним запросом на видео, но когда мы запускаем несколько запросов, например, более 5 или 6 запросов с различным изображением водяного знака, все они выполняются параллельно, что в случайном порядке 2 видео не показывает водяной знак на видео., Хотя водяной знак успешно обрабатывается без какого-либо ошибка.

Мы использовали следующий код для создания оверлейного изображения на видео с помощью службы Azure Media.

Ссылочный URL: https://docs.microsoft.com/en-us/azure/media-services/media-services-advanced-encoding-with-mes

[ENCODING] ТИП БЛОКА РЕЗЕРВИРОВАНИЯ: Стандартный

КОДИРОВАНИЕ ЗАБРОНИРОВАННЫХ ЕДИНИЦ: {5}

[MEDIA PROCESSOR] ИМЯ МЕДИАПРОЦЕССОРА: Media Encoder Standard

ниже код:

статический public IAsset EncodeWithOverlay(IAsset assetSource, строка customPresetFileName) {

        // Declare a new job.
        IJob job = _context.Jobs.Create("Job "+OutputVideoPath);
        // Get a media processor reference, and pass to it the name of the 
        // processor to use for the specific task.
        IMediaProcessor processor = GetLatestMediaProcessorByName("Media Encoder Standard");

        // Load the XML (or JSON) from the local file.
        string configuration = customPresetFileName;

        // Create a task
        ITask task = job.Tasks.AddNew("Media Encoder Standard encoding task",
            processor,
            configuration,
            TaskOptions.None);

        // Specify the input assets to be encoded.
        // This asset contains a source file and an overlay file.
        task.InputAssets.Add(assetSource);

        // Add an output asset to contain the results of the job. 
        task.OutputAssets.AddNew("Output " + OutputVideoPath,
            AssetCreationOptions.None);

        job.StateChanged += new EventHandler<JobStateChangedEventArgs>(JobStateChanged);
        job.Submit();
        job.GetExecutionProgressTask(CancellationToken.None).Wait();


        return job.OutputMediaAssets[0];
    }

Предустановленные:

  {
  "Version": 1.0,
  "Sources": [
    {
      "Streams": [],
      "Filters": {
        "VideoOverlay": {
          "Position": {
            "X": 641,
            "Y": 15,
            "Width": 181,
            "Height": 29
          },
          "AudioGainLevel": 0.0,
          "MediaParams": [
            {
              "OverlayLoopCount": 1
            },
            {
              "IsOverlay": true,
              "OverlayLoopCount": 1,
              "InputLoop": true
            }
          ],
          "Source": "Sample Test.png",
          "FadeInDuration": {
            "Duration": "00:00:01"
          }
        }
      },
      "Pad": true
    }
  ],
  "Codecs": [
    {
      "KeyFrameInterval": "00:00:02",
      "H264Layers": [
        {
          "Profile": "Auto",
          "Level": "auto",
          "Bitrate": 460,
          "MaxBitrate": 460,
          "BufferWindow": "00:00:05",
          "Width": 960,
          "Height": 540,
          "BFrames": 3,
          "ReferenceFrames": 3,
          "AdaptiveBFrame": true,
          "Type": "H264Layer",
          "FrameRate": "0/1"
        },
        {
          "Profile": "Auto",
          "Level": "auto",
          "Bitrate": 240,
          "MaxBitrate": 240,
          "BufferWindow": "00:00:05",
          "Width": 640,
          "Height": 360,
          "BFrames": 3,
          "ReferenceFrames": 3,
          "AdaptiveBFrame": true,
          "Type": "H264Layer",
          "FrameRate": "0/1"
        }
      ],
      "Type": "H264Video"
    },
    {
      "Profile": "AACLC",
      "Channels": 2,
      "SamplingRate": 48000,
      "Bitrate": 128,
      "Type": "AACAudio"
    }
  ],
  "Outputs": [
    {
      "FileName": "{Basename}_{Width}x{Height}_{VideoBitrate}.mp4",
      "Format": {
        "Type": "MP4Format"
      }
    }
  ]
}

Нужна ваша помощь, чтобы решить эту проблему.

0 ответов

Другие вопросы по тегам