Ffmpeg 如何将DShow输入保存到文件中,同时将其发布到rtst流中?

Ffmpeg 如何将DShow输入保存到文件中,同时将其发布到rtst流中?,ffmpeg,pipe,rtsp,mkv,ffdshow,Ffmpeg,Pipe,Rtsp,Mkv,Ffdshow,当您的输入来自设备(如网络摄像头)时,“管道”命令无法正常工作,因此无法使用2个输出。我需要将网络摄像头流保存在文件(.mkv)上,同时将其发布到rtst服务器上。我尝试了以下方法: ffmpeg-y-f dshow-loglevel info-rtbufsize 2147.48M-i“video=my_camera”-vf hflip,rotate=PI^ -c:v libx264-预设快速-crf 25-pix_fmt yuv420p^ -minrate 2M-maxrate 4M-bufs

当您的输入来自设备(如网络摄像头)时,“管道”命令无法正常工作,因此无法使用2个输出。我需要将网络摄像头流保存在文件(.mkv)上,同时将其发布到rtst服务器上。我尝试了以下方法:

ffmpeg-y-f dshow-loglevel info-rtbufsize 2147.48M-i“video=my_camera”-vf hflip,rotate=PI^ -c:v libx264-预设快速-crf 25-pix_fmt yuv420p^
-minrate 2M-maxrate 4M-bufsize 3.5M-s 1920x1080-f T形三通“[f=mkv]'C:\test.mkv'|[f=rtsp]rtsp://localhost:8554/mystream]“

我终于做到了。使用-flags+global_header,它是必需的,与-map 0:v选项相同。现在它工作得很好

ffmpeg-y-f dshow-loglevel info-rtbufsize 2147.48M-i“视频=我的照相机”^ -标志+全局标题-c:v libx264-预设快速-crf 30-pix\U fmt yuv420p^ -minrate 2M-maxrate 4M-bufsize 3.5M-s 1920x1080-f T形三通-map 0:v“C:\out\test.mkv|[f=rtsp]rtsp://localhost:8554/mystream"