带有变量的c#中的Ffmpeg命令

时间:2017-06-12 14:16:13

标签: c# html ffmpeg

我正在使用以下命令将实时流切片:

ffmpeg -i InputStreamURL -acodec aac -strict -2 -vcodec libx264 -hls_wrap 100 -f hls -hls_time 20 /var/www/html/ts/1.m3u8

当我在命令提示符下执行此操作时,这工作正常。现在我想在C#中使用这个带有这样的变量的命令:

private int cuttime;
private int wrap;


ffmpeg -i InputStreamURL -acodec aac -strict -2 -vcodec libx264 -hls_wrap wrap -f hls -hls_time cuttime /var/www/html/ts/1.m3u8

我想将这些变量与数据库以及HTML5中的前端接口连接起来。

如何将c#变量用于ffmpeg命令?

亲切的问候

1 个答案:

答案 0 :(得分:1)

// Create string where all variable arguments are replaced with {0}, {1}, and so on
const string argumentsTemplate = "-i InputStreamURL -acodec aac -strict -2 -vcodec libx264 -hls_wrap {0} -f hls -hls_time {1} /var/www/html/ts/1.m3u8";

// String.Format replaces those {0}, {1} with actual values of variables
// {0} with value of first parameter, {1} with value of second parameter, and so on
var arguments = String.Format(argumentsTemplate, wrap, cuttime);

// Start ffmpeg process with actual arguments
Process.Start("ffmpeg", arguments);