视频服务器(12) Kurento[7] 保存视频图像

生娃了,断断续续补充完整

--------------------------------

项目需求,无法用webrtc方式播放视频流,考虑采用定时获取视频图像的方式,达到类似的效果。

即网络环境不允许服务端推送视频流给客户端,只能客户端自己来获取(视频或者图片),获取视频的方式(RTMP,HLS)都是保存小视频段的方式,延迟比较明显,3-5s,可能也是技术积累有限吧。获取图片的方式,其实延迟倒还好,但是丢帧比较严重,而且没声音,看项目需要吧,暂时先用这种方式来。之前在unity的webgl方式在三维里面显示视频其实就是把Html的Video的视频图像转换并保存到Unity中,Unity里面刷新显示一帧一帧的图片,刷新率太高会影响Unity性能,太低则丢帧严重。100ms似乎还算平衡。

具体来说,Kurento有个RecorderEndPoint,将PlayerEndPoint连接上RecorderEndPoint后,就能将视频保存到本地了,理论上。

总之使用代码是:

 

实际操作中碰到一些问题。第一个问题是权限,保存的目录必须是tmp文件夹下面的,为创建的目录,kurento会自己创建相应的目录和文件。如果保存到其他目录下,则创建失败,而且没有任何错误提示。

 

recorder.record(new Continuation<Void>() {
                @Override
                public void onSuccess(Void aVoid) throws Exception {
                    //log.info("recordonSuccess");
                    //无论是否保存都会进入这里
                    //目录没有权限无法保存的情况下也会进入这里。
                }
                @Override
                public void onError(Throwable throwable) throws Exception {
                    log.info("recordonError:"+throwable);
                }
            });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值