Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (55)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (6295)

  • Chrome struggles to play videos

    11 décembre 2017, par Cameron

    I have some video files I want to display on a webpage using the HTML5 video player. The videos were sent to me at 1920x1080 in H.254 MP4 format.

    Using FFMPEG I have converted them so I have a smaller Mp4 file, an OGV file, and a WebM file using the following commands :

    ffmpeg -i FILE.mp4 -vcodec h264 FILE.mp4

    ffmpeg -i FILE.mp4 -acodec libvorbis -vcodec libtheora -f ogv FILE.ogv

    ffmpeg -i FILE.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis FILE.webm

    And then the video is embedded into the page like so :

    <video preload="metadata" crossorigin="anonymous" poster="poster.jpg" controls="controls" playsinline="playsinline">
       <source src="FILE.webm" type="video/webm">
       <source src="FILE.ogv" type="video/ogv">
       <source src="FILE.mp4" type="video/mp4">
    </source></source></source></video>

    However when I click to play the video in Chrome, it stops after a few seconds and then if I click play again it restarts. If I right click and open the video in a new tab I just see a tiny player and not the video e.g.
    enter image description here

    The same happens for all three formats. But if I refresh the browser enough times I can get the MP4 file to show up in the new tab though it still suffers from the aforementioned bug of playing for a few seconds before failing.

    I have tested this in Firefox and Safari and it works fine ! In fact it even works in IE and Edge :D And I can also play the videos in a player on the machine itself... e.g. QuickTime.

    Any ideas why Chrome is acting this way ? Or any resolutions ? I’m seeing the same behaviour on Chrome for Windows and Mac. Is the way I have converted the videos using FFMPEG in anyway a cause that could affect Chrome but not other browsers ?

    Chrome version tested on : Version 63.0.3239.84 (Official Build) (64-bit)

    Output from ffprobe as per the comments on the one of the webm files :

    ffprobe version 3.4 Copyright (c) 2007-2017 the FFmpeg developers
     built with Apple LLVM version 7.3.0 (clang-703.0.31)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-ffplay --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --enable-openssl --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.0/include/openjpeg-2.3 --enable-nonfree
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    Input #0, matroska,webm, from 'FILE.webm':
     Metadata:
       COMPATIBLE_BRANDS: mp42mp41
       MAJOR_BRAND     : mp42
       MINOR_VERSION   : 0
       ENCODER         : Lavf57.83.100
     Duration: 00:00:52.57, start: 0.000000, bitrate: 910 kb/s
       Stream #0:0(eng): Video: vp8, yuv420p(progressive), 1920x1080, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         HANDLER_NAME    : Alias Data Handler
         ENCODER         : Lavc57.107.100 libvpx
         DURATION        : 00:00:52.563000000
       Stream #0:1(eng): Audio: vorbis, 48000 Hz, stereo, fltp (default)
       Metadata:
         HANDLER_NAME    : Alias Data Handler
         ENCODER         : Lavc57.107.100 libvorbis
         DURATION        : 00:00:52.568000000
  • How to install ffmpeg for a django app on heroku ?

    10 janvier 2018, par yndolok

    I’d like to use ffmpeg to extract a frame from a video to use it as a poster. This is my first time deploying an app, let alone on heroku, so I’m not sure how to install ffmpeg on the server.

    I’ve found this build of ffmpeg with instructions to ’vendor’ it into my app, and then adjust my app’s configuration settings / path. What does it mean to vendor something ? I have a feeling it’s a rails thing, because I can’t seem to find an explanation by googling.

    Also, what would be the django equivalent of the instructions to run
    heroku config:set PATH=bin:vendor/ffmpeg/bin:&lt;...> -a yourapp and heroku config:set LD_LIBRARY_PATH=vendor/ffmpeg/lib:/usr/local/lib -a yourapp ?

  • Anomalie #4074 : Le code de plugin-dist/medias/modeles/video.html , produit un paragraphe de trop ...

    11 janvier 2018, par eldk -
    Code de base produit par SPIP
    Extrait video&nbsp ; : sens de la vie - Monthy Python - 1983 - Universal
    &lt;script&gt;/*&lt;![CDATA[*/var mejspath='plugins-dist/medias/lib/mejs/mediaelement-and-player.min.js?1508951836',mejscss='plugins-dist/medias/lib/mejs/mediaelementplayer.min.css?1508951836';<br />
    var mejsloader; (function(){var a=mejsloader;&quot;undefined&quot;==typeof a&amp;#38;&amp;#38;(mejsloader=a={gs:null,plug:{},css:{},init:null,c:0,cssload:null});a.init||(a.cssload=function(b){if(&quot;undefined&quot;==typeof a.css[b]){a.css[b]=!0;var c=document.createElement(&quot;link&quot;);c.href=b;c.rel=&quot;stylesheet&quot;;c.type=&quot;text/css&quot;;document.getElementsByTagName(&quot;head&quot;)[0].appendChild(c)}},a.init=function(){!0===a.gs&amp;#38;&amp;#38;function(b){jQuery(&quot;audio.mejs,video.mejs&quot;).not(&quot;.done&quot;).each(function(){function c(){var e=!0,h;for(h in d.css)a.cssload(d.css[h]);for(var f in d.plugins)&quot;undefined&quot;== typeof a.plug[f]?(e=!1,a.plug[f]=!1,jQuery.getScript(d.plugins[f],function(){a.plug[f]=!0;c()})):0==a.plug[f]&amp;#38;&amp;#38;(e=!1);e&amp;#38;&amp;#38;new MediaElementPlayer(&quot;#&quot;+b,jQuery.extend(d.options,{success:function(a){function b(){jQuery(a).closest(&quot;.mejs-inner&quot;).removeClass(a.paused?&quot;playing&quot;:&quot;paused&quot;).addClass(a.paused?&quot;paused&quot;:&quot;playing&quot;)}b();a.addEventListener(&quot;play&quot;,b,!1);a.addEventListener(&quot;playing&quot;,b,!1);a.addEventListener(&quot;pause&quot;,b,!1);a.addEventListener(&quot;paused&quot;,b,!1);g.attr(&quot;autoplay&quot;)&amp;#38;&amp;#38;a.play()}}))}var g=jQuery(this).addClass(&quot;done&quot;), b;(b=g.attr(&quot;id&quot;))||(b=&quot;mejs-&quot;+g.attr(&quot;data-id&quot;)+&quot;-&quot;+a.c++,g.attr(&quot;id&quot;,b));var d={options:{},plugins:{},css:[]},e,h;for(e in d)if(h=g.attr(&quot;data-mejs&quot;+e))d[e]=jQuery.parseJSON(h);c()})}(jQuery)});a.gs||(&quot;undefined&quot;!==typeof mejscss&amp;#38;&amp;#38;a.cssload(mejscss),a.gs=jQuery.getScript(mejspath,function(){a.gs=!0;a.init();jQuery(a.init);onAjaxLoad(a.init)}))})();/*]]&gt;*/&lt;/script&gt;
    Extrait video&nbsp ; : sens de la vie - Monthy Python - 1983 - Universal
    &lt;script&gt;/*&lt;![CDATA[*/var mejspath='plugins-dist/medias/lib/mejs/mediaelement-and-player.min.js?1508951836',mejscss='plugins-dist/medias/lib/mejs/mediaelementplayer.min.css?1508951836';<br />
    var mejsloader; (function(){var a=mejsloader;&quot;undefined&quot;==typeof a&amp;#38;&amp;#38;(mejsloader=a={gs:null,plug:{},css:{},init:null,c:0,cssload:null});a.init||(a.cssload=function(b){if(&quot;undefined&quot;==typeof a.css[b]){a.css[b]=!0;var c=document.createElement(&quot;link&quot;);c.href=b;c.rel=&quot;stylesheet&quot;;c.type=&quot;text/css&quot;;document.getElementsByTagName(&quot;head&quot;)[0].appendChild(c)}},a.init=function(){!0===a.gs&amp;#38;&amp;#38;function(b){jQuery(&quot;audio.mejs,video.mejs&quot;).not(&quot;.done&quot;).each(function(){function c(){var e=!0,h;for(h in d.css)a.cssload(d.css[h]);for(var f in d.plugins)&quot;undefined&quot;== typeof a.plug[f]?(e=!1,a.plug[f]=!1,jQuery.getScript(d.plugins[f],function(){a.plug[f]=!0;c()})):0==a.plug[f]&amp;#38;&amp;#38;(e=!1);e&amp;#38;&amp;#38;new MediaElementPlayer(&quot;#&quot;+b,jQuery.extend(d.options,{success:function(a){function b(){jQuery(a).closest(&quot;.mejs-inner&quot;).removeClass(a.paused?&quot;playing&quot;:&quot;paused&quot;).addClass(a.paused?&quot;paused&quot;:&quot;playing&quot;)}b();a.addEventListener(&quot;play&quot;,b,!1);a.addEventListener(&quot;playing&quot;,b,!1);a.addEventListener(&quot;pause&quot;,b,!1);a.addEventListener(&quot;paused&quot;,b,!1);g.attr(&quot;autoplay&quot;)&amp;#38;&amp;#38;a.play()}}))}var g=jQuery(this).addClass(&quot;done&quot;), b;(b=g.attr(&quot;id&quot;))||(b=&quot;mejs-&quot;+g.attr(&quot;data-id&quot;)+&quot;-&quot;+a.c++,g.attr(&quot;id&quot;,b));var d={options:{},plugins:{},css:[]},e,h;for(e in d)if(h=g.attr(&quot;data-mejs&quot;+e))d[e]=jQuery.parseJSON(h);c()})}(jQuery)});a.gs||(&quot;undefined&quot;!==typeof mejscss&amp;#38;&amp;#38;a.cssload(mejscss),a.gs=jQuery.getScript(mejspath,function(){a.gs=!0;a.init();jQuery(a.init);onAjaxLoad(a.init)}))})();/*]]&gt;*/&lt;/script&gt;