Не удается получить видео для потоковой передачи в Google Glass (вариант прикрепления или вариант пакета)

Моя команда хакатона работала последние 12 часов, чтобы использовать Google Glass и Mirror API для воспроизведения видео, в частности, с использованием библиотеки PHP.

Мы пытались прикрепить видео к элементу временной шкалы и пытались использовать параметр пакета, но ни один из них не будет передавать видео.

У меня нет сообщения об ошибке для отображения, и код, насколько мы видим, правильный, основанный на документации Google.

Еще немного деталей:

  • Мы используем API для доступа к видео, размещенному на AWS.
  • Мы также протестировали использование видео, размещенных на других сайтах, а также видео меньшего размера (тот, который мы стремимся использовать, имеет размер 20+ МБ).

Если кто-то может предложить некоторые рекомендации, мы будем очень признательны! Спасибо!

РЕДАКТИРОВАТЬ

Это структура кода, которую мы используем, прямо из библиотеки PHP:

function insertAttachment($service, $itemId, $contentType, $attachment) {

  try {

    $params = array(

        'data' => $attachment,

        'mimeType' => $contentType,

        'uploadType' => 'media');

    return $service->timeline_attachments->insert($itemId, $params);

  } catch (Exception $e) {

    print 'An error ocurred: ' . $e->getMessage();

    return null;

  }

}

И вот последняя итерация попытки запустить видео в потоковом режиме:

       $bundle_view = $app->view();
       $bundle_view->appendData(array('total' => count($response['search']), 'video'=>$response['search'][0]));
       $bundle_html = $app->view()->fetch('bundle_home.twig');
       $new_timeline_item = new Google_TimelineItem();


       $new_timeline_item->setHtml($bundle_html);
       //$new_timeline_item->setBundleId($response['search'][0]['id']);
       $new_timeline_item->isBundleCover = 'true';
       $notification = new Google_NotificationConfig();
       $notification->setLevel("DEFAULT");
       $new_timeline_item->setNotification($notification);

       $post_result = insert_timeline_item($mirror_service, $new_timeline_item, null, null);

       error_log(print_r($post_result->getId(), true));

       $new_timeline_item->setHtmlPages("<article><section> <video src='http://www.w3schools.com/html/movie.mp4' controls> </section></article>");

       /**
       foreach ($response['search'] as $video) {
           $item = $video['videos'][0];
           $v_item = new Google_MediaFileUpload('video/vnd.google-glass.stream-url', $item, true);

           $params = array(
               'data' => $v_item,
               'mimeType' => 'video/*',
               'uploadType' => 'resumable');

           $mirror_service->timeline_attachments->insert($post_result->getId(), $params);
       }
       **/
       insert_timeline_item($mirror_service, $new_timeline_item, null, null);

Может быть проще читать в Gist: https://gist.github.com/kgardnr/1f2ce243f91cedaf9c92


person kgardnr    schedule 26.07.2013    source источник
comment
Можете ли вы поделиться ссылкой на видео, которое вы пытаетесь транслировать? Возможно, он закодирован неподдерживаемым кодеком. Это должен быть H.264 или H.263 в контейнере mp4, и он должен иметь звук.   -  person mimming    schedule 26.07.2013
comment
Это то, что мы тестируем в приведенном выше коде: w3schools.com/html/movie.mp4. Позвольте мне посмотреть, могу ли я поделиться другим видео, с которым мы тестировали.   -  person kgardnr    schedule 27.07.2013
comment
Понятно. Мне любопытно насчет того 20-мегабайтного видео, которое вы упомянули. Тот, который вы указываете в коде, составляет около 500 тыс. Для этого вы можете использовать тот же процесс, что и загрузка фотографии (прикрепление байтов) в рамках проекта быстрого старта.   -  person mimming    schedule 27.07.2013
comment
Вот ссылка на видео: kimgardner.com/googleglass/video.mp4   -  person kgardnr    schedule 28.07.2013


Ответы (2)


Похоже, что в setHTMLPages используется элемент видео, который является заблокированным элементом HTML. Является ли это основной причиной проблемы?

person Snekithan    schedule 26.07.2013

Потоковое видео в настоящее время не может быть прикреплено через HTML, и я не верю, что вы можете что-либо отобразить поверх него. По моему опыту, он также не очень хорошо (или вообще) не включен в библиотеки (по крайней мере, не в .NET... Я предполагаю, что PHP такой же).

Что мне нужно было сделать, так это самому создать веб-запрос, как описано здесь: https://developers.google.com/glass/timeline в разделе потокового видео

person Dominic Corona    schedule 27.07.2013