新建類:PullVideoStreamService.cs 內容如下:
public class PullVideoStreamService
{
public static void Start(string ffmpegFilePath
, string cameraIP
, string cameraId
, string cameraUser
, string cameraPassword)
{
Task.Run(() =>
{
Process cmd = new Process();
cmd.StartInfo.FileName = ffmpegFilePath;
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.Arguments = $"-i \"rtsp://{cameraUser}:{cameraPassword}@{cameraIP}:554/h264/ch34/main/av_stream\" -f flv -r 25 -s 640*480 -an \"rtmp://localhost:1935/hls/{cameraId}\"";
cmd.Start();
cmd.WaitForExit();
});
}
}
在你攝像頭加載循環中調用此方法,將在程序運行的后台推送視頻流,然后就可以通過:rtmp://localhost:1935/hls/{cameraId}訪問了
注:rtmp://localhost:1935/hls/{cameraId}是基於nginx的一個播放服務,在網上到處都可以下載,改一下配置運行就行了
