Unity中摄像机的RTSP推流

使用FFmpegOut插件,插件中自带CameraCapture.cs脚本,能够捕捉camera的画面,但没有推流功能,需要手动添加。在FFmpegSession.cs脚本中调用命令行使用FFmpeg的地方添加RTSP推流功能,具体如下:

return new FFmpegSession(
    "-y -f rawvideo -vcodec rawvideo -pixel_format rgba"
    + " -colorspace bt709"
    + " -video_size " + width + "x" + height
    + " -framerate " + frameRate
    + " -loglevel warning -i - " + preset.GetOptions()
    + " -pix_fmt yuv420p"
    + " -f rtsp rtsp://ip:port/stream"
);

也就是添加最后的-f rtsp 那一行,其中ip和port是开启的RTSP服务器的ip和端口号。

具体使用哪种服务器可以自己选择,作者只使用过EasyDarwin和rtsp-simple-server,其中后者可以导入到Unity工程中,在github上下载,注意现在已经更新,可以下载之前的老版本(前者应该也能导入,没仔细研究过)。

测试效果如下图:

作者的电脑没有英伟达显卡,所以使用的是英特尔的编码器,延迟稍微大了点(400毫秒),实测英伟达编码器能够达到200ms。


项目源码已上传至github:GitHub - pretender1111/FFmpegOutRTSP at master

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值