2016-02-17 5 views
1

Я стараюсь следовать этой статье: https://azure.microsoft.com/en-us/documentation/articles/media-services-custom-mes-presets-with-dotnet/#overlay.Как добавить наложение с помощью Media Encoder Standard

Каждый раз, когда я запускаю задание, возникает ответ: Ошибка: TransientSystem: произошла переходная ошибка. Приносим свои извинения за доставленные неудобства. Пожалуйста, попробуйте еще раз.

Это мой заказ заранее (я кладу также элемент Источники в конце из этого ответа: https://stackoverflow.com/a/34094014/5940469):

{ 
    "Version": 1.0, 
    "Codecs": [ 
    { 
     "KeyFrameInterval": "00:00:03", 
     "SceneChangeDetection": true, 
     "H264Layers": [ 
     { 
      "Profile": "High", 
      "Level": "4", 
      "Bitrate": 8500, 
      "MaxBitrate": 8500, 
      "BufferWindow": "00:00:05", 
      "Width": 1920, 
      "Height": 1080, 
      "BFrames": 3, 
      "ReferenceFrames": 3, 
      "AdaptiveBFrame": true, 
      "Type": "H264Layer", 
      "FrameRate": "0/1" 
     } 
     ], 
     "Type": "H264Video" 
    }, 
    { 
     "Profile": "AACLC", 
     "Channels": 2, 
     "SamplingRate": 48000, 
     "Bitrate": 192, 
     "Type": "AACAudio" 
    } 
    ], 
    "Outputs": [ 
    { 
     "FileName": "{Basename}_hi.mp4", 
     "Format": { 
     "Type": "MP4Format" 
     } 
    } 
    ], 
    "Sources": [ 
    { 
     "Streams": [ ], 
     "Filters": { 
     "VideoOverlay": { 
      "Position": { 
      "X": 100, 
      "Y": 100, 
      "Width": 100, 
      "Height": 106 
      }, 
      "AudioGainLevel": 0.0, 
      "MediaParams": [ 
      { 
       "OverlayLoopCount": 1 
      }, 
      { 
       "IsOverlay": true, 
       "OverlayLoopCount": 1, 
       "InputLoop": true 
      } 
      ], 
      "Source": "logo.jpg", 
      "Clip": { 
      "Duration": "00:00:05" 
      }, 
      "FadeInDuration": { 
      "Duration": "00:00:01" 
      }, 
      "FadeOutDuration": { 
      "StartTime": "00:00:03", 
      "Duration": "00:00:04" 
      } 
     } 
     }, 
     "Pad": true 
    } 
    ] 
} 

Без элемента Источники задания полного правильно.

Это код, который я использую для создания задания:

var job = context.Jobs.Create("New Job"); 
var processor = find the processor that has name "Media Encoder Standard"... 
var preset = readtextfromjson... 
var task = job.Tasks.AddNew("Video with overlay", processor, preset, TaskOptions.None); 
task.InputAssets.Add(videoAsset); 
task.InputAssets.Add(logoAsset); 
task.OutputAssets.AddNew("Output files", AssetCreationOptions.None); 
await job.SubmitAsync(); 
await job.GetExecutionProgressTask(cancellationToken); 

logoAsset имеет assetFile назвал "logo.jpg".

ответ

0

Использовать единый входной актив в это время. Поместите как логотип, так и видео в один и тот же актив. Убедитесь, что видеофайл установлен в основной файл в Asset.

Это известная проблема, что мы работаем над исправлением, чтобы разрешить поддержку отдельного «логотипа» Asset.

+0

Я пробовал, но он не работает. Такая же ошибка, как и раньше. – Alex

+0

Можете ли вы дать мне json, который будет работать на вас? – Alex

+0

Привет Алекс, Мы обнаружили две отдельные ошибки в компоненте наложения: 1. Код ошибка, что неправильно обработка предустановленных настроек, в результате чего некоторые задания закодировать к сбою 2. Неправильное обращение случая, когда оверлейное изображение находится в отдельном исходном активе Можете ли вы поделиться идентификатором задания вашего последнего сбоя, используемым центром обработки данных и ок. время провалилось? Затем мы можем подтвердить, что ваш код попадает в проблему №1. Инженер работает над исправлением, поскольку я пишу это ... Благодарим за ваше терпение! – johndeu

 Смежные вопросы

  • Нет связанных вопросов^_^