1

動画のパス(拡張子.wmv,.avi)はSQL Serverに格納されています。そして、サムネイルを作成して ASPX ページに表示する必要があります。

誰かがこれを知っている場合は、そのコードを共有してください。

前もって感謝します

4

2 に答える 2

0

AVIの場合、以下のコードプロジェクトを使用できます

http://www.codeproject.com/Articles/7388/A-Simple-C-Wrapper-for-the-AviFile-Library

他の人のために試してみてください

http://sourceforge.net/projects/directshownet/

http://code.google.com/p/slimdx/

于 2012-04-04T11:29:39.903 に答える
0

サムネイルビデオを生成するためのコードがいくつかあります。

そのためには、無料で入手できる「ffmpeg.exe」という名前のサードパーティのexeが必要です。ここからダウンロードできます

これで、元のビデオからサムネイル ビデオを生成する関数が作成されました。要件に応じて変数を変更できます。

private bool SaveVideo(FileUpload fupload)
{

    string VideoResolutionWidth = "400" ; //define video res. width
    string VideoResolutionHeight = "280";  //define video res. height
    string VideoThumbWidth = "100";//define jpg res. width
    string VideoThumbHeight = "100"; //define jpg res. height

    string VideoLocation = HttpContext.Current.Server.MapPath("~/ConverterFolder/Video/");
    string ConverterPath = HttpContext.Current.Server.MapPath("~/ConverterFolder/");
    String LargeFileName = "TestVideo.wmv"; // Thumb Video file name
    string ThumbFileName= "Testvideo.jpg";

    // Save Original video file first

    if (fupload.PostedFile.FileName != "")
    {
        fupload.PostedFile.SaveAs(ConverterPath + "\\" + System.IO.Path.GetFileName(fupload.PostedFile.FileName.Replace(" ", "_")));
    }

    if (System.IO.File.Exists(ConverterPath + "\\" + System.IO.Path.GetFileName(fupload.PostedFile.FileName.Replace(" ", "_"))))
    {
        string inipath = ConverterPath;
        string flvCMD, flvArg;
        string a_res_width, a_res_height, a_audioRate, a_frameRate, i_res_width, i_res_height;

        a_res_width = VideoResolutionWidth;
        a_res_height = VideoResolutionHeight;
          i_res_width = VideoThumbWidth;
        i_res_height = VideoThumbHeight;

        a_audioRate = "22050";
        a_frameRate = "15";

        string VideoThumbResolution = i_res_width + "x" + i_res_height;
        string VideoResolution = a_res_width + "x" + a_res_height;           
        String videoPATH = VideoLocation +  "\\" + LargeFileName.Replace(" ", "_");

        flvCMD = ConverterPath + "ffmpeg.exe";
        flvArg = "-i " + ConverterPath + "\\" + System.IO.Path.GetFileName(fupload.PostedFile.FileName.Replace(" ", "_")) + " -s " + VideoResolution + " -r " + a_frameRate + " -b 7500000 -ar " + a_audioRate + "  -ab 48 " + videoPATH;


        try
        {
            Process process = new Process();
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.FileName = flvCMD;
            process.StartInfo.Arguments = flvArg;
            process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

            process.Start();
            string output = process.StandardOutput.ReadToEnd();
            process.Close();
            process.Dispose();

            if (System.IO.File.Exists(videoPATH))
            {

                Process process1 = new Process();
                process1.StartInfo.UseShellExecute = false;
                process1.StartInfo.RedirectStandardOutput = true;
                process1.StartInfo.RedirectStandardError = true;
                process1.StartInfo.CreateNoWindow = true;
                process1.StartInfo.FileName = flvCMD;
                process1.StartInfo.Arguments = "-i " + ConverterPath + "\\" + System.IO.Path.GetFileName(fupload.PostedFile.FileName.Replace(" ", "_")) + " -an -ss 00:00:01 -r 1 -vframes 1 -s " + VideoThumbResolution + " -f mjpeg -y " + VideoLocation "\\" + ThumbFileName;
                process1.Start();
                string outputMeta1 = process1.StandardOutput.ReadToEnd();
                process1.Close();
                process1.Dispose();
            }
            else
            {
                return false;
            }
        }
        catch (Exception)
        {

        }


    }
    return true;
}

これがあなたを助けることを願っています。幸せなコーディング....

于 2012-04-04T12:12:52.043 に答える