Sdcb.FFmpeg icon indicating copy to clipboard operation
Sdcb.FFmpeg copied to clipboard

请问代码怎样实现摄像头推流的操作?

Open bobbydog opened this issue 2 years ago • 0 comments

我想用代码 执行 如下推流命令, 代码需要怎么写? .\ffmpeg -i "rtsp://admin:@192.168.58.89:554/channel=1_stream=0" -pix_fmt yuv420p -vcodec libx264 -an -f flv "rtmp://192.168.99.100:1935/live/stream0"

看完例子还是不太会写, 是一定要从inputContext每帧读取再写到outputContext吗? FFmpegLogger.LogWriter = (level, msg) => Debug.WriteLine(msg);

using FormatContext inFc = FormatContext.OpenInputUrl("rtsp://admin:@192.168.58.89:554/channel=1_stream=0"); inFc.LoadStreamInfo();

MediaStream inVideoStream = inFc.GetVideoStream();

using FormatContext outFc = FormatContext.AllocOutput(formatName: "flv"); IOContext io = IOContext.OpenWrite("rtmp://192.168.99.100:1935/live/stream0"); outFc.Pb = io;

MediaStream videoStream = outFc.NewStream(Codec.FindDecoderByName("h264_cuvid")); videoStream.TimeBase = inVideoStream.RFrameRate.Inverse(); videoStream.SampleAspectRatio = inVideoStream.SampleAspectRatio;

bobbydog avatar Mar 08 '24 01:03 bobbydog