Невозможно воспроизвести видео в формате mpegdash, созданное с помощью эластичного транскодера amazon, в видеоигре - PullRequest
0 голосов
/ 07 ноября 2018

Я транскодировал несколько видео с помощью Amazon Elastic Transcoder, и я использую видео-видео также с wowza для некоторых живых видео. Когда я использую wowza с mpegdash, игроки работают нормально. Но когда я пытаюсь использовать мои транскодированные файлы с облачным фронтом, ничего не получается. Также я использовал пример со страницы видео, я получаю те же ошибки. Я думаю, что я делаю что-то не так с моими транскодированными файлами. Это образец моих транскодированных файлов https://d19cwas8lp55sz.cloudfront.net/archivos/1048/mpegDash/playlist.mpd Я использовал этот пример из видеоигры

Пример Videogular Dash Plugin

Я просто изменил источник, и у меня возникли те же проблемы, я не могу воспроизвести файл. У меня возникали некоторые проблемы cors, которые были решены после того, как я добавил ssl в свой дистрибутив облачного фронта и добавил $ sce.trustAsResourceUrl (), но у меня все еще возникают те же проблемы

Cannot play media. No decoders for requested formats: application/dash+xml

и

HTTP “Content-Type” of “application/dash+xml” is not supported. Load of media resource https://xxxxxxxxx/archivos/1053/mpegDash/playlist.mpd failed.

Я проверил заголовки моего дистрибутива облачного фронта с помощью curl и на данный момент, и они кажутся нормальными

Я использовал curl вот так

curl -H "origin: http://ramonaclient2.localdomain/" -v "https://xxxxxxxxxxx/archivos/1046/mpegDash/mpegDash0600k/2f79632dd95a45519d1ec09bc230aad3b824384d09edebd0e214aa07b9c0fc8b" 

Я делаю это на заголовках

access-control-allow-origin: *
access-control-allow-methods: GET, HEAD

Вот так я создаю свои задания для эластичного транскодера в моем java-приложении

CreateJobOutput mpegDashAudio = new CreateJobOutput()
                .withKey("mpegDashAudio/" + outputKey)
                .withPresetId(MPEG_DASH_128K_AUDIO_PRESET_ID)
                .withSegmentDuration(SEGMENT_DURATION);
        CreateJobOutput mpegDash0600k = new CreateJobOutput()
                .withKey("mpegDash0600k/" + outputKey)
                .withPresetId(MPEG_DASH_600K_PRESET_ID)
                .withSegmentDuration(SEGMENT_DURATION);
        CreateJobOutput mpegDash1200k = new CreateJobOutput()
                .withKey("mpegDash1200k/" + outputKey)
                .withPresetId(MPEG_DASH_1200K_PRESET_ID)
                .withSegmentDuration(SEGMENT_DURATION);
        CreateJobOutput mpegDash2400k = new CreateJobOutput()
                .withKey("mpegDash2400k/" + outputKey)
                .withPresetId(MPEG_DASH_2400K_PRESET_ID)
                .withSegmentDuration(SEGMENT_DURATION);
        CreateJobOutput mpegDash4800k = new CreateJobOutput()
                .withKey("mpegDash4800k/" + outputKey)
                .withPresetId(MPEG_DASH_4800K_PRESET_ID)
                .withSegmentDuration(SEGMENT_DURATION).withThumbnailPattern("thumbs/img-{resolution}-{count}");

1 Ответ

0 голосов
/ 14 ноября 2018

Это была скорее проблема облачного фронта

Мне просто нужно было добавить

<AllowedHeader>range</AllowedHeader> 
...