0

ffmpeg にユーザー名とパスワードを提供して、ftp サーバーのフォルダーにデータを書き込むことができるようにするにはどうすればよいですか? フォルダーはパスワードで保護されており、可能であればそのパスワードを削除したくありません。それで、パスワードをffmpegに渡すだけでいいですか?または他の解決策はありますか?

ビデオファイルからサムネイルを作成するffmpegプロセスの例

string thumbpath, thumbname, videofile;
videofile = "Video Source path";
thumbpath = "thumbnail path";
thumbname = thumbpath + "20120910160600.mjpeg";

string thumbargs = "-i \"" + videofile + "\" -vframes 1 -s 60*30 -ss 00:00:00 -f image2 \"" + thumbname + "\"";

Process process = new Process();

process.StartInfo.FileName = Server.MapPath("~\\ffmpeg\\bin\\ffmpeg.exe");
process.StartInfo.Arguments = thumbargs;

process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = false;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

新しい学習者、私を導いてください....

4

1 に答える 1

1

ffmpeg の書き込み先のフォルダーにアクセス許可を設定できる場合は、ASP.NET プロセスが実行されているアカウントに書き込みアクセスを設定できます。アプリ プールを構成するか、偽装を使用して、ASP.NET を実行するアカウントを制御できます。これが最も簡単な方法です。

アプリケーション レベルの偽装は、これを web.config に入れることによって行われます。

<identity impersonate="true" userName="accountname" password="password" />

これにより、Web アプリケーションは指定されたユーザーとして常に実行されます。

セキュリティを強化したい場合は、ffmpeg を実行しているプロセスだけを、書き込み権限のあるユーザーで実行することができます。これは、コード レベルの偽装を使用して実現できます (上記の偽装リンクで説明されています)。

アプローチに関係なく、ffmpeg は実行しているユーザーを知る必要はありません。

于 2012-09-11T17:21:42.973 に答える