1. A video multiviewer system comprising: a router configured to receive video data comprising a plurality of video streams at a plurality of video inputs; a video input/output (I/O) controller configured to receive a subset of video streams of the plurality of video streams at respective video inputs, wherein the subset of video streams comprises at least two video streams; a system memory; a graphics processing unit (GPU) comprising a GPU memory; a central processing unit (CPU) configured to operate the video I/O controller to transfer the subset of video streams to the GPU memory via direct memory access (DMA) without being stored in the system memory; and a display configured to receive and display the subset of video streams that are stored in the GPU memory on the display simultaneously in respective display windows, each of the respective display windows providing a video corresponding to one of the subset of video streams, wherein the video I/O controller is further configured to assign and lock addresses to be used for the subset of video streams in the GPU memory while also allowing the subset of video streams to remain accessible via the locked addresses during video transfer, wherein the CPU is further configured to control the router to select and provide the subset of video streams of the plurality of video streams to the video I/O controller for displaying in the respective display windows on the display in response to a user input at a user device wherein the display is further configured to scroll between a viewable portion of the video in one of the respective display windows on the display and a non-viewable portion of the video in the one of the respective display windows on the display in response to the user input at the user device.