{"id":592,"date":"2011-05-17T01:40:01","date_gmt":"2011-05-17T00:40:01","guid":{"rendered":"http:\/\/www.fenarinarsa.com\/wp\/?p=592"},"modified":"2023-03-20T10:25:29","modified_gmt":"2023-03-20T09:25:29","slug":"nolife-les-outils-4-time-attack","status":"publish","type":"post","link":"https:\/\/www.fenarinarsa.com\/?p=592","title":{"rendered":"Nolife, les outils (4) : Time Attack"},"content":{"rendered":"<p>Cet article est la suite de&#8230;<br \/>\n&#8211; <a href=\"\/wp\/?p=337\">Le d\u00e9fi du m3u<\/a><br \/>\n&#8211; <a href=\"\/wp\/?p=367\">Marvin<\/a><br \/>\n&#8211; <a href=\"\/wp\/?p=379\">LogoLife<\/a><\/p>\n<p>Donc, continuons sur la liste des outils sp\u00e9cifiquement d\u00e9velopp\u00e9s pour Nolife. Jusqu&rsquo;\u00e0 pr\u00e9sent je vous ai pr\u00e9sent\u00e9 Marvin, qui g\u00e9n\u00e8re les playlists au format texte en suivant certaines r\u00e8gles (comment sont d\u00e9finies ces r\u00e8gles sera l&rsquo;objet d&rsquo;un autre article&#8230; et oui, c&rsquo;est pas fini). Puis LogoLife, le petit bijou de PixelPhil qui permet d&rsquo;incruster les habillages de cha\u00eene \u00e0 la vol\u00e9e lors de la compression des vid\u00e9os.<\/p>\n<p>Tout ceci est bien joli, mais \u00e0 la fin, il fallait d\u00e8s le 1er juin 2007 reprendre les playlists \u00e0 la main pour v\u00e9rifier les encha\u00eenements entre elles.<\/p>\n<p>Je rappelle succinctement le fonctionnement de la premi\u00e8re r\u00e9gie de Nolife (IPPlay) :<\/p>\n<ol>\n<li>Une playlist est charg\u00e9e et commence \u00e0 jouer \u00e0 une heure donn\u00e9e (heure extraite du nom de fichier de la playlist).\n<li>La playlist suivante est, elle aussi, charg\u00e9e, mais pas jou\u00e9e.\n<li>La r\u00e9gie est comme un gros Winamp, elle va jouer le premier fichier et attendre qu&rsquo;il soit fini de jouer.\n<li>Une fois que le fichier est termin\u00e9, IPPlay compare l&rsquo;heure actuelle avec l&rsquo;heure de la playlist suivante. Si l&rsquo;heure de la playlist suivante est inf\u00e9rieure \u00e0 l&rsquo;heure actuelle&#8230;<br \/>\n    &#8212;> alors IPPlay bascule sur cette nouvelle playlist et retourne au (2).<\/p>\n<li>Si la fin de la playlist est atteinte sans qu&rsquo;il n&rsquo;y ait de playlist suivante :<br \/>\n    &#8212;> alors IPPlay revient au d\u00e9but de la playlist courante, charge le premier fichier et retourne au (4)<br \/>\n    &#8212;> Sinon, IPPlay charge le fichier suivant et retourne au (4).\n<\/ol>\n<p>En gros, ce syst\u00e8me simplissime avait pour but la diffusion de cha\u00eenes extr\u00eamement simples, du genre Astro center (je crois que Freenews TV l&rsquo;utilisait aussi).<\/p>\n<p>On peut dire que Nolife, d\u00e8s le d\u00e9part, a explos\u00e9 les limites du logiciel, vu que d&rsquo;une playlist qui bouclait toutes les heures et qui ne changeait pas tr\u00e8s souvent, on est pass\u00e9 \u00e0 48 playlists par jour contenant parfois jusqu&rsquo;\u00e0 une vingtaine de m\u00e9dias diff\u00e9rents. (ce qui n&rsquo;a pas manqu\u00e9 de d\u00e9clencher certains bugs dans IPPlay).<\/p>\n<p>Une des probl\u00e9matiques de faire les playlists \u00e9tait donc de conna\u00eetre, au moins approximativement, la dur\u00e9e des m\u00e9dias jou\u00e9s \u00e0 l&rsquo;avance et si possible, la dur\u00e9e d&rsquo;une playlist enti\u00e8re. En effet une playlist trop courte ou une \u00e9mission trop longue pouvait d\u00e9caler compl\u00e8tement la diffusion. Par exemple, si dans la playlist de 19h on mettait une bande-annonce et un 101%, si le 101% faisait 35mn et que la playlist suivante d\u00e9marrait \u00e0 19h30, en r\u00e9alit\u00e9 cette derni\u00e8re allait d\u00e9marrer \u00e0 19h35 au moins et tout fonctionnait. Par contre, si le 101% faisait par exemple 27mn, IPPlay arrivait en bout de playlist, bouclait sur la playlist de 19h et rejouait une deuxi\u00e8me fois le 101%, ce qui d\u00e9calait la playlist de 19h30 \u00e0 19h54. Le soucis ici, c&rsquo;est qu&rsquo;on n&rsquo;avait absolument pas la main sur IPPlay et que \u00e7a se soldait par un coup de fil \u00e0 Cognacq-Jay pour demander \u00e0 un technicien de cliquer sur le bouton \u00ab\u00a0next\u00a0\u00bb pour sauter le 101% en trop (Cognaq-Jay a re\u00e7u beaucoup de coup de fils en trois ans).<\/p>\n<p>Bref, c&rsquo;est devenu rapidement pas tenable du tout, et Alex a demand\u00e9 \u00e0 Seb d&rsquo;essayer de faire un logiciel pour lui indiquer la dur\u00e9e d&rsquo;une playlist. Dont acte, avec Time Attack.<\/p>\n<p><center><img decoding=\"async\" src=\"\/blog\/nolife_timeattack.png\"><\/center><br \/>\n<br \/>\nLe principe de Time Attack est simple : on glisse un ou plusieurs fichier(s) m\u00e9dia au(s) format de la r\u00e9gie dans l&rsquo;une des 4 cases (\u00e0 l&rsquo;\u00e9poque, des MPEG2 Transport Stream \u00e0 3Mbps), et il donne la dur\u00e9e de chaque fichier.<\/p>\n<p>On peut aussi glisser une playlist et Time Attack va alors calculer l&rsquo;heure de diffusion de chaque m\u00e9dia, ce qui \u00e9tait extr\u00eamement pratique pour faire des simulations mentales de ce qui risquait approximativement de se passer \u00e0 l&rsquo;antenne. Comme il y avait 4 case, cela permettait d&rsquo;avoir de la visibilit\u00e9 sur au maximum 4 playlists. Cette fonctionnalit\u00e9 ne marche plus car Time Attack devait alors aller chercher lui-m\u00eame les m\u00e9dias qui \u00e9taient stock\u00e9s sur le r\u00e9seau, or l&#8217;emplacement r\u00e9seau a chang\u00e9 et l&rsquo;adresse est cod\u00e9e en dur dans le logiciel.<\/p>\n<p>L&rsquo;autre petit d\u00e9faut est que Time Attack ne scannait pas vraiment les m\u00e9dias pour en conna\u00eetre la dur\u00e9e : comme on travaillait en CBR, Seb avait calcul\u00e9 un d\u00e9bit moyen et pouvait d\u00e9duire la dur\u00e9e approximative d&rsquo;une fichier \u00e0 partir de sa taille. Ce syst\u00e8me impl\u00e9ment\u00e9 dans Marvin \u00e0 l&rsquo;origine  fonctionnait plut\u00f4t bien et a d&rsquo;ailleurs \u00e9t\u00e9 conserv\u00e9 pendant deux ans.<\/p>\n<p>Preuve que Time Attack \u00e9tait utile, Alex l&rsquo;a imm\u00e9diatement adopt\u00e9. C&rsquo;est aussi en voyant Time Attack que je me suis dit qu&rsquo;on pouvait faire un autre logiciel du m\u00eame type pour d\u00e9tecter les m\u00e9dias mal (ou pas) upload\u00e9s sur la r\u00e9gie, ce qui se soldait par des \u00e9missions non diffus\u00e9es. Et ce sera pour la prochaine fois !<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cet article est la suite de&#8230; &#8211; Le d\u00e9fi du m3u &#8211; Marvin &#8211; LogoLife Donc, continuons sur la liste des outils sp\u00e9cifiquement d\u00e9velopp\u00e9s pour Nolife. Jusqu&rsquo;\u00e0 pr\u00e9sent je vous ai pr\u00e9sent\u00e9 Marvin, qui g\u00e9n\u00e8re les playlists au format texte en suivant certaines r\u00e8gles (comment sont d\u00e9finies ces r\u00e8gles sera l&rsquo;objet d&rsquo;un autre article&#8230; et &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.fenarinarsa.com\/?p=592\"> <span class=\"screen-reader-text\">Nolife, les outils (4) : Time Attack<\/span> Lire la suite\u00a0\u00bb<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[1,3],"tags":[],"class_list":["post-592","post","type-post","status-publish","format-standard","hentry","category-general","category-nolife"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Nolife, les outils (4) : Time Attack - Coredump<\/title>\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.fenarinarsa.com\/?p=592\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nolife, les outils (4) : Time Attack - Coredump\" \/>\n<meta property=\"og:description\" content=\"Cet article est la suite de&#8230; &#8211; Le d\u00e9fi du m3u &#8211; Marvin &#8211; LogoLife Donc, continuons sur la liste des outils sp\u00e9cifiquement d\u00e9velopp\u00e9s pour Nolife. Jusqu&rsquo;\u00e0 pr\u00e9sent je vous ai pr\u00e9sent\u00e9 Marvin, qui g\u00e9n\u00e8re les playlists au format texte en suivant certaines r\u00e8gles (comment sont d\u00e9finies ces r\u00e8gles sera l&rsquo;objet d&rsquo;un autre article&#8230; et &hellip; Nolife, les outils (4) : Time Attack Lire la suite\u00a0\u00bb\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fenarinarsa.com\/?p=592\" \/>\n<meta property=\"og:site_name\" content=\"Coredump\" \/>\n<meta property=\"article:published_time\" content=\"2011-05-17T00:40:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-20T09:25:29+00:00\" \/>\n<meta name=\"author\" content=\"Cyril Lambin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fenarinarsa\" \/>\n<meta name=\"twitter:site\" content=\"@fenarinarsa\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cyril Lambin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592\"},\"author\":{\"name\":\"Cyril Lambin\",\"@id\":\"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4\"},\"headline\":\"Nolife, les outils (4) : Time Attack\",\"datePublished\":\"2011-05-17T00:40:01+00:00\",\"dateModified\":\"2023-03-20T09:25:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592\"},\"wordCount\":884,\"articleSection\":[\"G\u00e9n\u00e9ral\",\"Nolife\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592\",\"url\":\"https:\/\/www.fenarinarsa.com\/?p=592\",\"name\":\"Nolife, les outils (4) : Time Attack - Coredump\",\"isPartOf\":{\"@id\":\"https:\/\/www.fenarinarsa.com\/#website\"},\"datePublished\":\"2011-05-17T00:40:01+00:00\",\"dateModified\":\"2023-03-20T09:25:29+00:00\",\"author\":{\"@id\":\"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fenarinarsa.com\/?p=592\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fenarinarsa.com\/?p=592#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.fenarinarsa.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nolife, les outils (4) : Time Attack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fenarinarsa.com\/#website\",\"url\":\"https:\/\/www.fenarinarsa.com\/\",\"name\":\"Coredump\",\"description\":\"Le blog de Fenarinarsa, le pays du bonheur et des oiseaux qui font cui-cui.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fenarinarsa.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4\",\"name\":\"Cyril Lambin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g\",\"caption\":\"Cyril Lambin\"},\"sameAs\":[\"https:\/\/fenarinarsa.com\"],\"url\":\"https:\/\/www.fenarinarsa.com\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nolife, les outils (4) : Time Attack - Coredump","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.fenarinarsa.com\/?p=592","og_locale":"fr_FR","og_type":"article","og_title":"Nolife, les outils (4) : Time Attack - Coredump","og_description":"Cet article est la suite de&#8230; &#8211; Le d\u00e9fi du m3u &#8211; Marvin &#8211; LogoLife Donc, continuons sur la liste des outils sp\u00e9cifiquement d\u00e9velopp\u00e9s pour Nolife. Jusqu&rsquo;\u00e0 pr\u00e9sent je vous ai pr\u00e9sent\u00e9 Marvin, qui g\u00e9n\u00e8re les playlists au format texte en suivant certaines r\u00e8gles (comment sont d\u00e9finies ces r\u00e8gles sera l&rsquo;objet d&rsquo;un autre article&#8230; et &hellip; Nolife, les outils (4) : Time Attack Lire la suite\u00a0\u00bb","og_url":"https:\/\/www.fenarinarsa.com\/?p=592","og_site_name":"Coredump","article_published_time":"2011-05-17T00:40:01+00:00","article_modified_time":"2023-03-20T09:25:29+00:00","author":"Cyril Lambin","twitter_card":"summary_large_image","twitter_creator":"@fenarinarsa","twitter_site":"@fenarinarsa","twitter_misc":{"\u00c9crit par":"Cyril Lambin","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fenarinarsa.com\/?p=592#article","isPartOf":{"@id":"https:\/\/www.fenarinarsa.com\/?p=592"},"author":{"name":"Cyril Lambin","@id":"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4"},"headline":"Nolife, les outils (4) : Time Attack","datePublished":"2011-05-17T00:40:01+00:00","dateModified":"2023-03-20T09:25:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fenarinarsa.com\/?p=592"},"wordCount":884,"articleSection":["G\u00e9n\u00e9ral","Nolife"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.fenarinarsa.com\/?p=592","url":"https:\/\/www.fenarinarsa.com\/?p=592","name":"Nolife, les outils (4) : Time Attack - Coredump","isPartOf":{"@id":"https:\/\/www.fenarinarsa.com\/#website"},"datePublished":"2011-05-17T00:40:01+00:00","dateModified":"2023-03-20T09:25:29+00:00","author":{"@id":"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4"},"breadcrumb":{"@id":"https:\/\/www.fenarinarsa.com\/?p=592#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fenarinarsa.com\/?p=592"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fenarinarsa.com\/?p=592#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.fenarinarsa.com\/"},{"@type":"ListItem","position":2,"name":"Nolife, les outils (4) : Time Attack"}]},{"@type":"WebSite","@id":"https:\/\/www.fenarinarsa.com\/#website","url":"https:\/\/www.fenarinarsa.com\/","name":"Coredump","description":"Le blog de Fenarinarsa, le pays du bonheur et des oiseaux qui font cui-cui.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fenarinarsa.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.fenarinarsa.com\/#\/schema\/person\/80a26199aabcf306072d581606fb24e4","name":"Cyril Lambin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3c1a506ae7c6720c92de38fcb90b4a4cfd9210af4f94de3604bb07987384f5d?s=96&d=mm&r=g","caption":"Cyril Lambin"},"sameAs":["https:\/\/fenarinarsa.com"],"url":"https:\/\/www.fenarinarsa.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/posts\/592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=592"}],"version-history":[{"count":16,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/posts\/592\/revisions"}],"predecessor-version":[{"id":1853,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=\/wp\/v2\/posts\/592\/revisions\/1853"}],"wp:attachment":[{"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fenarinarsa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}