System and methods for managing media content playback using social media data

Methods and systems for managing the playback of media content via a website accessed by a user computer are described. According to aspects, the methods and systems may access and retrieve various data associated with media content such as engagement data related to an interaction by a user with the media content playback, as well as social media data relating to playback of a set of media content by a set of additional users. The methods and systems may analyze any combination of the data to identify a relevant media file that may be of interest to the user and provide the media file to the user computer for playback by the user. The analysis models may be continuously updated and used to improve media selection and streamline partnerships with third-party entities.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to selecting media content for user playback and, more particularly, to systems and methods for analyzing various data from various sources to identify relevant media content to provide for user playback on media players.

BACKGROUND

For a number of years, individuals have viewed media content as traditional media broadcasts on television sets. Typically, the individuals tune to a specific channel and watch the programming content that is broadcast on that channel, or otherwise watch a recorded version of the programming content. Companies who produce and/or broadcast the content have decades worth of relevant engagement and ratings data to identify potentially popular content as well as create advertising strategies for the content. For example, networks may leverage demographics and ratings data during negotiations with advertisers who wish to target the viewers of the network.

However, there is an increasing amount of usage of “alternative” screens or devices for content consumption. In particular, individuals are increasingly using devices other than televisions to view or consume various media such as standalone videos and programming content. For example, individuals are increasingly using devices such as smartphones, tablets, notebook computers, and the like to view streaming videos directly on websites or via various dedicated applications. The alternative screens typically allow for more user interaction (e.g., skipping within videos) than does traditional television viewing. Further, individuals generally have less willingness to watch longer videos and advertisements on alternative screens. Accordingly, the traditional engagement data and third-party data that is associated with traditional television viewing is not necessarily applicable to alternative screen viewing. As a result, content producers and providers are not able to optimize content delivery for playback on alternative screens.

Therefore, there is an opportunity for techniques for gathering relevant data to improve content production and delivery to enhance the viewing experience for individuals.

SUMMARY

In an embodiment, a computer-implemented method of managing playback of media content in a media player embedded in a webpage hosted by a website server and accessed by a user computer is provided. The method includes detecting, by one or more processors, an initial playback of a media file within the media player, retrieving, by one or more processors, engagement data corresponding to interaction by a user during the initial playback of the media file, and receiving social media data related to playback of a set of media content by a set of additional users. The method further includes identifying, by the one or more processors based on the engagement data and the social media data, a preferred media file of the set of media content, and providing an identification of the preferred media file to the user computer to initiate playback of the preferred media file via the media player.

In another embodiment, a system for managing playback of media content in a media player embedded in a webpage hosted by a website server and accessed by a user computer is provided. The system includes a communication module configured to transmit data to the website server, a memory storing a set of computer-executable instructions, and a processor adapted to interface with the communication module and the memory. The processor is configured to execute the set of computer-executable instructions to cause the processor to detect an initial playback of a media file within the media player, retrieve, via the communication module, engagement data corresponding to interaction by a user during the initial playback of the media file, and receive social media data related to playback of a set of media content by a set of additional users. The processor is further configured to identify, based on the engagement data and the social media data, a preferred media file of the set of media content, and provide, via the communication module, an identification of the preferred media file to the user computer to initiate playback of the preferred media file via the media player.

DETAILED DESCRIPTION

The novel systems and methods disclosed herein relate generally to improving media content selection and delivery. According to certain aspects, the systems and methods are configured to interface with website providers that host websites accessible by users. The websites may support media players that enable users to view or otherwise consume various media content. For example, the media content may be videos, audio, images, and/or the like. The systems and methods may account for various data and combinations of data to improve the selection and delivery of media content via the websites.

Existing content delivery techniques enable users to view media content but offer limited features related to selecting relevant media content for the users to view. In this regard, users may not be engaged during interaction with the media player. This poses a problem for users because users ultimately may not find or view desired media content. This additionally poses a problem for website providers and other entities because user engagement is lacking. For example, a company's advertisement may not reach a target amount or type of viewers due to limited demographic data and/or a lack of ability to maintain viewer engagement.

The present embodiments describe one or more central servers that interface with a variety of entities to retrieve or otherwise access various types of data. The central server may analyze the data to select relevant media content in an effort to improve user engagement. The central server may be configured for a variety of analyses related to the media content selection as well as to the websites that support the media content. In particular, the central server may access context data that indicates a context or type of the websites (e.g., sports, lifestyle, entertainment, etc.), as well as various content data associated with the media content itself. Further, the central server may communicate with the website providers to retrieve engagement data related to user interaction with media content playback. The central server may analyze a combination of this data to identify media content having a greater relevancy to the website being visited as well as to the user and what the user wishes to view.

The central server may also interface with various social networking services to compile data related to content that is popular. The social media data may be especially relevant to a user if originated from “connections” of the user within a social networking service. In some scenarios, the users visiting the websites may wish to view popular content regardless of whether the users already know about the popular content. The central server may analyze the social network data singularly or in combination with the content, context, and/or engagement data to improve the media content identification. In some embodiments, the social media data may have a higher priority or weighting than the other data.

The central server may further interface with various third-party entities. In some cases, the third-party entities may be partners such as companies wishing to avail advertisements to website users. The central server may therefore prioritize some of the media content based on priority requirements from the business partners. In other cases, the third-party entities may offer applications or platforms to assist the central server with collecting various of the data to be analyzed, or may otherwise serve as sources for some of the data to be analyzed. The central server may also update its analysis models with updated data that is collected when users view content via the media players.

The systems and methods therefore offer numerous benefits. In particular, users of websites are presented with more relevant media content or otherwise with media content that the users enjoy viewing. Further, websites may improve user engagement metrics by providing users with content that is more relevant to the websites as well as to the users, which can lead to increased revenues. Advertising metrics may also be improved when the users are more engaged with viewing advertisements. The systems and methods further enable the central entities to continuously improve its analysis models with a continuously increased value to numerous entities as well as end users.

The systems and methods discussed and envisioned herein may be extended to a wide variety of technologies and technical fields. In particular, the systems and technologies may be implemented across various industries such as entertainment, advertising, news, education, and others. The systems and methods, therefore, improve content selection and delivery across all of these technologies and technical fields.

FIG. 1depicts an example environment100associated with processing various data improve media selection and playback. AlthoughFIG. 1depicts certain entities, components, and devices, it should be appreciated that additional or alternate entities and components are envisioned.

As illustrated inFIG. 1, the environment100includes an analysis server105configured to facilitate various of the functionalities as discussed herein. The analysis server105may include any combination of hardware and software modules or applications that are configured to support and implement various features of the described systems and methods. Further, the analysis server105may be associated with any company, corporation, individual, group of individuals, or the like. Generally, the analysis server105is configured to compile and analyze data from various sources and entities to facilitate the selection of media content for user playback. As used herein, “media content” may refer to any type of digital media data configured to be communicated between components as well as output via hardware devices. In particular, the media content may include, but is not limited to, audio data, video data, image data, and/or any combination thereof. The media content may be in the form of media files having various formats such as, for example, .wm, .wmv, .asf, .m2ts, .m2t, .mov, .qt, .avi, .wtv, .dvr-ms, .mp4, .mov, .mov, .mpeg, .mpg, .mpe, .m1v, .mp2, .mpv2, .mod, .vob, .m1v, .avi, .mov, .asx, .wm, .wma, .wmx, .wav, .mp3, .m3u, .aac, .jpg, .jpeg, .hdp, .wdp, .tif, .tiff, .raw, .gif, .bmp, .png, and/or other standard or proprietary formats.

The analysis server105may interface with storage109that stores various information and data that may be accessed by the analysis server105. The storage109can include one or more forms of volatile and/or non-volatile, fixed and/or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and/or other hard drives, flash memory, MicroSD cards, and others. Although illustrated as separate from the analysis server105, it should be appreciated that the storage109may alternatively be included as part of the analysis server105.

The analysis server105is configured to communicate with one or more media entities115and one or more website providers125via one or more networks120. Generally, the media entities115produce, avail, and/or otherwise store media content for viewing by users. For example, a company may produce and locally host a set of video advertisements. In some cases, the analysis server105may retrieve media content from the media entities115and store the retrieved media content in the storage109. In other cases, the analysis server105may identify or access a location (e.g., a uniform resource locator (URL)) of media content stored on the media entities115. It should be appreciated that the media content may originate from other entities other than the media entities115.

The website providers125are configured to host websites for access by the users. In embodiments, the websites of the website providers125may support various media players via which media content may be accessed, viewed, or the like. In particular, when a user accesses a website using an electronic device, the website may render a corresponding media player on the web browser of the electronic device. Although the embodiments describe the media players being rendered within a web browser, it should be appreciated that the media players may be implemented, accessed, rendered, or the like within other components or programs such as, for example, dedicated applications installed on electronic devices. It should be appreciated that various types and implementations of the media players are envisioned. In some cases, a media player of a website may be programmed within code (e.g., computer-readable instructions) associated with the website so that when a user accesses the website, the media player appears embedded within the website. It should be appreciated that the website may support the media player via other techniques. Generally, a media player enables media content such as various media files to be played or output therefrom. The media player may support playback of single media files and/or multiple media files that may be arranged in one or more playlists. The media player may access and retrieve the media content from various sources such as the storage109, the media entities115, or other sources. In some cases, the website providers125may locally host the media content.

The users may use a variety of electronic devices110to access the media players and the associated media content via the websites of the website providers125. For example, the electronic devices110may include smartphones, PDAs, tablet devices, notebook computers, desktop computers, and/or any other device configured to display or present media content. In operation, when an electronic device110accesses a website, the electronic device110may execute a media player via which media content may be played, where the media player is rendered on the web browser of the electronic device110by the website provider125. The electronic device110may enable a user to interact with and make selections indicated in the media players. The electronic devices110may communicate with the web site providers125(and in some cases, the analysis server105and the media entities115) via the network(s)120. It should be understood that the network(s)120can facilitate any type of data communication via any standard or technology (e.g., GSM, CDMA, TDMA, WCDMA, LTE, EDGE, OFDM, GPRS, EV-DO, UWB, IEEE 802 including Ethernet, WiMAX, and/or others).

As illustrated inFIG. 1, the analysis server105may include a context analysis module106, an engagement analysis module107, a content analysis module108, a social media analysis module111, and a topical analysis module112. Each of the context analysis module106, the engagement analysis module107, the content analysis module108, the social media analysis module111, and the topical analysis module112may interface with various components and interfaces of the analysis server105to support and facilitate the corresponding functionalities. Further, one or more users or individuals (e.g., developers, programmers, administrators, etc.) may interface with each of the context analysis module106, the engagement analysis module107, the content analysis module108, the social media analysis module111, and the topical analysis module112. Although illustrated as separate modules within the analysis server105, it should be appreciated that two or more of the context analysis module106, the engagement analysis module107, the content analysis module108, the social media analysis module111, and the topical analysis module112may be combined into a single module.

The context analysis module106is generally configured to access and analyze information about the websites hosted by the website providers125. For example, the context analysis module106may access and analyze HyperText Markup Language (HTML) code (and specifically, the tags of the HTML code) of individual webpages of the websites. Further, the context analysis module106may analyze URLs associated with the individual webpages. According to embodiments, the website information may indicate the type of website and the content thereof. For example, if the HTML code or any URLs of a website include the words “basketball,” “baseball,” “hockey,” and “football,” then the context analysis module106may deduce that the website is a sports website. It should be appreciated that the context analysis module106may examine or analyze the website using data separate from (and/or data included in) data associated with the media player. In particular, the context analysis module106may “crawl” the data of the websites to identify keywords, tags, and other relevant data, as well as perform any semantic analysis on the identified data. The context analysis module106may perform its identification and analysis at any point, and may associate the resulting data with a URL of the website. It should be appreciated that the context analysis module106may use any type of technique, model, algorithm, or the like to analyze the website information and determine a type or context of the website based on the analysis.

The engagement analysis module107is generally configured to analyze engagement data associated with a user's engagement and interaction with the websites (and media players thereof) hosted by the website providers125. Typically, when a user accesses a website, the website can send a data snippet that is stored as a local data store on the web browser of the user. For example, the local data store may be in the form of a cookie. The local data stores can enable the website to store various stateful information (e.g., user login information). Further, the local data stores for each website hosted by the website providers125may record the user's activity on the website (e.g., button clicks, logins, page visits, etc.). In particular, the local data stores may record the user's activity related to playback of media content. For example, if a website embeds a video player, a cookie associated with the website can record user activity data such as play/pause/stop instances, full screen selections, volume adjustments, fast-forwarding, rewinding, amount of views, and the like. It should be appreciated that other techniques and components are envisioned for collecting and/or recording activity information such as web page scripts and others. In some implementations, various device identification and canvas fingerprinting techniques support general identifying data corresponding to the user, where the identifying data may correlate the user to a certain browser configuration which can be inferred to be the same user, without the need for client storage.

The engagement analysis module107may access the local data stores to retrieve and analyze the user activity data. In particular, the engagement analysis module107may store user activity data corresponding to an associated local data store of the electronic device110. The analysis of the local data stores may indicate media content viewing habits of the users. For example, the engagement analysis module107may determine that a particular user typically skips video advertisements that are longer than thirty (30) seconds. In embodiments, the engagement analysis module107may analyze local data store data for a plurality of users across a plurality of website providers125to refine the analysis and determinations. Essentially, the engagement analysis module107may serve as a data management platform (DMP) that enables individuals or entities to create target audiences based on first-party and/or third-party browsing data, tailor campaigns to these audiences across third-party ad networks and exchanges, and measure the performance of campaigns across segments and channels. It should be appreciated that the engagement analysis module107may use any type of technique, model, algorithm, or the like to analyze the website information, determine viewing habits, and formulate strategies for media content selection.

The content analysis module108is generally configured to examine data associated with media content itself. In particular, the content analysis module108may examine metadata associated with individual media content files to identify keywords or tags included in the metadata. For example, if one media content file is an instructional video on how to grill a steak, the content analysis module108may identify, from video metadata, words or phrases such as “steak,” “grilling,” “how-to,” and “cooking.” The content analysis module108may further identify the keywords or tags from closed-captioning text associated with the media content. In some implementations, the content analysis module108may extract content data from the media content based on time log information. For example, a video file may include a cake baking portion from 0:01 to 4:45, followed by a salmon grilling portion from 4:46 to 10:00, whereby the content analysis module108may extract the corresponding content data based on which portion a user is viewing or has viewed.

The analysis server105may also communicate with various social networking services135via the network(s)120. Generally, each social networking service135is a platform that supports social networks or social relations among people who share interests, activities, backgrounds, and/or real-life connections. Users within each social networking service135typically have an account with an associated profile and social links, whereby the social networking service135enables a variety of services for the users. According to embodiments, the social networking service135may send, to the analysis server105, data related to media content consumption. The social networking data may include viewership metrics of various media content.

According to embodiments, the social media analysis module111may analyze the data retrieved from the social networking service135to further refined media content file selection. For example, the social media analysis module111may determine that a certain media file is shared between connections within the social networking service135, and may prioritize the certain media file accordingly. Similarly, the topical analysis module112may analyze the data retrieved from the social networking service135to identify media files that are popular (e.g., “viral” or “trending” content). For example, the topical analysis module112may determine that a certain media file is “viral” if it is viewed or shared a threshold amount of times within a certain time period. Therefore, each of the modules106,107,108,111, and112of the analysis server105may perform a separate analysis of associated data, whereby the analyses may be used singularly or in combination with each other to identify relevant media files for playback within the media players.

A set of third-party sources130, such as any company, corporation, individual, group of individuals, or the like, may also communicate with the analysis server105via the network(s)120. According to some embodiments, the third-party sources130may partner with an entity associated with the analysis server105, such as companies wishing to avail advertisements to website users. The analysis server105may therefore prioritize some of the media content based on priority requirements from the third-party sources130. In other embodiments, the third-party entities130may offer applications or platforms to assist the analysis server105with collecting various of the data to be analyzed, or may otherwise serve as sources for some of the data to be analyzed. For example, the third-party entities130may compile various data that the engagement analysis module107may use as part of its DMP functionalities.

In operation, the analysis server105(and modules thereof) may analyze all available data to identify or select relevant media content to provide to the electronic devices110or otherwise cause the electronic devices110to avail to users, when the electronic devices110are accessing the associated website providers125. The analysis server105may further update its models and algorithms as new engagement data or other data is received, thus improving the media content selection. Additionally, the analysis server105may provide feedback to various of the third-party sources130, website providers125, and/or media entities115, to help the relevant entities in creating new media content, availing different content, or for other benefits.

FIG. 2illustrates envisioned benefits of the systems and methods discussed herein.FIG. 2depicts an analysis server205(such as the analysis server105as discussed with respect toFIG. 1), one or more third-party sources or applications230(such as the third-party sources130as discussed with respect toFIG. 1), one or more electronic devices110(such as the electronic devices110as discussed with respect toFIG. 1), and one or more website providers225(such as the website providers125as discussed with respect toFIG. 1).

Generally, the third-party sources or applications230may provide, to the analysis server205, data related to media content playback via websites hosted by the website providers225and accessed by the electronic devices210. In some cases, the data may be in the form of priority or requirements that may specify the analysis server205to select specific media content to provide to the electronic devices210. In other cases, the data may be collected by the third-party sources230, where the data is associated with playback of the media content. In particular, the data may be related to one of more of the categories illustrated inFIG. 2: behavioral, audience, advertising, verification, and metadata/information. The behavioral data may include, but is not limited to: site-level performance (e.g., page and media content), asset-level performance, user/audience behavior, publisher performance, provider performance, player performance, page/asset social activity, and/or the like. The analysis server205may compile the behavioral data from various of the third-party sources or applications230such as video hosting sites, marketing or analytics sources, video players, other websites, social channels, and others.

The audience data may include, but is not limited to: audience demographic information and segmentation, first party viewer data, consumer demographic information, consumer interests, online/offline consumer behavior, and/or the like. The analysis server205may compile the behavioral data from various of the third-party sources or applications230such as cross-media verification and information services, marketing and information management services, consumer data collection companies, and others.

The advertising data may include, but is not limited to: advertising campaigns and performance data, advertising revenue and payment data, campaign validation measurements, and/or the like. The analysis server205may compile the advertising data from various of the third-party sources or applications230such as internet analytics companies, ad management technology, ad trafficking services, monetization analytics companies, and others.

The verification data may include, but is not limited to: network and site-level performance data, network and site-level audience information, traffic and advertising viewing metrics, and/or the like. The analysis server205may compile the verification data from various of the third-party sources or applications230such as internet analytics companies, advertising campaign rating entities, content protection systems, and others.

The metadata/information may include, but is not limited to: asset-level metadata, publisher or provider deal terms, publisher information, player information, page-level data and placement, and/or the like. The analysis server205may compile the metadata/information from various of the third-party sources or applications230such as content management systems, client portals, partner teams, media management assistants, and others.

FIG. 3depicts an example signaling diagram300facilitated by various components and entities, and associated with managing media content identification and playback. The signaling diagram300includes storage309(such as the storage109as discussed with respect toFIG. 1), an analysis server305(such as the analysis server105as discussed with respect toFIG. 1), a set of third-party sources330(such as the third-party sources110as discussed with respect toFIG. 1), a website provider325(such as the website provider125as discussed with respect toFIG. 1), a user computer310(such as one of the electronic devices110as discussed with respect toFIG. 1), and a social networking service335(such as the social networking service135as discussed with respect toFIG. 1).

The functionalities may begin with a user using the user computer310to access (340) a website hosted by the website provider325. In some cases, the user may navigate throughout various webpages of the website. When the user computer310navigates to a webpage that supports a media player embedded therein, the website provider325may render the media player on the web browser of the user computer310and the user computer310may initiate (342) the media player. For example, the media player may be a video player configured to play a set of videos. In embodiments, the markup language associated with the webpage may include program code for the embedded media player.

The user computer310may record (344) engagement data from the user computer310related to user interaction with the media content playback. In particular, the engagement data may indicate play/pause/stop actions, volume adjustments, media completion data (e.g., in deciles), screen size adjustments, playlist or control actions, and/or other data. The engagement data may be associated with one or more local data stores that are associated with the website and stored on the user computer310. The user computer310may send (348) the engagement data and optionally any website context data to the analysis server305. In embodiments, the user computer310may send the engagement data to the analysis server305in real-time as the user computer310records the engagement data, such that the user computer310need not store the engagement data. In some cases, the analysis server305may examine or access any website data to identify the website context data. In particular, the analysis server305may analyze HTML code (and specifically, the tags of the HTML code) of individual webpages of the website as well as analyze any URLs associated with the individual webpages. In some implementations, a crawler component (that may be separate from or part of the analysis server305) may perform a deep extraction on the webpages of the website as well as the media files associated therewith, and record the resulting data. The analysis server305may store the engagement data received from the user computer310for subsequent access or retrieval. In particular, the analysis server305may associate the engagement data with an identification (e.g., a cookie) of the user computer310, such that the analysis server305maintains which engagement data is associated with which user computer310.

In an optional embodiment, one of the third-party sources330may send (346) priority requirements to the analysis server305. For example, a company wishing to advertise on the website of the website provider325may request for the analysis server305to play advertisements for the company (essentially, “branded content”) in the embedded media player. As another example, an entity may wish to push out a new series of media content in an effort to gain initial views. It should be appreciated that other situations and scenarios are envisioned for the third-party source330to submit priority requirements for playback of media files.

The analysis server305may retrieve (350), from the storage309, media content data. According to embodiments, the media content data may include metadata associated with the media files available in the storage309. The metadata may indicate keywords or tags for the media files, which may indicate the types of media files as well as the content of the media files. In embodiments, the analysis server305may retrieve (352) social media data from the social media service335. The social media data may indicate media files that are “viral,” “trending,” or otherwise have numerous views by users of various social networks. Further, the social media data may indicate media files associated with breaking news that may be of interest to users. The analysis server305may access the media files indicated in the social media data via a file path, link, or the like. In some cases, the analysis server305may store the media files indicated in the social media data in the storage309.

The analysis server305may identify (354) appropriate media (or a preferred media file) based on one or more of the priority requirements, the engagement data, the website context data, the media context data, and the social media data. It should be appreciated that the analysis server305may weight or prioritize the data according to any convention. For example, the priority requirements may prevail over all of the engagement data, the website context data, the media context data, and the social media data. For further example, the engagement data, the website context data, the media context data, and the social media data may be weighted equally. Additionally, the analysis server305may identify, from the social media data, a media file as popular if the media file has been viewed at least a threshold number of times. As an additional example, the analysis server305may identify a media file based on a combination of the social media data and the engagement data. It should be appreciated that the analysis server305may perform or execute any type of model or algorithm in analyzing the data to identify the appropriate media.

After identifying the appropriate media, the analysis server305can retrieve (356) the media file from the storage309. In some cases in which the media file may not be stored in the storage309, the analysis server305may identify and record a link or reference (e.g., a URL) to the media file. The analysis server305can provide (358) the media file to the user computer310, or otherwise cause the user computer310to access the media file (e.g., by providing the user computer310with a link to the media file). The user computer310may initiate (360) playback of the media file in the embedded media player. In some cases, the user computer310may load the media file within the embedded media player and the user of the user computer310may request to start playback of the media file (e.g., by selecting a “play” selection within the media player).

During playback of the media file, the user computer310may record (362) engagement data of the user. In particular, the user computer310may detect various selections made by the user during playback of the media file, and the user computer310may record the selections in an appropriate local data store stored on the user computer310. The user computer310may provide (364) the updated engagement data to the analysis server305. In some cases, the analysis server305may request the updated engagement data from the user computer310. The analysis server305may store the updated engagement data received from the user computer310for subsequent access or retrieval. In particular, the analysis server305may associate the updated engagement data with an identification (e.g., a cookie) of the user computer310.

The analysis server305may facilitate additional playback of additional media files within the media player. In particular, the analysis server305may identify (366) a subsequent media file based on various factors such as any of the updated engagement data, the original engagement data, website context data, media content data, social media data, and/or priority requirements. In this regard, the analysis server305may facilitate continuous playback of a plurality of media files within the media player. Further, the analysis server305may be configured to update the various models and/or algorithms used to identify the media files based on the updated and/or original engagement data as well as any additional website context data, media content data, social media data, and/or priority requirements. Accordingly, the analysis server305may become “smarter” in identifying more relevant or desirable media files.

The analysis server305may also provide (368) feedback related to the media file playback to one of the third party sources330. For example, the analysis server305may determine that users are more engaged with certain media files versus other media files. Further, for example, the analysis server305may determine that users are generally more engaged while viewing a 30-second advertisement than when viewing a 60-second advertisement. It should be appreciated that additional feedback metrics are envisioned. Although not depicted inFIG. 2, it should be appreciated that various of the third-party sources330may provide, to the analysis server305, additional metrics related to the media content playback.

Referring toFIG. 4, depicted is a block diagram of an example method400for prioritizing media content in a media player embedded in a webpage hosted by a website server. The method400may be facilitated by a server, such as the analysis server105as discussed with respect toFIG. 1. The server may support one or more modules to facilitate the various functions as well as various interfaces to enable user input and selections. The analysis server105may facilitate the method400in response to a user computer accessing the webpage hosted by the website server, whereby the webpage renders a media player for playback of media files by the user computer.

The method400can begin with the server determining (block405) whether priority or requirement data has been received or detected. In some cases, the priority or requirement data may be received from a third-party entity with associated media content that may have a playback priority. If priority or requirement data has been received or detected (“YES”), the server can identify (block410), based on the priority or requirement data, a priority media file. Further, the server can provide (block415) the identification of the priority media file to the user computer for playback of the priority media file in the media player. In embodiments, the server can retrieve the priority media file from storage and provide the priority media file directly to the user computer, or the server can provide an identification (e.g., a URL) of the priority media file to the user computer, where the user computer can access the priority media file via the identification.

If priority or requirement data has not been received or detected (“NO”), the server can access (block420) context data associated with the webpage in which the media player is embedded or rendered. In particular, the server may access a set of tags included in markup language for the website, and may identify one or more keywords from the set of tags. The server may also “crawl” the website to access additional data as well as semantically analyze any accessed data. The server can further retrieve (block425) engagement data corresponding to interaction by a user during playback of at least a portion of a set of media content. In particular, the server may retrieve or otherwise access engagement data associated with a local data store stored on a web browser of the user computer that indicates various interactions or actions that the user performs during the playback. Additionally, the server can access (block430) metadata associated with the set of media content. In particular, the server can examine the metadata to identify a set of keywords associated with the media content.

The server can determine (block435), based on at least one of the context data, the engagement data, and the metadata, a preferred media file of the set of media content. It should be appreciated that the server, in identifying the preferred media file, can weight the context data, the engagement data, and the metadata in any combination and/or according to any technique or algorithm. The server can provide (block440) an identification of the preferred media file to the user computer to initiate playback of the preferred media file via the media player. In some cases, the server can retrieve the preferred media file from storage and provide the preferred media file directly to the user computer. In other cases, the server can provide an identification (e.g., a URL) of the preferred media file to the user computer, where the user computer can access the preferred media file via the identification.

The server may also receive (block445) updated engagement data from the user computer, where the updated engagement data may correspond to the user's interaction during playback of the preferred media file. The server may update (block450) the engagement data to reflect the updated engagement data. The server may therefore maintain up-to-date information associated with the user that the server may use to select or identify additional media files for playback on the media player.

The server may compile (block455), based on the updated engagement data, feedback associated with the playback of the preferred media file. In embodiments, the feedback may include metrics associated with the user's interaction during playback of the preferred media file. The server may provide (block460) the feedback to a third-party entity. In embodiments, the third-party entity may be any entity with an interest in the feedback, such as a marketing company, an advertising entity, a company, or the like.

Referring toFIG. 5, depicted is a block diagram of an example method500for managing playback of media content in a media player embedded in a webpage hosted by a website server. The method500may be facilitated by a server, such as the analysis server105as discussed with respect toFIG. 1. The server may support one or more modules to facilitate the various functions as well as various interfaces to enable user input and selections. The analysis server105may facilitate the method500in response to a user computer accessing the webpage hosted by the website server, whereby the webpage renders a media player for playback of media files by the user computer

The method500can begin with the server detecting (block505) an initial playback of a media file within the media player. The server can further retrieve (block510) engagement data corresponding to interaction by a user during the initial playback of the media file. In particular, the server may retrieve or otherwise access engagement data associated with a local data store stored on a web browser of the user computer that indicates various interactions or actions that the user performs during the playback. Although not depicted inFIG. 5, the server can also access context data associated with the webpage in which the media player is embedded. In particular, the server may access a set of tags included in markup language for the website, may identify one or more keywords from the set of tags, or may perform other “crawling” or analysis techniques. The server can additionally access metadata associated with the media file. In particular, the server can examine the metadata to identify a set of keywords associated with the media file.

The server may receive (block515) social media data related to playback of a set of media content by a set of additional users. In embodiments, the set of additional users may or may not be “connected” to the user within the social network service. The server can identify (block520), based on the engagement data and the social media data (and in some cases, the context data and the content data), a preferred media file of the set of media content. In one embodiment, the server can determine that the preferred media file has been viewed at least a threshold number of times. Further, in identifying the preferred media file, the server can determine, based on the engagement data, that the preferred media file is relevant to the user.

The server can provide (block525) an identification of the preferred media file to the user computer to initiate playback of the preferred media file via the media player. In some cases, the server can retrieve the preferred media file from storage and provide the preferred media file directly to the user computer. In other cases, the server can provide an identification (e.g., a URL) of the preferred media file to the user computer, where the user computer can access the preferred media file via the identification.

The server may also receive (block530) updated engagement data from the user computer, where the updated engagement data may correspond to the user's interaction during playback of the preferred media file. The server may update (block535) the engagement data to reflect the updated engagement data. The server may therefore maintain up-to-date information associated with the user that the server may use to select or identify additional media files for playback on the media player.

The server may compile (block540), based on the updated engagement data, feedback associated with the playback of the preferred media file. In embodiments, the feedback may include metrics associated with the user's interaction during playback of the preferred media file. The server may provide (block545) the feedback to a third-party entity. In embodiments, the third-party entity may be any entity with an interest in the feedback, such as a marketing company, an advertising entity, a company, or the like.

FIG. 6illustrates a diagram of an example server605(such as the analysis server105discussed with respect toFIG. 1) in which the functionalities as discussed herein may be implemented.

The server605can include a processor622as well as a memory678. The memory678can store an operating system679capable of facilitating the functionalities as discussed herein as well as a set of applications675(i.e., machine readable instructions). For example, one of the set of applications675can be a content analysis application684configured to examine metadata of media content, another of the set of applications675can be an engagement analysis application685configured to compile engagement data related to user interactions with media content, another of the set of applications675can be a context analysis application686configured to examine website data, another of the set of applications675can be a social media analysis module configured to analyze social media data, and another of the applications675can be a topical analysis module692configured to identify “trending” or “viral” content. It should be appreciated that other applications are envisioned.

The processor622can interface with the memory678to execute the operating system679and the set of applications675. According to embodiments, the memory678can also store media content680such as videos, images, audio files, and/or the like. The memory678can include one or more forms of volatile and/or non-volatile, fixed and/or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and/or other hard drives, flash memory, MicroSD cards, and others.

The server605can further include a communication module677configured to communicate data via one or more networks620. According to some embodiments, the communication module677can include one or more transceivers (e.g., WWAN, WLAN, and/or WPAN transceivers) functioning in accordance with IEEE standards, 3GPP standards, or other standards, and configured to receive and transmit data via one or more external ports678. For example, the communication module677can send, via the network620, various media content to user computers. The processing server605may further include a user interface681configured to present information to a user and/or receive inputs from the user. As shown inFIG. 6, the user interface681includes a display screen682and I/O components683(e.g., ports, capacitive or resistive touch sensitive input panels, keys, buttons, lights, LEDs, speakers, microphones). According to embodiments, the user may access the server605via the user interface681to input media content requirements, analyze various data, and/or perform other functions. In some embodiments, the server605can perform the functionalities as discussed herein as part of a “cloud” network or can otherwise communicate with other hardware or software components within the cloud to send, retrieve, or otherwise analyze data.