Recherche avancée

Médias (91)

Autres articles (54)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • 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

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (8375)

  • Draw FFmpeg AVFrame data with OpenGL in Go

    27 avril 2018, par nevernew

    I’m making a video player in Go (on Windows) using FFmpeg and OpenGl, with the go wrappers goav and go-gl respectively. I want to set the pixels (stored in AVFrame->data) as a texture to display with OpenGL.

    I have it drawing pixels from a test array I created in Go, but it’s not taking the AVFrame data at all. The gl wrapper is giving me an error panic: reflect: call of reflect.Value.Pointer on uintptr Value with this code, I’ve tried different ways, trying to cast the data to the right type to be accepted but to no avail.

    This is the offending code where f is of type *Frame :

    type Frame C.struct_AVFrame

    dataPtr := (*uint8)(unsafe.Pointer((*C.uint8_t)(unsafe.Pointer(&f.data))))
    dataAddr := uintptr(unsafe.Pointer(dataPtr))

    glPixelPointer := gl.Ptr(dataAddr) // reflect error happens here, so the pointer is wrong

    Trying to get the data from this C struct :

    #include

    typedef struct AVFrame {
    #define AV_NUM_DATA_POINTERS 8
       uint8_t *data[AV_NUM_DATA_POINTERS];
    }

    I can provide the rest of the code if needed, but there’s a lot of it to get the example running.

  • ffmpeg makes video with no sound on video.js

    21 septembre 2023, par Laurent B

    I have this code that creates m3u8 file to stream a mkv file after transcoding.

    


    ffmpeg.setFfmpegPath(ffmpegPath);
childProcess = ffmpeg()
    .input(inputFilePath)
    // .native()
    .inputOptions(['-y', '-progress', 'pipe:1'])
    .outputOptions(['-b:v 1M', '-hls_time 2', '-hls_list_size 0', '-hls_segment_size 500000'])
    .output('public/output.m3u8')
    .on('end', () => {
        io.emit('conversionComplete', { percent: 100, time: totalDuration, totalDuration, timemark: millisecondsToTimeString(totalDuration) });
        childProcess = null
    })
    .on('error', (error) => {
        io.emit('conversionError', { error });
        childProcess = null
    })
    .on('progress', (progress) => {
        io.emit('conversionProgress', { ...progress, time: timeStringToMilliseconds(progress.timemark), totalDuration });
    });

childProcess.run();


    


    The m3u8 is readable by VLC Player and video.js and can be casted to Chrome Cast. For some others, 4Go files moreless, it works only when the video is transcoded without sound with option .inputOption('-an').

    


    Here's the content of m3u8

    


    #EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:4
#EXTINF:10.000000,
output4.ts
#EXTINF:10.000000,
output5.ts
#EXTINF:8.640000,
output6.ts
#EXTINF:10.000000,
output7.ts
#EXTINF:10.000000,
output8.ts


    


      

    • I tried with all possible audio codecs provided by ffmpeg
    • 


    • I tried with bigger/smaller parts for ts files
    • 


    • I tried with other bitrate
    • 


    


    Thanks in advance for your ideas

    


  • Anomalie #4245 (Fermé) : Petit bug de sous_repertoire()

    11 décembre 2018

    Découvert hier, un enchaînement tueur :

    1. <span class="CodeRay"><span class="local-variable">$demo</span> = sous_repertoire(_DIR_TMP, <span class="string"><span class="delimiter">'</span><span class="content">demo_</span><span class="delimiter">'</span></span>);
    2. <span class="comment">// $demo = 'tmp/demo_'</span>
    3. <span class="local-variable">$bug</span> = sous_repertoire(<span class="local-variable">$demo</span>, <span class="string"><span class="delimiter">'</span><span class="content">potiron</span><span class="delimiter">'</span></span>);
    4. </span>

    Télécharger

    Le système a rencontré une erreur lors de l’écriture du fichier tmp/demo/potiron/.plat.

    En fait, lors de l’appel de sous_repertoire($base, $subdir), la fonction vire les / et _ finaux de $base (mais pas le _ final éventuel de $subdir).
    Il se retrouve ici à vouloir créer le répertoire tmp/demo/potiron au lieu de tmp/demo_/potiron et n’y arrive pas, vu que le répertoire parent (demo) n’existe pas.

    Histoire

    Après quelques fouilles archéologiques, il se trouve que le problème survient probablement avec r8196 qui refactore différemment le code de r6395 :
    - 6395 fil@rezo.n     if (!preg_match(',[/_]$,', $base)) $base .= '/';
    - 8196 esj@rezo.n     if (preg_match(',[/_]$,', $base)) $base = substr($base,0,-1);
    - 16035 fil@rezo.n     $base = rtrim($base, '/_');

    Le tout devait être, je suppose, pour prendre en compte les excentriques répertoires "plats" (dépendants maintenant de la présence de la constante _CREER_DIR_PLAT).

    Corrections

    Plusieurs corrections possibles :
    - A) virer la constante _CREER_DIR_PLAT et ses actions, et le rtrim de ce souligné (on est en 2018…).
    - B) simplement appliquer le rtrim du souligné si _CREER_DIR_PLAT est présent (ça corrige pas le bug que $subdir n’aurait alors pas ce rtrim non plus !)
    - C) B + corriger le rtrim pour $subdir de la même manière.

    Je suis partisan de A) sur le trunk, et B) ou C) sur 3.2 et 3.1.

    Des avis ?