o-----o-----o

See what I typed up top? Thats the basis for the idea I am having. Essentially, you would calculate the distance between 3 positions, Previous node, Current node, and Next node. what you would do is move the camera via lerp between the distance of the current node and the next node (Or the previous node if the camera is going backwards). After you get past the halfway point between the current node and the next node, the next node then becomes the current node and the next node becomes the literal next node. You could get the distance between nodes using vec_dist and smoothly move the camera between points using vec_lerp.

Hope this helps as it was the only thing I could think of.