plugin-record
plugin-record copied to clipboard
录制过程出现流异常时没有关闭文件?
10:29:16 INFO mp4 write trailer {"流": "storage/test", "id": 1, "类型": "MP4Recorder", "ID": "storage/test/mp4"}
10:29:16 INFO 创建文件 {"流": "storage/test", "id": 1, "类型": "MP4Recorder", "ID": "storage/test/mp4", "path": "storage\\test\\1717468156.mp4"}
10:29:41 ERROR READSTATE_NORMAL {"流": "storage/test", "id": 1, "类型": "MP4Recorder", "ID": "storage/test/mp4", "轨道": "h265", "error": "discard"}
10:29:41 INFO 播放停止 {"流": "storage/test", "id": 1, "类型": "MP4Recorder", "ID": "storage/test/mp4", "error": "discard"}
10:29:41 INFO 订阅者-1 {"流": "storage/test", "id": 1, "类型": "MP4Recorder", "ID": "storage/test/mp4", "remains": 0}
10:29:41 INFO 🟢->🟠 {"流": "storage/test", "id": 1, "动作": "last leave"}
10:29:51 INFO 🟠->🔴 {"流": "storage/test", "id": 1, "动作": "timeout"}
storage\test\1717468156.mp4这个文件依旧被程序占用
必现?
必现?
是的
操作步骤是什么,record 插件以及 engine 的版本号多少
操作步骤是什么,record 插件以及 engine 的版本号多少
engine版本是v4.14.7,record插件是最新版的,操作步骤就是录制流,按30秒分片,然后出现上面的异常,异常出现后看起来是没有调用close方法,流重新恢复后会恢复录制,但是上一个文件句柄还在,按下面这样添加后似乎可以保证mp4文件正常关闭。
这里确实有问题,通常流关闭时会调用 close,但是这里确实没有调用,我来修复一下