A method for identifying real-time latency of video streams, comprising: buffering frames of a first video stream into a first buffer; buffering frames of a second video stream into a second buffer; identifying a control group as a subset of frames of the second buffer; computing correlations of extracted features of the control group to extracted features of successive sliding windows of the first buffer, the extracted features being based on spatial information and temporal information of the video streams; and performing calculations on the frames of the second buffer to identify valid frames for which spatial information exceeds a spatial information threshold level of information and temporal information exceeds a temporal information threshold level of information; constructing, as the control group, a control group pattern vector indicating a pattern of the valid frames; using a sliding window approach, advancing a window through frames of the first buffer to extract temporal and spatial features and to compute differences and correlation between the pattern of valid frames of the second buffer and corresponding frames of the window in the first buffer according to the temporal and spatial features, such that a sum of difference values in each window is computed as a group difference for the respective window; determining a frame offset between the first video stream and the second video stream according to the group difference and the correlation; computing a latency between the first video stream and the second video stream according to reading times of the first video stream and the second video stream, frame rates of the first video stream and the second video stream, and the frame offset between the first video stream and the second video stream; and aligning the first video stream and the second video stream according to the latency. buffering frames of a first video stream into a first buffer; buffering frames of a second video stream into a second buffer; identifying a control group as a subset of frames of the second buffer; computing correlations of extracted features of the control group to extracted features of successive sliding windows of the first buffer, the extracted features being based on spatial information and temporal information of the video streams; and performing calculations on the frames of the second buffer to identify valid frames for which spatial information exceeds a spatial information threshold level of information and temporal information exceeds a temporal information threshold level of information; constructing, as the control group, a control group pattern vector indicating a pattern of the valid frames; using a sliding window approach, advancing a window through frames of the first buffer to extract temporal and spatial features and to compute differences and correlation between the pattern of valid frames of the second buffer and corresponding frames of the window in the first buffer according to the temporal and spatial features, such that a sum of difference values in each window is computed as a group difference for the respective window; determining a frame offset between the first video stream and the second video stream according to the group difference and the correlation; computing a latency between the first video stream and the second video stream according to reading times of the first video stream and the second video stream, frame rates of the first video stream and the second video stream, and the frame offset between the first video stream and the second video stream; and aligning the first video stream and the second video stream according to the latency.