Recherche avancée

Médias (2)

Mot : - Tags -/rotation

Autres articles (63)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (5822)

  • When compressing a set of images with libx264, why does frame rate affect final output size ?

    3 avril 2018, par jd20

    I’m using ffmpeg to encode a set of images as a short timelapse video, using libx264 codec. My first attempt, I encoded it at 30 FPS, using :

    ffmpeg -r 30 -pattern_type glob -i "*.jpg" -vcodec libx264 -crf 30 -pix_fmt yuv420p output.mp4

    With 60 frames, that gives me a 163 KB file that’s 2 seconds long. Then I realized I needed it to be slower, so I re-ran the same command, but changed -r to 2. Now I have a file that’s 30 seconds long, but the size jumped to 891 KB ! The video quality looks perceptually the same.

    How do I encode at a slower frame rate, without the final file size ballooning ?


    Notes : Some theories I had, and things I checked. First, to make sure ffmpeg wasn’t duplicating frames in the longer verison, I check the I/P/B counts. The 30 FPS file had :

    [libx264 @ 0x7f9b26001c00] frame I:1     Avg QP:30.67  size: 44649
    [libx264 @ 0x7f9b26001c00] frame P:15    Avg QP:31.19  size:  5471
    [libx264 @ 0x7f9b26001c00] frame B:44    Avg QP:31.45  size:   767

    The 2 FPS file had :

    [libx264 @ 0x7fcd32842200] frame I:1     Avg QP:21.29  size: 90138
    [libx264 @ 0x7fcd32842200] frame P:15    Avg QP:22.48  size: 33686
    [libx264 @ 0x7fcd32842200] frame B:44    Avg QP:26.29  size:  6674

    So, the I/P/B counts are identical, but the QP is much lower for the 2 FPS file. To offset, I tried increasing -crf for the 2 FPS file, to get about the same target size, but that just gave me a very blurry video (had to go to crf=40). I tried messing with -minrate, -maxrate, -bt, none helped. I’m guessing there is some x264 codec setting which is frame rate dependent, but I’m at a loss trying to figure out which one (from what I understand, constant bitrate is affected by frame rate but CRF should not be, but maybe I’m misunderstanding it.

  • How can I get the final size after transcripting a video to stream it with fluent-ffmpeg ?

    5 avril 2018, par G. Manukyan

    I am trying to stream a video using createReadStream and using pipe(res) in node.js and it works fine if the file doesn’t need transcoding (mp4, webm).

    With mkv files I am using fluent-ffmpeg to transcode it on the fly, but the problem is that I can’t go back and forward in the html video player.

    download = function(file, req, res) {  

       const range = req.headers.range
       const parts = range.replace(/bytes=/, "").split("-")

       const start = parseInt(parts[0], 10);
       const end = parts[1] ? parseInt(parts[1], 10) : file.length - 1

       res.setHeader('Content-Type', 'video/webm')
       res.setHeader('Accept-Ranges', 'bytes');
       res.setHeader('Content-Length', 1 + end - start);
       res.setHeader('Content-Range', `bytes ${start}-${end}/${file.length}`);
       res.statusCode = 206;

       var stream = file.createReadStream({start, end})

       ffmpeg(stream)
       .videoCodec('libvpx')
       .audioCodec('libvorbis')
       .videoBitrate('512k')
       .format('webm')
       .on('start', () => {
           console.log('transcoding...')
       })
       .on('error', (err, stdout, stderr) => {
           console.log(err.message, err, stderr);
       })
       .on('progress', function(progress) {
           console.log(progress);
       })
       .on('end', function(filenames) {
           console.log("Finished transcoding.");          
       })
       .pipe(res);

    }

    I think that comes from the fact that we don’t know in advance the size of the final transcoded file so the range we send in the headers is wrong and somehow make the video player "limited".

    What can be a workaround to this problem ?

  • lavfi/nlmeans : move final weighted averaging out of nlmeans_plane

    6 mai 2018, par Clément Bœsch
    lavfi/nlmeans : move final weighted averaging out of nlmeans_plane
    

    This helps figuring out where the filter is slow :

    70.53% ffmpeg_g ffmpeg_g [.] nlmeans_slice
    25.73% ffmpeg_g ffmpeg_g [.] compute_safe_ssd_integral_image_c
    1.74% ffmpeg_g ffmpeg_g [.] compute_unsafe_ssd_integral_image
    0.82% ffmpeg_g ffmpeg_g [.] ff_mjpeg_decode_sos
    0.51% ffmpeg_g [unknown] [k] 0xffffffff91800a80
    0.24% ffmpeg_g ffmpeg_g [.] weight_averages

    (Tested with a large image that takes several seconds to process)

    Since this function is irrelevant speed wise, the file's TODO is
    updated.

    • [DH] libavfilter/vf_nlmeans.c