FFmpeg передать несколько входных данных через StandartInput
Цитата: Overd от 17.01.2023, 13:48Здравствуйте.
У меня есть следующий код который передает данные в процесс ffmpeg через потокpublic void VideoToImages3() { var inputFile = @"C:\testvideo.avi"; var outputFile = @"C:\outputFile.mp4"; var process = new Process { StartInfo = new ProcessStartInfo { RedirectStandardInput = true, UseShellExecute = false, CreateNoWindow = true, Arguments = $"-y -i - {outputFile}", FileName = _ffmpeg }, EnableRaisingEvents = true }; process.Start(); //Write input data to input stream var inputTask = Task.Run(() => { using (var input = new FileStream(inputFile, FileMode.Open)) { input.CopyTo(process.StandardInput.BaseStream); } }); Task.WaitAll(inputTask); process.WaitForExit(); }В данном случае я передаю лишь 1 файл через поток (-i -). А как быть в том случае если мне надо передать несколько входных файлов через поток (-i - -i -). К примеру при добавлении АудиоФайла к ВидеоФайлу?
```
"ffmpeg -y -i {audioFilePath} -i {videoFilePath} {outputFilePath}"```
Как передать файлы через StandartInput если указано 2 input аргумента???
Здравствуйте.
У меня есть следующий код который передает данные в процесс ffmpeg через поток
public void VideoToImages3()
{
var inputFile = @"C:\testvideo.avi";
var outputFile = @"C:\outputFile.mp4";
var process = new Process
{
StartInfo = new ProcessStartInfo
{
RedirectStandardInput = true,
UseShellExecute = false,
CreateNoWindow = true,
Arguments = $"-y -i - {outputFile}",
FileName = _ffmpeg
},
EnableRaisingEvents = true
};
process.Start();
//Write input data to input stream
var inputTask = Task.Run(() =>
{
using (var input = new FileStream(inputFile, FileMode.Open))
{
input.CopyTo(process.StandardInput.BaseStream);
}
});
Task.WaitAll(inputTask);
process.WaitForExit();
}
В данном случае я передаю лишь 1 файл через поток (-i -). А как быть в том случае если мне надо передать несколько входных файлов через поток (-i - -i -). К примеру при добавлении АудиоФайла к ВидеоФайлу?
```
"ffmpeg -y -i {audioFilePath} -i {videoFilePath} {outputFilePath}"
```
Как передать файлы через StandartInput если указано 2 input аргумента???