JavaCV的摄像头实战之五:推流

欢迎访问我的GitHub

本篇概览

  • 新建文件RecordCamera.java,这是AbstractCameraApplication的子类,其代码很简单,接下来按上图顺序依次说明
  • 《JavaCV的摄像头实战之一:基础》中已部署好了媒体服务器,这里定义一个成员变量保存媒体服务器的推流地址,请您按自己的情况调整:
  • 还要准备一个成员变量,推流的时候在帧上添加时间戳:
  • 将视频帧推送到媒体服务器的功能来自FrameRecorder,这是个抽象类,本篇用到的是其子类FFmpegFrameRecorder,所以定义FrameRecorder类型的成员变量:
  • 然后是初始化操作,请注意各项参数设置(1280*720分辨率摄像头的情况):
  • 接下来是output方法,关键是recorder.record,另外要注意时间戳的计算和设置:
  • 最后是处理视频的循环结束后,程序退出前要做的事情,即关闭帧抓取器:
  • 另外还要注意两帧之间的延时,由于推流涉及到 络,因此不能像本地预览那样根据帧率严格计算,实际间隔要更小一些:
  • 至此,推流功能已开发完成,再写上main方法,注意参数600表示抓取和录制的操作执行600秒:

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月1日
下一篇 2021年11月1日

相关推荐