Как ввести потоковый объект system.io в ffmpeg с помощью c # - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть объект потока System.io, который представляет собой необработанные данные pcm, если я хочу преобразовать его с помощью ffmpeg, какую команду мне следует использовать

1 Ответ

0 голосов
/ 09 декабря 2018

Вам нужно направить поток в процесс ffmpeg.Этот блог полезен https://mathewsachin.github.io/blog/2017/07/28/ffmpeg-pipe-csharp.html

Здесь, если эта ссылка идет вниз

using System.Diagnostics;

var inputArgs = "-framerate 20 -f rawvideo -pix_fmt rgb32 -video_size 1920x1080 -i -";
var outputArgs = "-vcodec libx264 -crf 23 -pix_fmt yuv420p -preset ultrafast -r 20 out.mp4";

var process = new Process
{
    StartInfo =
    {
        FileName = "ffmpeg.exe",
        Arguments = $"{inputArgs} {outputArgs}",
        UseShellExecute = false,
        CreateNoWindow = true,
        RedirectStandardInput = true
    }
};

process.Start();

var ffmpegIn = process.StandardInput.BaseStream;

// Write Data
ffmpegIn.Write(Data, Offset, Count);

// After you are done
ffmpegIn.Flush();
ffmpegIn.Close();

// Make sure ffmpeg has finished the work
process.WaitForExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...