Recherche avancée

Médias (91)

Autres articles (49)

  • MediaSPIP Player : les contrôles

    26 mai 2010, par

    Les contrôles à la souris du lecteur
    En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (5565)

  • I want to convert relay server nodejs http->websocket code version to java netty to spring-websocket

    20 août 2019, par rura6502

    I want to rewrite this example(https://github.com/phoboslab/jsmpeg/blob/master/websocket-relay.js) to java using netty and spring-WebSocket.

    This nodejs example’s HTTP server get the media data from FFmpeg and relay to the WebSocket. And then javascript library draws on the HTML Canvas.

    But My problem is that when I use netty, spring-WebSocket, some data cannot read by the javascript library and there are many data loss.

    In the example, this nodejs code’s main part I think.

    http = require('http'),
    WebSocket = require('ws');
    // setting websocket server ..............
    var streamServer = http.createServer( function(request, response) {
     // ....................
       response.connection.setTimeout(0);
       request.on('data', function(data){
           socketServer.broadcast(data);
               // .....
       });
     // .................
    }).listen(STREAM_PORT);

    So I already tried to change this. I just used netty code in the official document(https://netty.io/wiki/user-guide-for-4.x.html) and changed sending a part for the Websocket

    // this code is in channelRead method
    ByteBuf buf = (ByteBuf) msg;
    try {
     while (buf.isReadable()) { // (1)
       byte[] bytes = new byte[buf.readableBytes()];
       buf.readBytes(bytes);
       WSHandler.wsSessions.stream().forEach(wsSession -> {
         try {
           wsSession.sendMessage(new BinaryMessage(bytes));
         } catch (IOException e) {
           e.printStackTrace();
         };  
       });
     }
    } finally {
     ReferenceCountUtil.release(msg); // (2)
    }

    Please tell me what I missed. help me. thanks.

  • Converting series of images with ffmpeg results in black video [migrated]

    27 avril 2013, par Marco Gagliardi

    I've just downloaded ffmpeg since it seems to perfectly match my needs (make a video from a set of pictures). I'm currently playing around with some examples just to get started and there's something weird happening that I can't explain.
    I'm trying this command (provided in the official documentation) :

    ffmpeg -f image2 -pattern_type glob -i 'foo-*.jpeg' -r 12 -s WxH foo.avi

    on a data set of 10 jpg pictures (of course I changed the pattern with '*.jpg'). The video seems to be encoded correctly but it's simply too fast to be sure about that (anyway it stops on the last frame that corresponds to the last picture). In order to get a longer video i thought to low the frame rate from 12 to 1 (one sec each picture) or 0.5 (2 sec each one) and so on.. no way ! with low rate values even if the video is played the pictures are simply not displayed. The player (VLC in my case) just shows a blank/empty video for a few seconds.

    Am I making something wrong or have I misunderstood the -r parameter ? Is it something related to codecs involved ? Finally.. How can i get each picture displayed for 1 or 2 seconds ?

    Here's the output :

    MacBook-Pro$ ffmpeg -f image2 -pattern_type glob -i '*.jpg' -r 1 -s 200x300 foo.avi
    ffmpeg version N-52517-g1e4f75d Copyright (c) 2000-2013 the FFmpeg developers
     built on Apr 27 2013 19:41:11 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
     configuration: --disable-yasm
     libavutil      52. 27.101 / 52. 27.101
     libavcodec     55.  6.100 / 55.  6.100
     libavformat    55.  3.100 / 55.  3.100
     libavdevice    55.  0.100 / 55.  0.100
     libavfilter     3. 61.100 /  3. 61.100
     libswscale      2.  2.100 /  2.  2.100
     libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from '*.jpg':
     Duration: 00:00:00.40, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg, yuvj422p, 2560x1920 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc
    File 'foo.avi' already exists. Overwrite ? [y/N] y
    Output #0, avi, to 'foo.avi':
     Metadata:
       ISFT            : Lavf55.3.100
       Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 200x300 [SAR 2:1 DAR 4:3], q=2-31, 200 kb/s, 1 tbn, 1 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
    Press [q] to stop, [?] for help
    frame=    2 fps=0.0 q=2.0 Lsize=      43kB time=00:00:02.00 bitrate= 177.1kbits/s dup=0 drop=8    
    video:38kB audio:0kB subtitle:0 global headers:0kB muxing overhead 15.099197%
    MacBook-Pro$
  • FFmpeg -filter_complex_script crop & blurbox with time based values

    6 juin 2021, par user1503606

    I am trying to create a script that will move a blur boxed across a video based on x and y cords in a text script.

    


    I can easily create a blur box with the following ffmpeg command.

    


    ffmpeg -y -i pex.mp4 -filter_complex_script cropblur.txt -map "[v]" out_crop.mp4


    


    The cropblur.txt has the following.

    


    [0:v]crop=400:400:300:350,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,0\,5)'[v]


    


    This creates this.

    


    enter image description here

    


    What I want is the blur box to move across where the lady is running.

    


    enter image description here

    


    She obviously runs out from where the box is positioned.

    


    I can create a script where I can track the correct x and y positions for the blox using jquery ui or something I just dont understand how to implement this in a filter_complex_script.

    


    I thought it would be a simple as just appending to the script something like this.

    


    [0:v]crop=400:400:300:350,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,0\,2)'[v]
[0:v]crop=200:200:200:360,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,2\,3)'[v]
[0:v]crop=200:200:200:370,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,3\,4)'[v]
[0:v]crop=200:200:200:380,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,4\,5)'[v]


    


    Changing the time and the x position based on the incremented time.

    


    If I run this script I get this error.

    


    No output pad can be associated to link label '0:v'


    


    Obviously I am doing something wrong but I cannot find any documentation that really helps me understand how to do this https://ffmpeg.org/ffmpeg.html the official docs dont really help.

    


    I could do it by running multiple passes like this.

    


    ffmpeg -y -i pex.mp4 -filter_complex "[0:v]crop=400:400:300:350,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,0\,2)'[v]" -map "[v]" out_crop.mp4 && ffmpeg -y -i out_crop.mp4 -filter_complex "[0:v]crop=200:200:200:360,boxblur=10[fg]; [0:v][fg]overlay=300:350:enable='between(t\,2\,3)'[v]" -map "[v]" out_crop2.mp4


    


    I Would just really like to understand how to use the filter complex scripts in this way ?

    


    Any help would be great.

    


    Thanks