Google API for Google Mirroring

What is the roadmap for video in the Google Glass Glass API? Will the API allow streaming video to or from the device, as shown in the glass demo video http://www.youtube.com/watch?v=v1uyQZNg2vE ?

+6
source share
2 answers

There is no published roadmap for the Mirror API. Part of the motivation to preview our developer is to understand this.

First, just to clarify, the streaming shown in this video is a Google+ video call. This is a feature built into Glass.

Refresh . Glass now supports streaming video. You can find the full documents here .

To add a video stream, make a multi-page POST with the video URL as one of the parts, for example:

POST /upload/mirror/v1/timeline HTTP/1.1 Host: www.googleapis.com Authorization: Bearer {auth token} Content-Type: multipart/related; boundary="mymultipartboundary" Content-Length: {length} --mymultipartboundary Content-Type: application/json; charset=UTF-8 { "text": "Skateboarding kittens" } --mymultipartboundary Content-Type: video/vnd.google-glass.stream-url http://example.com/path/to/kittens.mp4 --mymultipartboundary-- 
+8
source

Maybe streaming Youtube video. I did this in C # .net using the YoutubeExtractor namespace. Allow the video (.mp4) URL from the video and transfer it. Here is the code. It worked for me. when copying a URL, get a link to the handset accessible after clicking the button

 private static String youtubevideoStream(MainController controller) { string link = "http://youtu.be/9uYKISlL7Vg"; IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link); VideoInfo video = videoInfos.First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 360); String vLink = video.DownloadUrl; TimelineItem videocard= new TimelineItem() { Text = "Menu Card", BundleId = "666", Notification = new NotificationConfig() { Level = "DEFAULT" }, MenuItems = new List<MenuItem>() { new MenuItem() {Action = "DELETE"}, } }; String mediaLink = vLink; if (!String.IsNullOrEmpty(mediaLink)) { Stream stream = null; if (mediaLink.StartsWith("/")) { stream = new StreamReader(controller.Server.MapPath(mediaLink)).BaseStream; } else { HttpWebRequest request = WebRequest.Create(mediaLink) as HttpWebRequest; request.UseDefaultCredentials = false; HttpWebResponse response = request.GetResponse() as HttpWebResponse; byte[] b = null; using (Stream streamFromWeb = response.GetResponseStream()) using (MemoryStream ms = new MemoryStream()) { int count = 0; do { byte[] buf = new byte[1024]; count = streamFromWeb.Read(buf, 0, 1024); ms.Write(buf, 0, count); } while (streamFromWeb.CanRead && count > 0); b = ms.ToArray(); stream = new MemoryStream(b); } } controller.Service.Timeline.Insert(videocard, stream, "video/mp4").Upload(); } else { controller.Service.Timeline.Insert(videocard).Fetch(); } 
+1
source

All Articles