Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (27)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (5877)

  • How to stream video from Node.js

    7 mai 2014, par Sunrising

    i am trying to request a video stored on server and receive a stream of data to show in a html tag

    From the client i request the streaming of a particular file i know exists in my server

    Then in node i use this :

    function streamvideo(response, request) {

    // here i simply read from the response the path and the name of the file i want
    var queryparts = url.parse(request.url, true).query;
    var path = queryparts.query;

    var path = 'tmp/' + path
       , stat = fs.statSync(path)
       , total = stat.size;

    var origin = (request.headers.origin || "*");

    // still not sure it is correct to manage range this way but it works
    // if i request a range....
    if (request.headers['range']) {
       var range = request.headers.range
           , parts = range.replace(/bytes=/, "").split("-")
           , partialstart = parts[0]
           , partialend = parts[1]
           , start = parseInt(partialstart, 10)
           , end = partialend ? parseInt(partialend, 10) : total - 1
           , chunksize = (end - start) + 1;

       console.log('RANGE: ' + start + ' - ' + end + ' = ' + chunksize + "\n")

       response.writeHead(
           206
           , {
               'Access-Control-Allow-Credentials': true,
               'Access-Control-Allow-Origin': origin,
               'Content-Range': 'bytes ' + start + '-' + end + '/' + total,
               'Accept-Ranges': 'bytes',
               'Content-Length': chunksize,
               'Content-Type': 'video/mp4'
           });

    } else {
    // if i request all the video
       console.log('ALL: ' + total);

       response.writeHead(
           200,
           {
               'Access-Control-Allow-Credentials': true,
               'Access-Control-Allow-Origin': origin,
               'Content-Length': total,
               'Content-Type': 'video/mp4'
           }
       );
    }

    // on-the-fly encoding
    var ffmpeg = child_process.spawn("ffmpeg",[
       "-i", path,             // path
       "-b:v" , "64k",         // bitrate to 64k
       "-bufsize", "64k",
       "pipe:1"               // Output to STDOUT
    ]);

    //pack-up everything and send back the response with the stream
    var file = fs.createReadStream(path);
    file.pipe(response);

    it may be not the best code ever but it works because i receive on the client a stream of something !
    BUT how can i verify this ? how can i actually ’see’ the video in the page ?

    now in the client page i have a tag like this :

    <div>
       <video class="mejs-wmp" width="320" height="240" src="test.mp4" type="video/mp4" controls="controls" preload="none"></video>
    </div>

    but i can only see a black screen in my player...

    Why ?

    Thanks !

    (feel free to correct any imprecision you see)

  • FFMPEG build error

    14 novembre 2012, par user1149520

    I've been trying to build a LGPL copy of ffmpeg and I have tried various different configure methods. I downloaded the latest source from the ffmpeg site and used the following simple configure

    ./configure --enable-memalign-hack --enable-pthreads --enable-shared --disable-static

    However every time I try to build it I only end up with "avdevice-53.dll" and the error message like this

    install: cannot stat &#39;libavdevice/avdevice.lib&#39; : No such file or directory
    make: *** [install-libavdevice-shared] Error 1

    What am I doing wrong ?

  • Generate MPEG-DASH segments when requested [closed]

    16 septembre 2024, par John Smith

    Up front disclaimer : this question is almost identical to the one here : Generate single MPEG-Dash segment with ffmpeg but it seems that ffmpeg has updated over time and now the answer provided by Coumeu is no longer accurate.

    &#xA;

    Using ffmpeg, I am attempting to "lazily create" the segments needed for MPEG DASH playback. I have a static manifest (MPD) which includes SegmentTemplates for 1 video and 1 audio stream.

    &#xA;

    Only when the endpoints provided in the SegmentTemplate for init or media segments is hit it will generate this segment. In other words, nothing is processed up front.

    &#xA;

    I am creating the init segment using the following movflags :

    &#xA;

    &#x2B;frag_keyframe&#x2B;faststart&#x2B;skip_trailer &#xA;

    &#xA;

    I am creating the media segment using the following movflags

    &#xA;

    &#x2B;frag_keyframe&#x2B;default_base_moof&#x2B;delay_moov&#x2B;skip_trailer&#x2B;dash&#x2B;global_sidx&#xA;

    &#xA;

    and the following additional commands any segment type :

    &#xA;

    -map_metadata -1 -copyts -start_at_zero -map 0:${streamIndex}&#xA;

    &#xA;

    This results in playable video with the correct duration, but it seems to be switching fragments quite fast. On average one fragment per second. When I omit the delay_moov flag, the video also starts glitching, like it's stepping over I-Frames.

    &#xA;

    My observations when I look at the boxes :

    &#xA;

      &#xA;
    • earliest_presentation_time (sidx box) is 0 for all segments
    • &#xA;

    • base_media_decode_time (moof->traf->tfdt box) is 0 for all segments
    • &#xA;

    &#xA;

    I'm looking for either the correct command line to create segments on the fly, or hacky ways to get it done right if ffmpeg doesn't provide it out of the box. Even information about what to look for would be helpful, because my knowledge about mp4 and MPEG-DASH is running out.

    &#xA;