14. A computerized apparatus comprising a processor and a non-transient memory, the non-transient memory having stored thereon program code for execution by said processor, the program code comprising: a video receiving component for receiving a multiplicity of videos from a source; a meta data receiving component for receiving meta data related to each video; a frame extraction component for extracting from the video a video frame containing computer code; a frame analysis component for identifying a region of interest (ROI) within the video frame; and an OCR engine for performing optical character recognition (OCR) of the ROI to extract code segment; a semantic analysis component for semantically analyzing the code segment to obtain a first rank; a structural analysis component for structurally analyzing the code segment to obtain a second rank; a meta data analysis component for analyzing the meta data to obtain a third rank; a ranking component for combining the first rank, second rank and third rank into a total rank associated with the code segment; a query receiving component for receiving a query; a query matching component for matching the query to each code segment to identify matching code segments and associated videos; and a result providing component for providing the associated videos in accordance with total ranks associated with the matching code segments.
18. The computerized apparatus according to claim 14 , wherein the OCR engine is adapted to use a statistical language model.