There are lots of difference methods, and even apps, to do this.
But they will all need a set of still images to feed on.
IP cameras often have a 'capture' facility where they can be configured to dump an image on a specified repeating schedule into an FTP destination.
As a Linux user, I tend to use the versatile tool ffmpeg to convert the resulting set of still images into a video file.
Example :
ffmpeg -v verbose -framerate 25 -pattern_type glob -i '192.168.1.66_01_202*.jpg' -r 25 -c:v libx265 video1.mp4
BlueIris will time-compress cam videos into a time-lapse using the export function in UI3. You are restricted to the length of the direct-to-disk bvr recording though-- mine being about 2 hours long for that camera. The vid above is two of those files edited together using Adobe Rush. I also have BI recording a jpg every 10 minutes on all my cams. THAT process is more intensive to do-- no handy command line for me to use, LOL. But you can do some cool things with jpg's over much longer timeframes. This is my favorite video-- 10 days compressed to about a minute:
Looks like at about the 35 second mark the front lawn sprinklers in that far 2-story with the street light out front come on...and of course...it's raining!