Recherche avancée

Médias (0)

Mot : - Tags -/interaction

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (39)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • ANNEXE : Les extensions, plugins SPIP des canaux

    11 février 2010, par

    Un plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
    Les extensions que MediaSPIP nécessite pour fonctionner
    Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
    Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...)

Sur d’autres sites (6852)

  • FFMPEG : How to extract a PNG sequence from a video, remove duplicate frames in the process and keep the original frame number ?

    16 mai 2020, par Simon

    I have a recording of an old game which has variable framerate. Since I want to process individual frames to upscale and modernize the footage I would like to avoid any duplicate frames. I know that I can use this function to extract all frames from a video :

    



    ffmpeg -i input.mov -r 60/1 out%04d.png


    



    And I know that I can remove duplicate frames using this function :

    



    ffmpeg -i input.mov -vf mpdecimate,setpts=N/FRAME_RATE/TB output.mov


    



    However, the above command removes duplicate frames and puts frames next to each other whereas in order to keep a timecode of sorts it would be a lot more useful to be able to extract PNGs with frame number (video is progressive 60fps) but without all of the duplicates.

    



    So, the question is : what if I want to extract PNG files BUT maintain the original corresponding framenumber within the sequence ? So, if we have a video with 10 frames and frames 2-8 are duplicates it spits out 1.png 2.png 9.png and 10.png ? How do I combine both bits of code listed above ?

    


  • Greed is Good ; Greed Works

    25 novembre 2010, par Multimedia Mike — VP8

    Greed, for lack of a better word, is good ; Greed works. Well, most of the time. Maybe.

    Picking Prediction Modes
    VP8 uses one of 4 prediction modes to predict a 16x16 luma block or 8x8 chroma block before processing it (for luma, a block can also be broken into 16 4x4 blocks for individual prediction using even more modes).

    So, how to pick the best predictor mode ? I had no idea when I started writing my VP8 encoder. I did not read any literature on the matter ; I just sat down and thought of a brute-force approach. According to the comments in my code :

    // naive, greedy algorithm :
    //   residual = source - predictor
    //   mean = mean(residual)
    //   residual -= mean
    //   find the max diff between the mean and the residual
    // the thinking is that, post-prediction, the best block will
    // be comprised of similar samples
    

    After removing the predictor from the macroblock, individual 4x4 subblocks are put through a forward DCT and quantized. Optimal compression in this scenario results when all samples are the same since only the DC coefficient will be non-zero. Failing that, when the input samples are at least similar to each other, few of the AC coefficients will be non-zero, which helps compression. When the samples are all over the scale, there aren’t a whole lot of non-zero coefficients unless you crank up the quantizer, which results in poor quality in the reconstructed subblocks.

    Thus, my goal was to pick a prediction mode that, when applied to the input block, resulted in a residual in which each element would feature the least deviation from the mean of the residual (relative to other prediction choices).

    Greedy Approach
    I realized that this algorithm falls into the broad general category of "greedy" algorithms— one that makes locally optimal decisions at each stage. There are most likely smarter algorithms. But this one was good enough for making an encoder that just barely works.

    Compression Results
    I checked the total file compression size on my usual 640x360 Big Buck Bunny logo image while forcing prediction modes vs. using my greedy prediction picking algorithm. In this very simple test, DC-only actually resulted in slightly better compression than the greedy algorithm (which says nothing about overall quality).

    prediction mode quantizer index = 0 (minimum) quantizer index = 10
    greedy 286260 98028
    DC 280593 95378
    vertical 297206 105316
    horizontal 295357 104185
    TrueMotion 311660 113480

    As another data point, in both quantizer cases, my greedy algorithm selected a healthy mix of prediction modes :

    • quantizer index 0 : DC = 521, VERT = 151, HORIZ = 183, TM = 65
    • quantizer index 10 : DC = 486, VERT = 167, HORIZ = 190, TM = 77

    Size vs. Quality
    Again, note that this ad-hoc test only measures one property (a highly objective one)— compression size. It did not account for quality which is a far more controversial topic that I have yet to wade into.

  • Streaming MJPEG video over RTSP without re-encoding using ffmpeg in Ubuntu

    5 août 2023, par user8109

    I have a video file encoded in MJPEG format stored as .avi file. I want to stream this video without re-encoding using ffmpeg tool from an Ubuntu machine to a remote server over RTSP protocol. I could achieve this for videos encoded in H.264 format and H.265 format using the below command.

    


    ffmpeg -re -i "$input_file" -c copy -f rtsp "$output_url"


    


    But, I am getting errors when I am streaming MJPEG video. One alternative approach could be to extract individual JPEG frames and stream that over the network using the following command.

    


    ffmpeg -re -i "$input_file" -f image2pipe -vcodec mjpeg -pix_fmt yuvj420p - | ffmpeg -i - -c:v copy -an -f rtsp "$output_url"


    


    But I am getting errors here also. Any solution is fine for me.