A computer-implemented method for autonomous rendering of synchronized media objects, the method comprising:
- obtaining, at a media rendering computer from one or more network-connected user devices, a plurality of unsynchronized media objects, wherein each of the plurality of media objects is associated with at least one project to be executed on the media rendering computer;
- storing, by the media rendering computer, each of the plurality of unsynchronized media objects in a master dataset corresponding to a project to which an unsynchronized media object relates;
- initializing, by the media rendering computer, a media object analysis procedure for each unsynchronized media object, wherein the unsynchronized media object analysis procedure at least comprises collecting metadata associated with the unsynchronized media object;
- determining, by the media rendering computer, a plurality of labels for each unsynchronized media object based on the collected metadata, wherein the plurality of labels at least comprise object labels, facial labels, and action labels;
- executing, by the media rendering computer, audio analysis for at least one audio track associated with each unsynchronized media object to determine an audio score, wherein the audio score is determined based on audio metadata associated with the at least one audio track and the plurality of labels;
- selecting, by the media rendering computer, a best audio track corresponding to each unsynchronized media object based on the determined audio score;
- creating, by the media rendering computer, a narrative sequence comprising of media object slots, each media object slot filled with unsynchronized media objects and corresponding best audio track linked to each media object;
- determining, by the media rendering computer, whether the narrative sequence is approved by at least one user device from the one or more user devices;
- in response to determining that the narrative sequence is approved by at least one user device, generating, by the media rendering computer, a synchronized media object preview;
- and
- transmitting, by the media rendering computer, the synchronized media object preview to the graphical user interface of the at least one user device;
- upon obtaining the plurality of unsynchronized media objects, identifying, by the media rendering computer, a subset of one or more media objects each pertaining to at least one project, wherein projects are created based on predefined information comprising one of project templates, user preferences, and configuration settings;
- uploading, by the media rendering computer, each unsynchronized media object to one of a job queue and media object database;
- and
- initializing, by the media rendering computer, the media object analysis procedure for each unsynchronized media object, comprising one or more of a media object analysis, the audio analysis, a location analysis, and a metadata analysis;
- identifying, by the media rendering computer for each unsynchronized media object, one or more frames contained therein;
- for each frame contained within an unsynchronized media object:
- mapping, by the media rendering computer, bounding box data with data associated with one or more labels from the plurality of labels, wherein the bounding box data is indicative of a space within the frame wherein the at least one label is identified;
- determining, by the media rendering computer, whether at least one matching label and respective bounding box data having global positioning satellite (GPS) data is found for the frame;
- and
- in response to determining that no matching label and bounding box data is found for the frame, marking, by the media rendering computer, a location of the frame as unknown.