There's simple cam system included in OTCv8. To record cam, edit characterlist.lua, add another parameter to
g_game.loginWorld(G.account, G.password, charInfo.worldName, charInfo.worldHost, charInfo.worldPort, charInfo.characterName, G.authenticatorToken, G.sessionKey)
g_game.loginWorld(G.account, G.password, charInfo.worldName, charInfo.worldHost, charInfo.worldPort, charInfo.characterName, G.authenticatorToken, G.sessionKey, "cam_name.record")
g_settings.setNode("things", {})
g_game.setClientVersion(860)
g_game.setProtocolVersion(g_game.getClientProtocolVersion(860))
g_game.playRecord("cam_name.record")