1. A computer-implemented method for processing media files using a computer, comprising: monitoring at least one application for the occurrences of events wherein at least one event is associated with a media file; capturing the at least one event upon the occurrence of the event by queuing event data associated with the event at a position in a queue; indexing and storing at least some of the events and the media file associated with the event at a time after the occurrence of the event, wherein the time is based on performance data indicating a readiness to process the event and a position in the queue; receiving a search query; locating at least one relevant media file from the indexed and stored events relevant to the search query; and outputting a result set comprising the at least one relevant media file.