视频网站分享flv视频截图

上一篇:通过flv的url得到视频截图
   

但是不能通过一些视频网站连接直接得到图片,而只能通过flv的url得到图片,很鸡肋的一个东西。偶尔发现有很多网站提供在线flv解析.如我要用的这个:http://www.flvcd.com/ ,号称支持66个视频网站的flv地址获取,那就直接用它的了。通过它得到flv的实际地址之后再下载小部分,然后再截图操做。

代码
  protected   void  Button1_Click( object  sender, EventArgs e)
    {
        
string  flvUrl  =   string .Empty;
        
string  flvName  =   string .Empty;
        
string  urlStr  =  TextBox1.Text;
        WebClient web 
=   new  WebClient();
        
string  reqStr  =  web.DownloadString( " http://www.flvcd.com/parse.php?flag=&format=&kw= "   +  Server.UrlEncode(urlStr));
        
string [] str  =  reqStr.Split( new   string [] {  " copyToClipboard(' " }, StringSplitOptions.None);
        
if  (str.Length  >   1 )
        {
            
for  ( int  i  =   1 ; i  <  str.Length; i ++ )
            {
                
int  start  =  str[i].IndexOf( " ' " );
                
string  temp  =  str[i].Substring( 0 , start);
                
if  (temp.StartsWith( " http " ))
                    flvUrl 
=  temp;
                
else
                    flvName 
=  temp;
            }
        }
        Literal1.Text 
=   " FlvUrl地址为: "   +  flvUrl  +   " <br/>flv名称: "   +  flvName;
        
string  tempFlvName = System.Guid.NewGuid().ToString() + " .flv " ;
        SaveTempFlv(flvUrl, tempFlvName, 
200 );
        Image1.ImageUrl 
=  CatchImg(tempFlvName);
    }

 

 通过webclient下载带有flv地址的页面再提取它的地址。

同时附上上篇代码:

代码
private   void  SaveTempFlv( string  url,  string  fileName,  int  sizeKB)
    {
        HttpWebRequest wr 
=  (HttpWebRequest)HttpWebRequest.Create(url);
        wr.Method 
=   " get " ;
         HttpWebResponse rs
= (HttpWebResponse)wr.GetResponse();
         BinaryReader br
= new  BinaryReader( rs.GetResponseStream());
         FileStream fs
=  File.Create(Server.MapPath( "" +   " \\ " + fileName);
         
int  byteread  =   1 ;
         
int  tempsize  =   0 ;
         
byte [] bt  =   new   byte [ 1024 ];
         
while  ((byteread  =  br.Read(bt,  0 1024 )) > 0 )
         {
             tempsize
+= byteread;
             
if  (tempsize  >=  sizeKB * 1024 )
                 
break ;
             fs.Write(bt, 
0 , byteread);
         }
        br.Close();
        fs.Close();
        fs.Dispose();
    }
    
public   string  CatchImg( string  vFileName)
    {
        
string  ffmpeg  =  Server.MapPath( "" +   " \\ "   +   " ffmpeg.exe " ;
        
if  ( ! System.IO.File.Exists(ffmpeg))
            
return   "" ;
        
string  flv_img  =  Path.ChangeExtension(vFileName,  " .jpg " );
        
string  flv_img_p  =  Server.MapPath(flv_img);
        vFileName 
=  Server.MapPath(vFileName);
        
string  FlvImgSize  =   " 500x400 " ;
     
//    Response.Write(vFileName);
        System.Diagnostics.ProcessStartInfo startInfo  =   new  System.Diagnostics.ProcessStartInfo(ffmpeg);
        startInfo.WindowStyle 
=  System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.Arguments 
=   "    -i    "   +  vFileName  +   "    -y   -f   image2   -ss   1   -s    "   +  FlvImgSize  +   "     "   +  flv_img_p;
        Response.Write(startInfo.Arguments);
        
//  -ss 后面的是搜索指定时间,1表示1s。200K应该都有1s吧~~
         System.Diagnostics.Process.Start(startInfo);
         
return  flv_img;
    }

 

 

 效果:测试优酷和土豆,两个站点都能下载到几秒的flv视频,但是没有截取到图片,cmd执行的时候发现ffmpeg不支持这种类型的视频格式。flv视频有哪几种格式呢,我想得换种转化工具才行。因为我下载到的几秒钟视频时可以正常播放的。

 

转载于:https://www.cnblogs.com/lulu/archive/2010/05/08/1730555.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值