使用ffmpeg推送多路海康攝像頭(攝像頭單獨存在)的服務程序,經測試可用


新建類: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的一個播放服務,在網上到處都可以下載,改一下配置運行就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM