<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      截取視頻文件第一楨的圖片和轉(zhuǎn)換視頻格式文件為flv(支持文件格式:asf,avi,mpg,flv,3gp,mov,wmv)

      前段時(shí)間寫過一篇抓取視頻文件中圖片的帖子,如下痛并努力著-在asp.net中如何從視頻文件中抓取一楨并生成圖像文件
      另外一種方法是采用ffmpeg解碼器,來實(shí)現(xiàn)如功能。
      代碼如下:
        1 public class CatchFlv
        2    {
        3       public CatchFlv()
        4       {
        5       }

        6       /// <summary>
        7       /// @從視頻文件截圖,生成在視頻文件所在文件夾
        8       /// 支持文件格式:asf,avi,mpg,flv,3gp,mov,wmv
        9       /// 在Web.Config 中需要兩個(gè)前置配置項(xiàng):
       10       /// 1.ffmpeg.exe文件的路徑
       11       /// <add key="ffmpeg" value="\thread\ffmpeg\ffmpeg.exe" />
       12       /// 2.截圖的尺寸大小
       13       /// <add key="CatchFlvImgSize" value="140x110" />
       14       /// 3.視頻處理程序ffmpeg.exe
       15       /// </summary>
       16       /// <param name="vFileName">視頻文件絕對(duì)或相對(duì)地址,如:(..)/Web/FlvFile/User1/001.avi</param> 
       17       /// <returns>成功:返回圖片絕對(duì)/相對(duì)地址; 失敗:返回空字符串</returns>

       18       public static string CatchImg(string vFileName)
       19       {
       20           try
       21           {
       22               string ffmpeg = System.Configuration.ConfigurationSettings.AppSettings["ffmpeg"];
       23               ffmpeg = HttpContext.Current.Server.MapPath(ffmpeg);
       24
       25               if ((!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(vFileName))))
       26               {
       27                   return "";
       28               }

       29
       30               //獲得圖片相對(duì)路徑/最后存儲(chǔ)到數(shù)據(jù)庫的路徑,如:/Web/FlvFile/User1/00001.jpg
       31               string flv_img = System.IO.Path.ChangeExtension(vFileName, ".jpg");
       32
       33               //圖片絕對(duì)路徑,如:D:\Video\Web\FlvFile\User1\0001.jpg
       34               string flv_img_p = HttpContext.Current.Server.MapPath(flv_img);
       35
       36               //截圖的尺寸大小,配置在Web.Config中,如:<add key="CatchFlvImgSize" value="140x110" /> 
       37               string FlvImgSize = System.Configuration.ConfigurationSettings.AppSettings["CatchFlvImgSize"];
       38
       39               System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
       40               startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
       41
       42               //此處組合成ffmpeg.exe文件需要的參數(shù)即可,此處命令在ffmpeg 0.4.9調(diào)試通過
       43               startInfo.Arguments = " -i " + System.Web.HttpContext.Current.Server.MapPath(vFileName) + " -y -f image2 -t 0.001 -s " + FlvImgSize + " " + flv_img_p;
       44               try
       45               {
       46                   System.Diagnostics.Process.Start(startInfo);
       47               }

       48               catch
       49               {
       50                   return "";
       51               }

       52               System.Threading.Thread.Sleep(4000);
       53               ///注意:圖片截取成功后,數(shù)據(jù)由內(nèi)存緩存寫到磁盤需要時(shí)間較長(zhǎng),大概在3,4秒甚至更長(zhǎng);
       54               if (System.IO.File.Exists(flv_img_p))
       55               {
       56                   return flv_img;
       57               }

       58               return "";
       59           }

       60           catch
       61           {
       62               return "";
       63           }

       64
       65       }

       66
       67       /// <summary>
       68       /// @視頻文件格式轉(zhuǎn)換,生成在視頻文件所在文件夾
       69       /// 支持文件格式:asf,avi,mpg,flv,3gp,mov,wmv
       70       /// 在Web.Config 中需要兩個(gè)前置配置項(xiàng):
       71       /// 1.ffmpeg.exe文件的路徑
       72       /// <add key="ffmpeg" value="\thread\ffmpeg\ffmpeg.exe" />
       73       /// 2.截圖的尺寸大小
       74       /// <add key="CatchFlvSize" value="240x180" /> 
       75       /// 3.視頻處理程序ffmpeg.exe
       76       /// </summary>
       77       /// <param name="vFileName">視頻文件絕對(duì)或相對(duì)地址,如:(..)/Web/FlvFile/User1/001.avi</param> 
       78       /// <returns>成功:返回flv文件絕對(duì)/相對(duì)地址; 失敗:返回空字符串</returns>

       79       public static string ChangeMediaFormat(string vFileName)
       80       {
       81           try
       82           {
       83               string ffmpeg = System.Configuration.ConfigurationSettings.AppSettings["ffmpeg"];
       84               string wks_url = System.Configuration.ConfigurationSettings.AppSettings["wks_local"];
       85               ffmpeg = wks_url+ffmpeg;
       86               if ((!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(wks_url+vFileName)))
       87               {
       88                   return "";
       89               }

       90
       91               string flv_fot = System.IO.Path.ChangeExtension(vFileName, ".flv");
       92               string flv_fot_p = wks_url+flv_fot;
       93
       94               //尺寸大小,配置在Web.Config中,如:<add key="CatchFlvSize" value="240x180" /> 
       95               string FlvImgSize = System.Configuration.ConfigurationSettings.AppSettings["CatchFlvSize"];
       96
       97               System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
       98               startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
       99
      100               //此處組合成ffmpeg.exe文件需要的參數(shù)即可,此處命令在ffmpeg 0.4.9調(diào)試通過
      101               startInfo.Arguments = " -i " + wks_url+vFileName + " -ab 56 -ar 22050 -b 500 -r 15 -s  " + FlvImgSize + " " + flv_fot_p;
      102
      103               try
      104               {
      105                   System.Diagnostics.Process.Start(startInfo);
      106               }

      107               catch
      108               {
      109                   return "";
      110               }

      111
      112               ///注意:文件格式轉(zhuǎn)換成功后,數(shù)據(jù)由內(nèi)存緩存寫到磁盤需要時(shí)間較長(zhǎng),大概在3,4秒甚至更長(zhǎng);
      113               System.Threading.Thread.Sleep(6000);
      114               if (System.IO.File.Exists(flv_fot_p))
      115               {
      116                   WKS.Common.ImagesSet.DeleteOleImg(wks_url+vFileName);
      117                   return flv_fot;
      118               }

      119
      120               return "";
      121           }

      122           catch
      123           {
      124               return "";
      125           }

      126       }
           
      127    }

      128    
      但是,這種方法不知道ffmpeg什么時(shí)候生成結(jié)果,生成什么樣的結(jié)果,因此也存在一定局限性.
      posted @ 2006-11-03 16:43  Robin Zhang  閱讀(7771)  評(píng)論(9)    收藏  舉報(bào)
      主站蜘蛛池模板: 容城县| 亚洲最大成人免费av| 国产成人精品亚洲午夜麻豆 | 亚洲一区二区精品另类| 亚洲gay片在线gv网站| 999福利激情视频| 亚洲国产精品人人做人人爱| 97超级碰碰碰久久久久app| 不卡在线一区二区三区视频| 亚洲国产性夜夜综合| 日韩人妻无码精品无码中文字幕| 国产精品精品一区二区三| 武汉市| 九九热在线精品视频免费| 成人拍拍拍无遮挡免费视频| 9色国产深夜内射| 国内熟妇人妻色在线三级| 国产精品久久香蕉免费播放| 成人精品一区日本无码网| 国产精品麻豆欧美日韩ww| 韩国美女福利视频在线观看 | 亚洲激情一区二区三区视频| 午夜福利看片在线观看| 亚洲 都市 无码 校园 激情| 中文字幕国产日韩精品| 亚洲精品无amm毛片| 亚洲色大成网站www在线| 加勒比中文字幕无码一区| 日韩一区二区三区水蜜桃| 日韩高清亚洲日韩精品一区二区| 中文人妻AV大区中文不卡| 亚洲精品一区二区18禁| 亚洲an日韩专区在线| 久久精品亚洲精品国产区| 忻州市| 护士张开腿被奷日出白浆| 中文字幕va一区二区三区| 国产精品剧情亚洲二区| 亚洲国产成人精品激情姿源| 免费人成视频在线观看不卡| 日韩不卡一区二区在线观看|