I send an rtsp stream in live streaming on peertube with ffmpeg and a code that restarts the live if it crashes.
The live instance on peertube becomes corrupted after a few hours. This is the peertube error message:
error[24/11/2023, 09:31:16] uncaughtException: Cannot read properties of undefined (reading 'kill') TypeError: Cannot read properties of undefined (reading 'kill') at FFmpegTranscodingWrapper.abort (/app/dist/server/lib/live/shared/transcoding-wrapper/ffmpeg-transcoding-wrapper.js:60:28) at MuxingSession.abort (/app/dist/server/lib/live/shared/muxing-session.js:75:33) at LiveManager.abortSession (/app/dist/server/lib/live/live-manager.js:165:27) at Timeout._onTimeout (/app/dist/server/lib/live/live-manager.js:68:35) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7)
{
"error": {
"stack": "TypeError: Cannot read properties of undefined (reading 'kill')\n at FFmpegTranscodingWrapper.abort (/app/dist/server/lib/live/shared/transcoding-wrapper/ffmpeg-transcoding-wrapper.js:60:28)\n at MuxingSession.abort (/app/dist/server/lib/live/shared/muxing-session.js:75:33)\n at LiveManager.abortSession (/app/dist/server/lib/live/live-manager.js:165:27)\n at Timeout._onTimeout (/app/dist/server/lib/live/live-manager.js:68:35)\n at listOnTimeout (node:internal/timers:559:17)\n at processTimers (node:internal/timers:502:7)",
"message": "Cannot read properties of undefined (reading 'kill')"
},
"stack": "TypeError: Cannot read properties of undefined (reading 'kill')\n at FFmpegTranscodingWrapper.abort (/app/dist/server/lib/live/shared/transcoding-wrapper/ffmpeg-transcoding-wrapper.js:60:28)\n at MuxingSession.abort (/app/dist/server/lib/live/shared/muxing-session.js:75:33)\n at LiveManager.abortSession (/app/dist/server/lib/live/live-manager.js:165:27)\n at Timeout._onTimeout (/app/dist/server/lib/live/live-manager.js:68:35)\n at listOnTimeout (node:internal/timers:559:17)\n at processTimers (node:internal/timers:502:7)",
"exception": true,
"date": "Fri Nov 24 2023 08:31:16 GMT+0000 (Coordinated Universal Time)",
"process": {
"pid": 1,
"uid": 999,
"gid": 999,
"cwd": "/app",
"execPath": "/usr/local/bin/node",
"version": "v16.20.2",
"argv": [
"/usr/local/bin/node",
"/app/dist/server"
],
"memoryUsage": {
"rss": 292007936,
"heapTotal": 174297088,
"heapUsed": 116616424,
"external": 12352552,
"arrayBuffers": 3564708
}
},
"os": {
"loadavg": [
1.03,
1.47,
1.67
],
"uptime": 7426327.71
},
"trace": [
{
"column": 28,
"file": "/app/dist/server/lib/live/shared/transcoding-wrapper/ffmpeg-transcoding-wrapper.js",
"function": "FFmpegTranscodingWrapper.abort",
"line": 60,
"method": "abort",
"native": false
},
{
"column": 33,
"file": "/app/dist/server/lib/live/shared/muxing-session.js",
"function": "MuxingSession.abort",
"line": 75,
"method": "abort",
"native": false
},
{
"column": 27,
"file": "/app/dist/server/lib/live/live-manager.js",
"function": "LiveManager.abortSession",
"line": 165,
"method": "abortSession",
"native": false
},
{
"column": 35,
"file": "/app/dist/server/lib/live/live-manager.js",
"function": "Timeout._onTimeout",
"line": 68,
"method": "_onTimeout",
"native": false
},
{
"column": 17,
"file": "node:internal/timers",
"function": "listOnTimeout",
"line": 559,
"method": null,
"native": false
},
{
"column": 7,
"file": "node:internal/timers",
"function": "processTimers",
"line": 502,
"method": null,
"native": false
}
]
}
-----------
this is my ffmpeg script:
PTF SetteMartiri
~/../../usr/local/bin/ffmpeg -re -rtsp_transport tcp -i rtsp://xxx.178.42.230:7447/foWs1v0xBYFsGcsc?enablertsp -c:v libx264 -preset veryfast -b:v 2500k -maxrate 3000k \
-bufsize 6000k -g 50 \
-f flv -flvflags no_duration_filesize \
-recovery_wait_time 1 rtmp://garr.tv:1935/live/xxxxxxxxxxxxx