在Unity中,使用FFmpegOut插件,对Unity中摄像机画面进行捕捉,并通过RTSP进行推流。项目中包含RTSP服务器“rtsp-simple-server.exe”,以当前电脑活跃的ip接口作为推流地址,端口号默认为8554,因此可在项目中输入自己电脑的ip实现推流功能。
FFmpegOut插件路径为\Assets\FFmpegOut;RTSP服务器路径为\Assets\RTSPServer。此外,ffmpeg.exe程序位于\Assets\StreamingAssets\FFmpegOut\Windows。
项目中默认场景test1中默认配置了4个摄像机,可在检查器中对CameraCapture脚本进行参数配置。
项目中默认的编码器是“H.264 QSV (MP4)”,可根据自己需求修改为“H.264 NVIDIA (MP4)”等,如下图所示:
在Url处配置推流地址,输入你自己电脑的ip,如下图:
此外,还可以配置推流画面的宽度、高度以及帧率,这里不再赘述。
如果您对于默认功能不够满意,想要按照自己的需求进行修改,可修改脚本CameraCapture.cs和RTSPServerLoader.cs,以及使用到的其他脚本。这些脚本均位于路径\Assets\FFmpegOut\Runtime下。