Как получить метаданные из видеопотоков Amazon Kinesis через Video.js и http-streaming? - PullRequest
0 голосов
/ 25 декабря 2018

Сейчас я работаю на клиентской стороне Amazon Kinesis Video Streams, используя video.js и http-streaming для отображения видео.

Однако на потоковом сервере есть некоторые метаданные (только текст) длякаждый фрагмент (как эта ссылка: https://aws.amazon.com/about-aws/whats-new/2018/10/kinesis-video-streams-fragment-level-metadata-support/).

Я не знаю, как получить эти данные с помощью AWSJavaScriptSDK (Например: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/KinesisVideoMedia.html).

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

var kinesisvideomedia = new AWS.KinesisVideoMedia({
                    //apiVersion: '2017-09-30',
                    region: options.region,
                    accessKeyId: options.accessKeyId,
                    secretAccessKey: options.secretAccessKey,
                    endpoint: response.DataEndpoint
                });
                //  3.  Create the parameters for getMedia()
                var mopts = {
                    StartSelector: {
                        StartSelectorType: 'EARLIEST'
                    },
                    StreamName: streamName
                };
                kinesisvideomedia.getMedia(mopts, function (error, vmresp) {
                    if (error) {
                        console.log(error);
                    }
                    //console.log(vmresp);
                });

Большое спасибо за любую поддержку!

1 Ответ

0 голосов
/ 03 января 2019

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

Что касается метаданных на уровне фрагментов, вам необходимопроанализировать полезную нагрузку ответа, например, как в в этом примере , используя библиотеку анализатора видеопотоков

...