A security system video monitoring workstation for processing and displaying a plurality of streams of encoded or compressed video, the workstation comprising: a multi-core CPU; a data network interface; a display control device comprising at least one GPU having multiple hardware cores configured for video decoding multiple video streams; memory storing instances of a GPU codec driver executable by said CPU and each configured to send one of said streams of encoded or compressed video to said at least one GPU with instructions to decode said one of said streams and to display said one of said streams in a predetermined tile of a display; memory storing instances of at least one video codec program module executable by said CPU and configured to decode a format of encoded or compressed video and to send decoded video image data to said at least one GPU for scaling and output in a predetermined tile of a display; memory storing a stream receiving and dispatching program module executable by said CPU and configured to receive said large number of streams of encoded or compressed video from said data network interface and to selectively relay each one of said streams to either one of said GPU codec driver instances or to one of said video codec program module instances; and memory storing a control program module executable by said CPU and configured to detect a processing error or failure of one of said GPU codec driver instances handling a given one of said streams and, in response to said error or failure, cause said stream receiving and dispatching program module to relay said given one of said streams to one of said video codec program module instances with instruction to display said given one of said streams in a same predetermined tile of said display. a multi-core CPU; a data network interface; a display control device comprising at least one GPU having multiple hardware cores configured for video decoding multiple video streams; memory storing instances of a GPU codec driver executable by said CPU and each configured to send one of said streams of encoded or compressed video to said at least one GPU with instructions to decode said one of said streams and to display said one of said streams in a predetermined tile of a display; memory storing instances of at least one video codec program module executable by said CPU and configured to decode a format of encoded or compressed video and to send decoded video image data to said at least one GPU for scaling and output in a predetermined tile of a display; memory storing a stream receiving and dispatching program module executable by said CPU and configured to receive said large number of streams of encoded or compressed video from said data network interface and to selectively relay each one of said streams to either one of said GPU codec driver instances or to one of said video codec program module instances; and memory storing a control program module executable by said CPU and configured to detect a processing error or failure of one of said GPU codec driver instances handling a given one of said streams and, in response to said error or failure, cause said stream receiving and dispatching program module to relay said given one of said streams to one of said video codec program module instances with instruction to display said given one of said streams in a same predetermined tile of said display.