以輔助進程通過CMD啟動FFMPEG推流(需要啟動nginx流服務器(或者其他流服務器),否則FFMPEG會報錯)
FFMPEG = new Process();
FFMPEG.StartInfo.FileName = "cmd.exe";
FFMPEG.StartInfo.CreateNoWindow = true;//在已存在控制台時,此參數無效
FFMPEG.StartInfo.UseShellExecute = false;
FFMPEG.StartInfo.RedirectStandardInput = true;
FFMPEG.StartInfo.RedirectStandardOutput = true;
if (FFMPEG.Start())
{
//重定向
FFMPEG.StandardInput.WriteLine("cd /d " +"......\FFPEMG\bin");
FFMPEG.StandardInput.Flush();
//以下方式選一個
//此為USB攝像頭
FFMPEG.StandardInput.WriteLine("ffmpeg -thread_queue_size 1000 -r 30 -f dshow -i video='Cam' -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -max_delay 10 -g 50 -sc_threshold 0 -f flv rtmp://127.0.0.1:1935/live/home1");//video=攝像頭名稱
FFMPEG.StandardInput.Flush();
//此為網絡攝像頭
FFMPEG.StandardInput.WriteLine("ffmpeg -thread_queue_size 1000 -r 30 -i rtsp://" + UserName + ":" + Password + "@" + IP + " -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -max_delay 10 -g 50 -sc_threshold 0 -f flv rtmp://127.0.0.1:1935/live/home1");
FFMPEG.StandardInput.Flush();
//此為屏幕推流
FFMPEG.StandardInput.WriteLine("ffmpeg -thread_queue_size 1000 -r 30 -f gdigrab -i desktop -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -max_delay 10 -g 50 -sc_threshold 0 -f flv rtmp://127.0.0.1:1935/live/home1");
FFMPEG.StandardInput.Flush();
}
通過CMD使用FFPLAY拉流播放
FFPlay = new Process();
FFPlay.StartInfo.FileName = "cmd.exe";
FFPlay.StartInfo.CreateNoWindow = true;
FFPlay.StartInfo.UseShellExecute = false;
FFPlay.StartInfo.RedirectStandardInput = true;
FFPlay.StartInfo.RedirectStandardOutput = true;
if (FFPlay.Start())
{
FFPlay.StandardInput.WriteLine("cd /d " ".....\FFPEMG\bin");
FFPlay.StandardInput.Flush();
FFPlay.StandardInput.WriteLine("ffplay -fflags nobuffer rtmp://127.0.0.1:1935/live/home1");
FFPlay.StandardInput.Flush();
//拉流成功會彈出以“rtmp://127.0.0.1:1935/live/home1”為標題的窗口
//通過查找標題得到窗口句柄,可以嵌入c# WinForm/WPF窗體中
}
————————————————
版權聲明:本文為CSDN博主「迷失彩虹海」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38069903/article/details/114403597