Google Mirror API Video

这一生的挚爱 提交于 2019-12-07 03:38:44

问题


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


回答1:


There is no published roadmap for the Mirror API. Part of the motivation for our developer preview is to figure that out.

First, just to clarify, the streaming shown in that video is a Google+ Hangout. This is a feature that's built into Glass.

Update: Glass now supports video streaming. You can find the full docs here.

To add a video stream make a multipart POST with the URL to the video as one of the parts, like this:

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--



回答2:


Youtube video streaming is possible. I have done it in C#.net using "YoutubeExtractor" namespace. Resolve the video(.mp4) url from the you tube video and stream it. Here is the code. It worked fine for me. when copying the url get the you tube link that available after you click share

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();
        }


来源:https://stackoverflow.com/questions/16049889/google-mirror-api-video

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!