Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ipbt(1) 			  Simon Tatham				 ipbt(1)

NAME
     ipbt - play back tty recording files with random access

SYNOPSIS
     ipbt [ options ] file [ file ... ]

DESCRIPTION
     ipbt is a curses-based playback utility for recordings of terminal sessions
     in either ttyrec or nh-recorder format.

     ttyrec  and nh-recorder are both programs which record the output of a ter-
     minal session, interspersed with timestamps. This allows the session to  be
     replayed  on  another terminal at the original speed, so that the replaying
     terminal screen looks identical to the original, provided the recording and
     replaying terminals are sufficiently  compatible.	ttyrec	and  nh-recorder
     produce differently formatted files, but the principle is very similar.

     To replay a tty recording in a forward direction, a program such as ttyplay
     will simply write the contents of the file to the output terminal, stopping
     to  wait  for  the appropriate period every time it encounters a timestamp.
     Speeding up, slowing down and pausing the replay are easy. Rewinding,  how-
     ever, is almost impossible with this replay architecture.

     ipbt  solves  this  by running the entire tty recording through an internal
     terminal emulator and storing the resulting screen  contents  in  a  manner
     that permits random access. Once this loading process is complete, ipbt can
     play  forwards  and backwards, or jump to an arbitrary point in the record-
     ing, with equal ease.

     This flexibility comes with two disadvantages:

     *	    ipbt takes noticeable time to load a  tty  recording  in  the  first
	    place. At the time of writing this, it typically takes a few seconds
	    per  megabyte  of  input. Simpler programs such as ttyplay can begin
	    playing instantly.

     *	    Since ipbt does its terminal emulation internally,	it  can  support
	    only  one  type of terminal, namely that provided by PuTTY (of which
	    ipbt is a derived work). Any tty recording which is  not  compatible
	    with  that	terminal  type	will not come out looking right. Simpler
	    programs such as ttyplay rely on the terminal they are running in to
	    interpret the terminal control sequences, so they  can  be	made  to
	    support  any  terminal  type  simply by running them in that type of
	    terminal.

     If either of these is a serious problem, you probably don't want to be  us-
     ing ipbt.

OPTIONS
     By  default,  ipbt interprets tty recordings as if they were intended to be
     replayed on an 80x24 screen. You can alter this  using  the  following  op-
     tions:

     -w width
	    Set the width of the emulated terminal to width columns.

     -h height
	    Set the height of the emulated terminal to height rows.

     -u     Set  the width and height of the emulated terminal to be the same as
	    that of the real terminal in which you are running ipbt.

     By default, ipbt will attempt to analyse the input files and  automatically
     guess  whether  they are in ttyrec or nh-recorder format. On rare occasions
     this automatic guessing may fail: for example, a ttyrec made  on  a  system
     whose  clock occasionally jumps backwards may contain timestamps in non-in-
     creasing order, in which case ipbt may consider the file not to be a  valid
     ttyrec  and  either  try  to  interpret  it  as nh-recorder format or (more
     likely) refuse to load it at all. If this happens, you will need to explic-
     itly tell ipbt what type of file it is dealing with using the following op-
     tions:

     -T     Specify that all files appearing on  the  command  line  after  this
	    point  (until  a  subsequent format-specifying option) should be as-
	    sumed to be in ttyrec format.

     -N     Specify that all files appearing on  the  command  line  after  this
	    point  (until  a  subsequent format-specifying option) should be as-
	    sumed to be in nh-recorder format.

     ipbt also provides the following miscellaneous options:

     -f frame
	    After loading the tty recordings, jump to the specified  frame  num-
	    ber.  Frame  numbers are allocated starting from zero, as if all the
	    input files were concatenated; so if you provided two  input  files,
	    one  with  100 frames and one with 50, then frame numbers 0-99 would
	    indicate positions in the first file and frame numbers 100-149 would
	    indicate positions in the second.

     -P     After loading the tty recordings, terminate immediately. This option
	    is unlikely to be very useful at present,  although  it  might  have
	    specialist	uses  for people wanting to measure ipbt's loading speed
	    or test its automatic format detection.

PLAYING
     Once ipbt has loaded a set of tty recordings, it enters a full-screen play-
     ing mode. This section describes the keypresses which control the player.

     To terminate the player, press `q', or Control-C.

     Press `p' or `s' to toggle between pause and play mode. The  player  starts
     up  in  pause mode, so you may well want to press this immediately to begin
     playing.

     To go back by one frame, press `b' or `<'. To go back by many frames,  type
     a number followed by `b' or `<'.

     To  go forward by one frame, press the space bar or `>'. To go back by many
     frames, type a number followed by the space bar or `>'.

     To jump to a particular frame number, type  the  number  followed	by  `g'.
     Pressing `g' on its own will jump to the start of the recording.

     Pressing  capital	`G' will jump to the end of the recording. If you type a
     number followed by `G', it will jump to that many frames before the end.

     To play back the recording at higher speed, type a number followed by  `x'.
     For  example,  typing `3x' will set the player to three times normal speed.
     (This will not automatically bring you out of pause mode; you still need to
     press `p' or `s' for that.)

     To play back at a lower speed, type a number followed by capital  `X';  for
     example, `3X' will set the player to one-third normal speed.

     To return to normal speed, you can type `1x' or `1X', or just `x' or `X'.

     If you press `l', the player will toggle logarithmic time compression. This
     is a mode in which the delay between frames is scaled in a non-linear fash-
     ion:  small  delays are changed very little, but extremely large delays are
     made significantly less large, so that an hour between frames in the origi-
     nal recording becomes only about eight seconds, a day becomes  eleven,  and
     even  a  year between frames would become around seventeen seconds. This is
     helpful if the person who made the recording left the terminal for  a  long
     time  in  the middle of their session. Logarithmic mode can be used in con-
     junction with the `x'/`X' scaling feature.

     If you press `o', the player will show an on-screen display  near	the  top
     left of the screen, showing the current frame number and playback settings.
     Press `o' again to make the display go away.

     You  can  also search the recording for a frame in which a particular piece
     of text appears on the screen. Press `/' to search forwards from  the  cur-
     rent  position,  or  `\' or `?' to search backwards. Each of these commands
     will cause ipbt to prompt for a piece of text to find, and will then search
     for a frame that contains that text. Press `n' to search for the same piece
     of text again in the same direction.

BUGS
     ipbt's internal terminal emulation is that of PuTTY, but its display of the
     resulting data is rather more simplistic. Many output features supported by
     PuTTY are therefore not supported by ipbt: among those features are Unicode
     and xterm 256-colour mode.

LICENCE
     ipbt is free software, distributed under the MIT licence. Type  ipbt  --li-
     cence to see the full licence text.

Simon Tatham			   2007-04-19				 ipbt(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ipbt&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help