Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (37)

  • Création définitive du canal

    12 mars 2010, par

    Lorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
    A la validation, vous recevez un email vous invitant donc à créer votre canal.
    Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
    A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)

  • 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 (...)

  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

Sur d’autres sites (4797)

  • Why codecs x264/x265 ignores pts and dts of input frame ?

    1er mars 2018, par Iceman

    I’m trying to encode images from a webcam with libx265 (libx264 tried earlier) ...
    The webcam can not shoot with stable FPS because of the different amount of light entering the matrix and, as a result, different delays. Therefore, I count the fps and dts of the incoming frame and set these values for the corresponding parameters of the x265_image object, and init the encoder fpsNum with 1000 and fpsDenom with 1 (for millisecond timebase).
    The problem is that the encoder ignores pts and dts of input image and encodes at 1000 fps ! The same trick with timebase produces smooth record with libvpx. Why it does not work with x264/x265 codecs ?

    Here is parameters initialization :

    ...
       error = (x265_param_default_preset(param, "fast", "zerolatency") != 0);
       if(!error){
           param->sourceWidth = width;
           param->sourceHeight = height;
           param->frameNumThreads = 1;
           param->fpsNum = 1000;
           param->fpsDenom =  1;
           // Intra refres:
           param->keyframeMax = 15;
           param->intraRefine = 1;
           // Rate control:
           param->rc.rateControlMode = X265_RC_CQP;
           param->rc.rfConstant = 12;
           param->rc.rfConstantMax = 48;
           // For streaming:
           param->bRepeatHeaders = 1;
           param->bAnnexB = 1;
           encoder = x265_encoder_open(param);
           ...
       }
    ...

    Here is frame adding function :

    bool hevc::Push(unsigned char *data){
       if(!error){
           std::lock_guard lock(m_framestack);
           if( timer > 0){
               framestack.back()->dts = clock() - timer;
               timer+= framestack.back()->dts;
           }
           else{timer = clock();}
           x265_picture *picture = x265_picture_alloc();
           if( picture){
               x265_picture_init(param, picture);
               picture->height = param->sourceHeight;
               picture->stride[0] = param->sourceWidth;
               picture->stride[1] = picture->stride[2] = picture->stride[0] / 2;
               picture->planes[0] = new char[  luma_size];
               picture->planes[1] = new char[chroma_size];
               picture->planes[2] = new char[chroma_size];

               colorspaces::BGRtoI420(param->sourceWidth, param->sourceHeight, data, (byte*)picture->planes[0], (byte*)picture->planes[1], (byte*)picture->planes[2]);
               picture->pts = picture->dts = 0;
               framestack.emplace_back(picture);
           }
           else{error = true;}
       }
       return !error;
    }

    Global PTS is increasing right after x265_encoder_encode call :
    pts+= pic_in->dts; and sets as a pts of new image from framestack queue when it comes to encoder.

    Can the x265/x264 codecs encode at variable fps ? How to configure it if yes ?

  • Can ffmpeg write metadata encoder when transcoding alac/flac to aac audio file ?

    11 juin 2022, par David I

    I have a collection of alac and flac files from Bandcamp and an ffmpeg instance compiled with libfdk_aac https://trac.ffmpeg.org/wiki/CompilationGuide/Centos#libfdk_aac and am trying to convert these to lossy audio aac files for non-critical listening.

    


    With ffmpeg -i Liholesie\ -\ Shamanic\ Twilight\ -\ 09\ Gray\ Wings.m4a -c:a libfdk_aac -vbr 4 -c:v copy 09_Gray_wings_vbr4.m4a an expected aac .m4a audio file is produced, album art included, works well. There's one slight detail missing :

    


    During the ffmpeg conversion process ffmpeg says :

    


    Output #0, ipod, to '09_Gray_wings_vbr4.m4a':
  Metadata:
    major_brand     : M4A 
    minor_version   : 512
    compatible_brands: M4A isomiso2
    title           : Gray Wings
    artist          : Liholesie
    album_artist    : Liholesie
    album           : Shamanic Twilight
    comment         : Visit https://liholesie.bandcamp.com
    date            : 2021
    track           : 9
    encoder         : Lavf59.24.100
  Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 700x700 [SAR 72:72 DAR 1:1], q=2-31, 90k tbr, 90k tbn (attached pic)
  Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16 (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc59.33.100 libfdk_aac 
..




    


    and the file produced looks like that when ffprobed except that the Metadata : encoder field is missing :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '09_Gray_wings_vbr4.m4a':
  Metadata:
    major_brand     : M4A 
    minor_version   : 512
    compatible_brands: M4A isomiso2
    title           : Gray Wings
    artist          : Liholesie
    album_artist    : Liholesie
    album           : Shamanic Twilight
    date            : 2021
    encoder         : Lavf59.24.100
    comment         : Visit https://liholesie.bandcamp.com
    track           : 9
  Duration: 00:06:57.78, start: 0.000000, bitrate: 155 kb/s
  Stream #0:0[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 152 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x0]: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 700x700 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn (attached pic)


    


    Is there a way to write the encoder field in the Metadata section when transcoding (or is "encoder" not supported for aac m4a ? That would be weird since ffmpeg says what it says when specifying output during transcoding) .

    


    Any hints on how to write a self-defined text to said tag during transcoding are also welcome.

    


  • Anomalie #4706 (Nouveau) : safehtml vire des trucs légitimes

    29 mars 2021, par RastaPopoulos ♥

    Il semblerait que safehtml fasse quelque peu de la merde : ça vire des attributs totalement légitimes, par ex des data-truc où on met ce qu’on veut.
    En 3.2 ou 3.3, à corriger dans les deux.

    Par exemple le plugin Intl qui a une fonction d’affichage des montants, utilise le mot "montant" dans des attributs (logique vu que c’est tout l’objet du plugin).

    J’ai bien testé avec juste charger_fonction(’safehtml’, ’inc’) de ce plugin.

    1. <span class="CodeRay"><span class="local-variable">$safehtml</span>(<span class="string"><span class="delimiter">'</span><span class="content"><span class="montant" data-montant-nombre="100" data-montant-devise="EUR"></span><span class="delimiter">'</span></span>)
    2. </span></span>

    Télécharger

    Au retour ya plus que :

    <span class="CodeRay"><span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">montant</span><span class="delimiter">"</span></span>
    </span></span>

    Et du coup ça affiche l’emoji danger avec le code visible, par exemple dans des affichages du plugin Bank, mais pas que, dès qu’on passe ce HTML à une chaine de langue un truc comme ça.