gpt4 book ai didi

c# - 将ffmpeg流传递给c#窗口

转载 作者:行者123 更新时间:2023-12-04 23:03:20 28 4
gpt4 key购买 nike

是否可以将 FFMPEG 视频流传递到 C# 窗口?现在它在新窗口中作为新进程打开,我只是想将它传递给我自己的 SessionWindow。
此时我像这样执行ffplay:

public void ExecuteCommandSync(String command, String args)
{
try
{
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("\"" + command + "\"", args);

procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;

procStartInfo.CreateNoWindow = true;

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();

string result = proc.StandardOutput.ReadToEnd();

Debug.WriteLine(result);
}
catch (Exception objException)
{

}
}

private void button2_Click(object sender, EventArgs e)
{
String runPlay = @"C:\FFMPEG\bin\ffplay.exe";
String Random = "udp://127.0.0.1:1234";

this.ExecuteCommandSync(runPlay, Random);
}

PS。我不想使用 Windows Media Player,因为我希望这个应用程序看起来像远程桌面一样工作。

最佳答案

看起来我找到了答案。

 Process ProcFFplay = new Process();
ProcFFplay.StartInfo.FileName = @"C:\FFMPEG\bin\ffplay.exe";
ProcFFplay.StartInfo.Arguments = @"-probesize 32 udp://192.168.88.228:12340";
ProcFFplay.StartInfo.CreateNoWindow = true;
ProcFFplay.StartInfo.RedirectStandardOutput = true;
ProcFFplay.StartInfo.UseShellExecute = false;
ProcFFplay.EnableRaisingEvents = true;
ProcFFplay.OutputDataReceived += (o, k) => Debug.WriteLine(k.Data ?? "NULL", "ffplay");
ProcFFplay.ErrorDataReceived += (o, k) => Debug.WriteLine(k.Data ?? "NULL", "ffplay");
ProcFFplay.Exited += (o, k) => Debug.WriteLine("Exited", "ffplay");
ProcFFplay.Start();
Thread.Sleep(4500);//this is time which you need to wait to get first frames approximately
SetParent(ProcFFplay.MainWindowHandle, this.panel1.Handle);
MoveWindow(ProcFFplay.MainWindowHandle, -5, -30, 1200, 800, true); //these parameteres may look weird but you hide top "stripe" using them.

享受。

关于c# - 将ffmpeg流传递给c#窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37628510/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com