Webrtc 如何在Kurento Media Server(KMS)中检测录制何时完成?

Webrtc 如何在Kurento Media Server(KMS)中检测录制何时完成?,webrtc,kurento,Webrtc,Kurento,我编写的代码成功地建立了从浏览器到Kurento媒体服务器(KMS)的WebRTC连接。该流记录在服务器端。录制文件几乎可以立即创建。当我关闭PeerConnection时,几分钟后,录制文件将获得录制内容(在此之前,它的大小一直为零) 现在我的问题是:如何检测录制文件是否被写入磁盘并填充了正确的内容?库兰托协议中有什么信息吗?我确实找到了,但是会立即调用Continuation#onSuccess(而不是几分钟后,当录制文件获得正确的内容时)。恐怕没有实现这样的事件,尽管您所描述的非常有用。我

我编写的代码成功地建立了从浏览器到Kurento媒体服务器(KMS)的WebRTC连接。该流记录在服务器端。录制文件几乎可以立即创建。当我关闭PeerConnection时,几分钟后,录制文件将获得录制内容(在此之前,它的大小一直为零)


现在我的问题是:如何检测录制文件是否被写入磁盘并填充了正确的内容?库兰托协议中有什么信息吗?我确实找到了,但是会立即调用Continuation#onSuccess(而不是几分钟后,当录制文件获得正确的内容时)。

恐怕没有实现这样的事件,尽管您所描述的非常有用。我建议您使用,因为这个特性还没有计划好,不过我们将对此进行研究,并研究是否以及何时包含它


更新1:在KMS6中,您有
addMediaStateChangedListener
方法,因此您可以为
mediaStateChanged
事件订阅侦听器。在侦听器代码中,您可以检查媒体状态并将其与两种可能状态之一进行比较:已连接、已断开连接当前开发版本(6.4.1-dev)在RecorderEndpoint上有新事件。这些事件包括
录制
暂停
停止

如果调用
stop
方法并等待
Stopped
事件,则可以保证文件已正确写入


Kurento media server的下一版本应包含此事件。

是否有Kurento java客户端的事件/回调,我可以在KMS关闭对等连接时侦听/注册以检测这些事件/回调?它还可以作为一种检测记录中不会有更多数据的方法。我已经用一些有关检测到另一个对等方关闭的相关信息扩展了我的答案。谢谢更新。我现在开始检查录音文件大小的变化。一旦文件没有预定义的时间段(例如5秒)改变,我认为它已经完成。然后我就可以开始下一步了(把它和另一个录音/编码/归档混合在一起)。太棒了!也谢谢你对此的反馈。我会把它传给其他队员。让回调知道录制的文件何时创建是一个好主意。@MadisNõmme无论何时发送stop命令,都可以确保回调到达时,文件已经关闭