@ken Мы поддерживаем и AppSecret, и Tokens в swagger ( http://imfpush.ng.bluemix.net/imfpush/ ). Для новых созданных экземпляров не будет никакого AppSecret, так как это экземпляры на основе IAM. И нет другого пути, кроме токен-аутентификации. Эти экземпляры, созданные до июня 2018 года, будут работать с Appsecret. Но новые экземпляры будут работать только с токеном IAM. Это введено для лучшей безопасности. Пожалуйста, обратитесь к нашим примечаниям к выпуску для того же https://console.bluemix.net/docs/services/mobilepush/release-notes.html#release-notes . Чтобы узнать больше о реализации IAM в службе push-уведомлений, обратитесь к https://console.bluemix.net/docs/services/mobilepush/push_iam.html#service-access-management . См. Вопрос 21 в нашем разделе часто задаваемых вопросов https://console.bluemix.net/docs/services/mobilepush/push_faq.html#faq , чтобы узнать, как извлечь токен и использовать его.
Относительно Swagger введено новое поле авторизации для отправки токена IAM. Либо поле Авторизация, либо appSecret является обязательным.
Пожалуйста, обратитесь к серверу SDK ( https://github.com/ibm-bluemix-mobile-services/bms-pushnotifications -serversdk-java ) файл readme, в котором клиент должен инициализировать Push с помощью ApiKey для нового экземпляра push, который IAM-токен автоматически генерирует методом инициализации.
PushNotifications.initWithApiKey("YOUR_APPLICATION_ID", "YOUR-BLUEMIX-PUSH-APIKEY", PushNotifications.US_SOUTH_REGION);
Образец
public static void main(String[] args) {
PushNotifications.initWithApiKey("appId", "APIKey", PushNotifications.US_SOUTH_REGION);
Message message = new Message.Builder().alert("20% Off Offer for you").url("www.ibm.com").build();
String [] deviceIds = {"deviceIds"};
Target target = new Target.Builder().deviceIds(deviceIds).build();
Notification notification = new Notification.Builder().message(message).target(target).build();
PushNotifications.send(notification, new PushNotificationsResponseListener(){
public void onSuccess(int statusCode, String responseBody) {
System.out.println(responseBody);
System.out.println("Successfully sent push notification! Status code: " + statusCode + " Response body: " + responseBody);
}
public void onFailure(Integer statusCode, String responseBody, Throwable t) {
System.out.println("Failed sent push notification. Status code: " + statusCode + " Response body: " + responseBody);
if(t != null){
t.printStackTrace();
}
}
});
}
Надеюсь, это поможет.
Если видео содержит структуру, т.е. несколько выстрелов, то стандартные методы для видео реферирования включают (a) обнаружение выстрела, то (b) используют первое, середину или энный кадр для представления каждого выстрела. См. [1].
Однако давайте предположим, что Вы хотите найти интересный кадр в единственном непрерывном потоке кадров взятым из единственного источника камеры. Т.е. выстрел. Это - "проблема" обнаружения ключевого кадра, которая широко обсуждена в IR/CV (Информационный поиск, Машинное зрение) тексты. Некоторые иллюстративные подходы:
В целом это - большое поле и существует много подходов. Можно посмотреть на научные конференции, такие как Международная конференция по вопросам Изображения и Видео Извлечения (CIVR) для последних идей. Я нахожу что [6] подарки полезная подробная сводка видео абстракции (обнаружение ключевого кадра и реферирование).
Для Ваш "находят лучший из 30 битовых массивов" проблемой, я использовал бы подход как [2]. Вычислите пространство представления кадра (например, цветная гистограмма для кадра), вычислите гистограмму, чтобы представить все кадры и использовать кадр с минимальным расстоянием между двумя (например, выбрать метрику расстояния, это является лучшим для Вашего пространства. Я попробовал бы Наземное Расстояние Двигателя).
Вы попросили бумаги, таким образом, я нашел некоторых. Если Вы не находитесь в кампусе или в соединении VPN к кампусу, эти бумаги могли бы быть труднодоступными.
PanoramaExcerpts: извлечение и упаковка обзоров для видео просмотра
http://portal.acm.org/citation.cfm?id=266396
Этот объясняет метод для генерации представления ключевого кадра стиля comicbook.
Краткий обзор:
Эта бумага представляет методики для того, чтобы автоматически создать графические видео сводки это resem-ble комиксы. Относительная важность видео сегментов вычисляется из их длины и новинки. Изображение и аудио анализ используются, чтобы автоматически обнаружить и подчеркнуть средний - ingful события. На основе этой важности mea-уверенный, мы выбираем соответствующие ключевые кадры. Выделенные ключевые кадры измерены важностью и затем эффективно упакованы в графическую сводку. Мы представляем количественные показатели того, как хорошо сводка получает существенные события в видео, и покажите, как она может использоваться для улучшения наших сводок. Результатом является компактная и визуально приятная сводка, которая получает семантически важные события и подходит для печати или Веб-доступа. Такая сводка может быть далее улучшена включением текстового ограничения - tions полученный из OCR или других методов. Мы описываем, как автоматически сгенерированная сумма - женится, используются для упрощения доступа к большому количеству видео.
Автоматическое извлечение представительных ключевых кадров на основе scenecontent
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=751008
Краткий обзор:
Генерация индексов для фильмов является утомительным и дорогим процессом, который мы стремимся автоматизировать. В то время как алгоритмы для нахождения границ сцены легко доступны, было мало работы, выполненной при выборе отдельных кадров для краткого представления сцены. В данной статье мы представляем новые алгоритмы для автоматизированного выбора представительных ключевых кадров, на основе содержания сцены. Подробное описание нескольких алгоритмов сопровождается анализом того, как хорошо люди чувствуют, что выбранные кадры представляют сцену. Наконец мы обращаемся, как эти алгоритмы могут быть интегрированы с существующими алгоритмами для нахождения границ сцены.
Ничего себе, что большой вопрос - я предполагаю, что второй шаг должен был бы многократно удалить кадры, где существует минимальное изменение между ним, и это - преемники. Но все, что Вы действительно делаете, там уменьшает набор потенциально интересных кадров. То, как точно Вы решаете, что "интересность" является специальным соусом, который я предполагаю, поскольку у Вас нет статистики взаимодействия с пользователем для доверия как Flickr, делает.
Может также быть выгодно способствовать кадрам, которые эстетически приятны. Таким образом, ищите общие атрибуты фотографии - соотношение сторон, контраст, баланс, и т.д.
Было бы трудно найти представительный выстрел, если Вы не знаете то, что Вы ищете. Но с некоторой эвристикой и моим предложением, по крайней мере, Вы могли придумать что-то красивое.
Я думаю, что необходимо только посмотреть на ключевые кадры.
Если видео не кодируется с помощью сжатия, которое основано на ключевых кадрах, Вы создаете алгоритм на основе следующей статьи: выбор Ключевого кадра анализом движения.
В зависимости от сжатия видео у Вас могут быть ключевые кадры каждые 2 секунды или 30 секунд. Чем я думаю, что необходимо использовать алгоритм в статье для нахождения "большинства" ключевым кадром из всех ключевых кадров.
Директора будут иногда задерживаться на особенно 'insteresting' или красивый выстрел так как насчет того, чтобы найти 5-секундный раздел, который не изменяется и затем устраняющий те разделы, которые являются почти черными?
Я недавно работал над проектом, где мы сделали некоторую обработку видеоданных, и мы использовали OpenCV, чтобы сделать тяжелый подъем, что касается обработки видеоданных. Мы должны были извлечь кадры, вычислить различия, поверхности извлечения, и т.д. OpenCV имеет некоторые встроенные алгоритмы, которые вычислят различия между кадрами. Это работает со множеством форматов видео и форматов изображения.