1

ビデオファイルからサムネイルを取得しようとしていますが、コードは正常に実行されますが、サムネイルはここに保存されません..

 protected void Convert(string fileIn, string fileOut, string thumbOut)
    {
        try
        {
            System.Diagnostics.Process ffmpeg;

            string video;
            string thumb;

            video = Server.MapPath("~/Content/UploadVedio/YouTube.FLV");
            thumb = Server.MapPath("~/Content/UploadImage/frame.jpg");

            ffmpeg = new System.Diagnostics.Process();

            ffmpeg.StartInfo.Arguments = " -i " + video + " -ss 00:00:07 -vframes 1 -f image2 -vcodec mjpeg " + thumb;
            ffmpeg.StartInfo.FileName = Server.MapPath("~/Content/EXE/ffmpeg.exe");
            ffmpeg.Start();
            ffmpeg.WaitForExit();
            ffmpeg.Close();
        }
        catch (Exception ex)
        {
            Response.Write("Error: " + ex.Message);
        }
    }
4

2 に答える 2

0

コードは IIS で実行されています。適切なフォルダーへの書き込み権限があることを確認してください。

于 2012-09-22T12:21:58.053 に答える
0

確認事項:

  1. ディレクトリにスペースが含まれていますか? もしそうなら、追加してください:

    ビデオ = "\"" + ビデオ + "\""; 親指 = "\"" + 親指 + "\"";

  2. ffmpeg.exe のパスは正しいですか? ffmpeg の環境変数を設定する場合は、ここに移動して、ffmpeg を実行する ffmpeg.exe パスを見つける必要がないようにします。

  3. つまり、引数: -ss 00:00:07。動画の長さが 7 秒を超えていますか?

  4. ffmpeg.exe をドライブ C にコピーし (ffmpeg のパスを設定しない場合)、cmd で直接実行してみて、エラーが発生した場合の出力をここに投稿してください。すなわち:

    c:\ffmpeg.exe -i "c:\video.mp4" -ss 00:00:07 -vframes 1 -f image2 -vcodec mjpeg "c:\result.jpg"

于 2016-07-19T02:33:17.443 に答える