{"id":80,"date":"2019-07-10T09:39:39","date_gmt":"2019-07-10T07:39:39","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/using-ai-for-developing-ott-platforms\/"},"modified":"2020-01-10T16:24:25","modified_gmt":"2020-01-10T15:24:25","slug":"using-ai-for-developing-ott-platforms","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/","title":{"rendered":"Using AI for developing OTT platforms"},"content":{"rendered":"\n<p><span class=\"firstcharacter\">I<\/span>nterest in artificial intelligence (<span id=\"urn:enhancement-49c38df1\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>) is growing day-by-day. This is confirmed by the ubiquitous presence of <span id=\"urn:enhancement-cd2b9d4e\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> algorithms in a plethora of applications. <a href=\"https:\/\/milan2018.codemotionworld.com\/speaker\/3939\/\" target=\"_blank\" rel=\"noopener noreferrer\">Gianni Rosa Gallina<\/a>, Senior Software Engineer at Deltatre, delivered an interesting speech at <a href=\"https:\/\/milan2018.codemotionworld.com\/conference\/\" target=\"_blank\" rel=\"noopener noreferrer\">Codemotion Milan 2018<\/a>, where he showed how and where <span id=\"urn:enhancement-94fd64f6\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> can be used in the development of an OTT multimedia platform. In this post we consider the OTT platform described by Gianni Rosa Gallina as a <span id=\"urn:enhancement-35f9ec3f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/case_study\">case study<\/span> for understanding which kinds of facilities can be provided by <span id=\"urn:enhancement-9bab581\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why an OTT platform<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/milan2018.codemotionworld.com\/speaker\/3939\/\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/02\/ott_architecture.png\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<p><strong>OTT<\/strong> (over-the-top) is a term used in broadcasting and technology business reporting to refer to audio, video, and other media transmitted via the Internet as a standalone product. Thus, the architecture of an OTT platform may involve several actors, including CMS, third parties, <span id=\"urn:enhancement-9e0bfb3f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/data\">data<\/span>, end-user apps, and so on. Gianni Rosa Gallina showed the architecture of the Deltatre\u2019s OTT platform for sport events, which is depicted by the following pictures.<br><br>For every component of this architecture, there is an area where <span id=\"urn:enhancement-492232d8\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> can be used. All these areas are highlighted in green, and the following discussion will focus on the <span id=\"urn:enhancement-fc9ed37\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> tools which have been used to support such areas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Customer Support<\/h2>\n\n\n\n<p>Customers represent one of the main actors involved in an OTT platform. Their interaction with the platform can be measured by looking at the tickets they open, since they represent potential issues and are an important <strong>index for customer satisfaction<\/strong>. Of course, it is crucial to understand the level of satisfaction, and even better if <strong>this can be predicted<\/strong>. To this end, Deltatre adopted <strong>Zendesk Satisfaction Prediction<\/strong>, a tool that uses several metrics (e.g. how long the customer waited for a reply, how long a ticket has been open, ticket content, level of effort needed to solve a ticket) in order to predict bad customer satisfaction ratings before they happen. It uses sophisticated <span id=\"urn:enhancement-6f16c45c\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/list_of_machine_learning_concepts\">machine learning algorithms<\/span> that serves as a predictor model.<br>Another interesting <span id=\"urn:enhancement-a4b91104\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span>-based Zendesk product (also included by Deltatre to improve their OTT platform) is <strong>Content Cues<\/strong>, which automatically review incoming tickets, <strong>recognise<\/strong> them and then <strong>classify<\/strong> them. This is crucial for speeding up the <span id=\"urn:enhancement-d05496f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">process<\/span> for replying to customers, and consequently avoiding potential satisfaction issues.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Analytics and Monitoring<\/h2>\n\n\n\n<p>Deltatre also uses <strong><span id=\"urn:enhancement-eea17664\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/conviva\">Conviva<\/span> Video <span id=\"urn:enhancement-8bc6a55b\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> Platform<\/strong>, another tool that uses <span id=\"urn:enhancement-e971343a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> in order to (indirectly) detect potential issues in consumer experience. In particular, this tool is used for quickly tracking down exactly what entity in the end-to-end streaming hierarchy might be responsible for problems in service delivery. This automatic evaluation is done based on video-based metrics, like bandwidth or video quality. <span id=\"urn:enhancement-8bb9431f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/conviva\">Conviva<\/span> Video <span id=\"urn:enhancement-989cec7a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/artificial_intelligence\">AI<\/span> Platform can also be used for making content recommendations, or in order to understand device usage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Platform Monitoring<\/h2>\n\n\n\n<p>In the architecture depicted above, end-<span id=\"urn:enhancement-9caf1bc7\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> <span id=\"urn:enhancement-912f4ea\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/mobile_app\">apps<\/span> have a crucial role. And according to the recent trend in <span id=\"urn:enhancement-377817d1\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/mobile_app\">app<\/span> development, they are probably built using web technologies. Consequently, understanding potential performance problems in <strong>web <span id=\"urn:enhancement-3079a207\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">applications<\/span><\/strong> is mandatory, since it would help in increasing the global customer satisfaction level. Deltatre opted for <strong>Smart Detection<\/strong>, a feature of <span id=\"urn:enhancement-63afb16f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">Application<\/span> Insights (from the <span id=\"urn:local-annotation-280971\" class=\"textannotation disambiguated\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/microsoft_azure_2\">Microsoft Azure<\/span> platform) that automatically warns in case of potential performance problems in web <span id=\"urn:enhancement-7d70ee4f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">applications<\/span>. It performs proactive analysis of the telemetry sent by the web <span id=\"urn:enhancement-72773b38\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/mobile_app\">app<\/span> to <span id=\"urn:enhancement-97fde1fd\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">Application<\/span> Insights. If there is a sudden rise in failure rates, or abnormal patterns in client or server performance, an alert is sent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Content Editing<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/milan2018.codemotionworld.com\/speaker\/3939\/\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/02\/content_editing.png\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<p>The OTT platform that we are analysing also includes a CMS. So it is important to support content creators in the <span id=\"urn:enhancement-9de57679\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">process<\/span> of content generation. Deltatre developed a <strong>smart editor<\/strong>, which in turns exploits some interesting features provided by the <strong>Microsoft Cognitive Services<\/strong>. In particular, the editor analyses the text, and applies sentiment analysis algorithms in order to support the <span id=\"urn:enhancement-f939b096\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> with suggestions. Moreover, the smart editor also exploits a Bing <span id=\"urn:enhancement-bc179d10\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/search_engine_technology\">search<\/span> <span id=\"urn:enhancement-173fe21f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_programming_interface\">API<\/span> in order to combine information written by the <span id=\"urn:enhancement-45dd1cbd\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> with suggestions found on the Internet that can be included in the text in order to enrich it. And all the <span id=\"urn:enhancement-4dab5966\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">process<\/span> is in real time, during the content generation.<br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Video Indexing<\/h2>\n\n\n\n<p>Since an OTT platform is mainly based on multimedia content, being able to automatically analyse videos is essential. Deltatre provides a video content indexer tool (namely <strong>Diva<\/strong>) that exploits <strong>Microsoft Video Indexer<\/strong>. This tool automatically extracts spoken words, faces, <span id=\"urn:enhancement-4b9c1baf\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/character_computing\">characters<\/span> and emotional information from the video. Such metadata is then used to build engaging experiences with recommendations, highlight clips and interactive videos.<br>Diva also uses the <strong>Computer Vision <span id=\"urn:enhancement-c8e379f6\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_programming_interface\">API<\/span><\/strong> and <strong>Face <span id=\"urn:enhancement-5d65b750\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_programming_interface\">API<\/span><\/strong> from <strong>Microsoft Cognitive Services<\/strong>, in order to detect faces (in combination with the Microsoft Video Indexer) and texts (OCR) in the videos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recommendation<\/h2>\n\n\n\n<p>If you think about Netflix or similar platforms, one of the winning factors is recommendation. You usually have an incredibly large amount of content, but consequently you are pretty much unable to decide which movie or series to watch. It is no surprise that Deltatre also included a <strong>recommendation engine<\/strong> in its OTT platform, and this is another example of how embedding AI is vital.<br>In this case, they needed tools for training models with <span id=\"urn:enhancement-8a0e83b8\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span>\u2019 habits, so they opted for <strong>PyTorch<\/strong> and <strong>fast.ai<\/strong>. The former is an <span id=\"urn:enhancement-7cda025a\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/open_source\">open source<\/span> deep learning framework for <strong><span id=\"urn:enhancement-d4327034\" class=\"textannotation disambiguated wl-creative-work\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/python_programming_language\">Python<\/span><\/strong>, while the latter simplifies the training <span id=\"urn:enhancement-fd34035c\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">process<\/span> of neural networks using modern best practices. Using both these tools, Deltatre is now able to provide accurate recommendation to their customers, even within a very large <span id=\"urn:enhancement-daf3a5f5\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/table_database\">database<\/span> of content.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Next Gen Content<\/h2>\n\n\n\n<p>We touched upon the content generation <span id=\"urn:enhancement-d8574b76\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/process_computing\">process<\/span> when describing how Deltatre used AI for supporting content editing. Gianni Rosa Gallina described an entire new area where they used different AI and computer vision algorithms for creating what they defined next generation content. In particular, he showed a prototype implemented by researchers from University of Washington, <span id=\"urn:enhancement-13997cec\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/facebook\">Facebook<\/span> and Google (<a href=\"https:\/\/grail.cs.washington.edu\/projects\/soccer\/\" target=\"_blank\" rel=\"noopener noreferrer\">see this link for a showcase<\/a>), aimed at transforming a monocular video of a soccer game into a moving 3D reconstruction. This can be particularly useful to provide additional interactive solutions to end <span id=\"urn:enhancement-9cbe0b7f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span>, especially for an OTT platform that provides sport-related media content. Thus it comes as no surprise that Deltatre are also looking at such kinds of solutions for their products.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The Deltatre\u2019s OTT platform that we analysed here is just an example, particularly complex in fact, to understand how <span id=\"urn:enhancement-d233094f\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/applications_of_artificial_intelligence\">AI applications<\/span> are everywhere, being pervasively embedded in many contexts. Using AI and <span id=\"urn:enhancement-f32c7dfc\" class=\"textannotation disambiguated wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/list_of_machine_learning_concepts\">machine learning algorithms<\/span> is actually becoming easier, thanks to this great availability of tools and libraries to embed in our applications. You just need to start practising with some of these tools: using AI has never been so accessible to any programmer.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Interest in artificial intelligence (AI) is growing day-by-day. This is confirmed by the ubiquitous presence of AI algorithms in a plethora of applications. Gianni Rosa Gallina, Senior Software Engineer at Deltatre, delivered an interesting speech at Codemotion Milan 2018, where he showed how and where AI can be used in the development of an OTT&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\">Read more<\/a><\/p>\n","protected":false},"author":3,"featured_media":81,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[35],"tags":[22],"collections":[],"class_list":{"0":"post-80","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-machine-learning","8":"tag-codemotion-milan","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Using AI for developing OTT platforms - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using AI for developing OTT platforms\" \/>\n<meta property=\"og:description\" content=\"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-10T07:39:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-10T15:24:25+00:00\" \/>\n<meta name=\"author\" content=\"Vito Gentile\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png\" \/>\n<meta name=\"twitter:creator\" content=\"@ViGentile\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vito Gentile\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\"},\"author\":{\"name\":\"Vito Gentile\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313\"},\"headline\":\"Using AI for developing OTT platforms\",\"datePublished\":\"2019-07-10T07:39:39+00:00\",\"dateModified\":\"2020-01-10T15:24:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\"},\"wordCount\":1117,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png\",\"keywords\":[\"Codemotion Milan\"],\"articleSection\":[\"Machine Learning\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\",\"name\":\"Using AI for developing OTT platforms - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png\",\"datePublished\":\"2019-07-10T07:39:39+00:00\",\"dateModified\":\"2020-01-10T15:24:25+00:00\",\"description\":\"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png\",\"width\":1200,\"height\":595},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI\/ML\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Machine Learning\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Using AI for developing OTT platforms\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313\",\"name\":\"Vito Gentile\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g\",\"caption\":\"Vito Gentile\"},\"description\":\"I\u2019m a data scientist, tech writer, software developer with experience in mobile, web (full-stack) and Python programming, and former researcher with interests in human-computer interaction. I thus have a multi-faceted experience in the area of software development, and that\u2019s why I love my job(s)!\",\"sameAs\":[\"https:\/\/vitogentile.it\",\"https:\/\/www.linkedin.com\/in\/vitogentile\/en\",\"https:\/\/x.com\/ViGentile\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using AI for developing OTT platforms - Codemotion Magazine","description":"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/","og_locale":"en_US","og_type":"article","og_title":"Using AI for developing OTT platforms","og_description":"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.","og_url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2019-07-10T07:39:39+00:00","article_modified_time":"2020-01-10T15:24:25+00:00","author":"Vito Gentile","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png","twitter_creator":"@ViGentile","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Vito Gentile","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/"},"author":{"name":"Vito Gentile","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313"},"headline":"Using AI for developing OTT platforms","datePublished":"2019-07-10T07:39:39+00:00","dateModified":"2020-01-10T15:24:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/"},"wordCount":1117,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png","keywords":["Codemotion Milan"],"articleSection":["Machine Learning"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/","url":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/","name":"Using AI for developing OTT platforms - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png","datePublished":"2019-07-10T07:39:39+00:00","dateModified":"2020-01-10T15:24:25+00:00","description":"Emanuele Leoni is one of the Software Developers who enrolled for Nexi Dev Training Program, and these are his thoughts and feedback.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png","width":1200,"height":595},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/using-ai-for-developing-ott-platforms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"AI\/ML","item":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/"},{"@type":"ListItem","position":3,"name":"Machine Learning","item":"https:\/\/www.codemotion.com\/magazine\/ai-ml\/machine-learning\/"},{"@type":"ListItem","position":4,"name":"Using AI for developing OTT platforms"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f9c99d8dfb99900d709bb8199225d313","name":"Vito Gentile","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebcb5b885a4f1669578d08a55deb81064893c07c1b35b7b36eb059cce730ae90?s=96&d=mm&r=g","caption":"Vito Gentile"},"description":"I\u2019m a data scientist, tech writer, software developer with experience in mobile, web (full-stack) and Python programming, and former researcher with interests in human-computer interaction. I thus have a multi-faceted experience in the area of software development, and that\u2019s why I love my job(s)!","sameAs":["https:\/\/vitogentile.it","https:\/\/www.linkedin.com\/in\/vitogentile\/en","https:\/\/x.com\/ViGentile"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-600x595.png","author_info":{"display_name":"Vito Gentile","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png",1200,595,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-300x149.png",300,149,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-768x381.png",768,381,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-1024x508.png",1024,508,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png",1200,595,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png",1200,595,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled.png",100,50,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/07\/ott_architecture-scaled-600x595.png",600,595,true]},"uagb_author_info":{"display_name":"Vito Gentile","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/vito-gentile\/"},"uagb_comment_info":0,"uagb_excerpt":"Interest in artificial intelligence (AI) is growing day-by-day. This is confirmed by the ubiquitous presence of AI algorithms in a plethora of applications. Gianni Rosa Gallina, Senior Software Engineer at Deltatre, delivered an interesting speech at Codemotion Milan 2018, where he showed how and where AI can be used in the development of an OTT&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":2565,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/80\/revisions\/2565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/81"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=80"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}