Recherche avancée

Médias (91)

Autres articles (95)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (12382)

  • How to reduce the size of video file as a buffer or blob before writing it on Nodejs ?

    7 novembre 2022, par Hypothesis

    I send live feed from client to the server using websocket from the client side like this :

    


        recorder = new MediaRecorder(canvasStream, {
        mimeType: 'video/webm;codecs=vp9',
        videoBitsPerSecond: 3 * 1024 * 1024
    });
    recorder.ondataavailable = async (e) => {
        const arbuf = await e.data.arrayBuffer()
        ws.send(pack({ type: 'REC', data: arbuf })) //sends to server
    }


    


    and on the server side I get them like this :

    


     let blob = new Blob(chunks, { type: 'video/mp4' })
      const buffer = Buffer.from(await blob.arrayBuffer());
      fs.writeFile("foo.mp4", buffer, () => console.log('video saved!'));


    


    However foo.mp4 is really large. Please help me find a way to reduce the size of foo.mp4 as it is being written down to the disc. ( I can reduce it after it is written, however that won't do the trick for me. It has to be encoded and compressed before it is written )

    


  • ffmpeg capture output from child window

    3 janvier 2013, par glitchyme

    using xwininfo -all I'm able to see the stats of any window, along with its child windows

    xwininfo: Window id: 0x3c000ba "Electro - The Slag & Prototype Raptor - Crescendo - YouTube - Mozilla Firefox"

     Root window id: 0xa8 (the root window) (has no name)
     Parent window id: 0xc001b8 (has no name)
        2 children:
        0x3c00175 (has no name): ()  1388x876+0+0  +52+24
           5 children:
           0x3d210ab (has no name): ()  854x510+225+197  +277+221
              1 child:
              0x3d210ac (has no name): ()  854x510+0+0  +277+221
                 1 child:
                 0x40404de "plugin-container": ("plugin-container" "Plugin-container")  854x510+0+0  +277+221
                    2 children:
                    0x40404e1 (has no name): ()  854x510+0+0  +277+221
                    0x40404df (has no name): ()  1x1+-1+-1  +276+220
           0x3ddbcf2 (has no name): ()  640x390+225+162  +277+186
              1 child:
              0x3ddbcf3 (has no name): ()  640x390+0+0  +277+186
                 1 child:
                 0x403d545 "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+186
                    2 children:
                    0x403d548 (has no name): ()  640x390+0+0  +277+186
                    0x403d546 (has no name): ()  1x1+-1+-1  +276+185
           0x3dac7f9 (has no name): ()  640x390+225+162  +277+186
              1 child:
              0x3dac7fa (has no name): ()  640x390+0+0  +277+186
                 1 child:
                 0x4039d8b "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+186
                    2 children:
                    0x4039d8e (has no name): ()  640x390+0+0  +277+186
                    0x4039d8c (has no name): ()  1x1+-1+-1  +276+185
           0x3c3f939 (has no name): ()  640x390+225+197  +277+221
              1 child:
              0x3c3f93a (has no name): ()  640x390+0+0  +277+221
                 1 child:
                 0x4011918 "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+221
                    2 children:
                    0x401191b (has no name): ()  640x390+0+0  +277+221
                    0x4011919 (has no name): ()  1x1+-1+-1  +276+220
           0x3c0d1dc (has no name): ()  1x1+0+97  +52+121
              1 child:
              0x3c0d1dd (has no name): ()  1x1+0+0  +52+121
                 1 child:
                 0x4002c1e "plugin-container": ("plugin-container" "Plugin-container")  1x1+0+0  +52+121
                    2 children:
                    0x4002c40 (has no name): ()  1x1+0+0  +52+121
                    0x4002c1f (has no name): ()  1x1+-1+-1  +51+120
        0x3c000bb (has no name): ()  1x1+-1+-1  +51+23

     Absolute upper-left X:  52
     Absolute upper-left Y:  24
     Relative upper-left X:  0
     Relative upper-left Y:  0
     Width: 1388
     Height: 876
     Depth: 24
     Visual: 0x23
     Visual Class: TrueColor
     Border width: 0
     Class: InputOutput
     Colormap: 0x20 (installed)
     Bit Gravity State: NorthWestGravity
     Window Gravity State: NorthWestGravity
     Backing Store State: NotUseful
     Save Under State: no
     Map State: IsViewable
     Override Redirect State: no
     Corners:  +52+24  -0+24  -0-0  ç0
     -geometry 1388x876-0-0

     Bit gravity: NorthWestGravity
     Window gravity: NorthWestGravity
     Backing-store hint: NotUseful
     Backing-planes to be preserved: 0xffffffff
     Backing pixel: 0
     Save-unders: No

     Someone wants these events:
         KeyPress
         KeyRelease
         ButtonPress
         ButtonRelease
         EnterWindow
         LeaveWindow
         PointerMotion
         Exposure
         VisibilityChange
         StructureNotify
         FocusChange
         PropertyChange
     Do not propagate these events:
     Override redirection?: No

     Window manager hints:
         Client accepts input or input focus: Yes
         Initial state is Normal State
         Displayed on desktop 0
         Window type:
             Normal
         Window state:
             Maximized Vert
             Maximized Horz
         Process id: 4087 on host jb
         Frame extents: 0, 0, 0, 0

     Normal window size hints:
         Program supplied minimum size: 18 by 97
         Program supplied maximum size: 1073741824 by 1073741824
         Program supplied window gravity: NorthWestGravity
     No zoom window size hints defined

     No window shape defined
     No border shape defined

    However, if I try capturing from the screen given the size and offset of the child window, then I risk losing data when another window floats ontop of it, I switch to another tab while recording, I resize the child window, or move the child window. Instead, I'd like to use ffmpeg to capture from specifically that child window.

    Ideas ? Tips ? Maybe some other hacks to accomplish this ? Thanks :)

  • avcodec/mpegvideo : Don't overallocate buffer

    25 octobre 2022, par Andreas Rheinhardt
    avcodec/mpegvideo : Don't overallocate buffer
    

    Only encoders need two sets of int16_t [12][64]
    (one to save the current best state and one for the current
    working state) ; decoders need only one. This saves 1.5KiB
    per slice context for a decoder.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/mpegvideo.c