Closed zhangping closed 7 years ago
job process log:
Jan 17 07:02:53.251900 ERROR gstreamill encoder.c:319: sendto segment msg error: Resource temporarily unavailable
dvr segment:
-rw-rw-r-- 1 root zhangping 944512 Jan 17 07:02 0153666934_2424003_5000000000.ts -rw-rw-r-- 1 root zhangping 839044 Jan 17 07:02 0158666932_2424004_5000000000.ts -rw-rw-r-- 1 root zhangping 909544 Jan 17 07:02 0163666943_2424005_5000000000.ts -rw-rw-r-- 1 root zhangping 909356 Jan 17 07:02 0173666959_2424006_5000000000.ts -rw-rw-r-- 1 root zhangping 861416 Jan 17 07:03 0178666954_2424007_5000000000.ts
missing a segment before 0173666959_2424006_5000000000.ts: 0168xxxxxxx_nnnn_xxxxx.ts
70635b4 , 这次修改后,经调试,问题确实在这里,不过最好的修改方法是改为异步的,而不是用usleep的方法轮询等待send_msg成功
把写分片放在独立的线程中进行,这样让dvr_record_segment线程变成非阻塞的;本来考虑用aio+eventfd+epoll,但是由于写分片调用了glib的库,处理起来比较麻烦,所以采用多线程的方法。
job process log:
dvr segment:
missing a segment before 0173666959_2424006_5000000000.ts: 0168xxxxxxx_nnnn_xxxxx.ts