我正在使用以下命令将实时流切片:
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命令?
亲切的问候
答案 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);