ttyrec is a program or its file format capable of recording the TTY output of a text-mode program together with timestamps and then replaying it.
It is widely used for example in the NetHack community for storing game replays.
It is similar to the script command, but also allows for pausing, slowing down or speeding up playback. It can also stream the recording on the network and be used to transfer files with uudecode.[1]
The format does not contain any information about the character set used nor about the terminal size needed to play back the file. termrec will inject this information as \e%G for UTF-8 or \e%@ for not UTF-8 and as \e[8;Y;Xt for size, but not all players will understand these codes.