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