我做个网站就是用户可以贴优酷的视频的地址,然后在他发表的文章中能够看这个视频。
播放视频我已经做好了,我想问的是怎么得到视频的预览图片的地址。播放前是个预览图片:点击播放后才是视频:
比如视频 http://v.youku.com/v_show/id_XMTk4Njc1MjI0.html
对应的预览图片是下边这个地址
http://g2.ykimg.com/01270F1F464C6A111D3A1F000000004559563A-7902-DA06-25C0-3D1EDD5B65F6我看其它网站都有这个预览图片,我想知道这个图片地址怎么得到的 谢谢

解决方案 »

  1.   

    视频截图http://topic.csdn.net/u/20100318/08/06ab16a1-d2fe-4d15-a9c6-7378076aabd1.html
      

  2.   

    你自己控制一个浏览器内核,或者winform以及silverlight都有的webbrowser控件,就可以显示网页并截取窗口图像了。
      

  3.   

    优酷视频的预览图片的地址是优酷的域名
    同样土豆的视频也有个对应的土豆域名的url地址意思是优酷网站及土豆网站, 一个视频对应这一个图片地址。
    用户把优酷的视频地址分享到了我的博客网站,我如何通过视频url获得对应的图片地址,
    这个图片不是我截取的,我也不会保存此图片到自己服务器上,
    只是简单的链接到视频网站的图片服务器。
      

  4.   

    视频截图吧,用ffmpeg
    这个东西太慢了吧,而且并发的时候,几十个用户同时调用用ffmpeg.exe 会有问题
      

  5.   

    今天来结贴
    根据用户输入的URL,使用编程下载此url页面,用正则表达式找到视频的图片地址和视频地址
    保存在自己数据库中。
    页面展现时候绑定上面的视频图片和视频地址 即可
      

  6.   

    用正则取namespace Relaship.Common.ResourcePicker
    {
        public class TodouPicker : ResourcePicker
        {        public TodouPicker(string url)
                : base(url) { }        /// <summary>
            /// 获取资源
            /// </summary>
            /// <returns></returns>
            public override Resource GetResource()
            {
                string videoId = "";
                if (Url.StartsWith("http://www.tudou.com/v/"))
                {
                    videoId = Url.Split('/')[4];
                }
                if (Url.StartsWith("http://www.tudou.com/programs/view/"))
                {
                    videoId = Url.Split('/')[5];
                }
                if (Url.StartsWith("http://www.tudou.com/playlist/playindex.do"))
                {
                    Match m3 = Regex.Match(Url + "$", @"(?<=iid=).*?(?=\$|&)");
                    videoId = m3.ToString();
                    if (string.IsNullOrEmpty(videoId))
                    {
                        m3 = Regex.Match(Response, @"(?<=defaultIid=).*?(?=,)");
                        videoId = m3.ToString();
                    }
                    videoId = m3.ToString();
                }            Match m = Regex.Match(Response, @"(?<=<h1>).*?(?=</h1>)");
                Match m2 = Regex.Match(Response, @"<span class=""s_pic"">(.*)<\/span>");//(?<=<span\s*id="s1">)[^<]+(?=</span>)
                //  /<span class=\"s_pic\">(.*)<\/span>/
                res.Url = Url;
                res.Title = m.ToString();
                res.Thumb = m2.ToString();
                res.Type = ResourceType.Video;
                res.Content = "http://www.tudou.com/v/" + videoId + "";
                return res;
            }        protected override void Init()
            {
                DownloadData = client.DownloadData(Url);
                Response = System.Text.Encoding.GetEncoding("GBK").GetString(DownloadData);
            }
        }
    }
    这个取土豆的