Recherche avancée

Médias (91)

Autres articles (83)

  • 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

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (13375)

  • Anomalie #3504 : anomalie dans cvt_autosave : les purges ne se font pas

    23 juillet 2015, par Peet du

    Tu as raison...une fois que tu valides ton formulaire (avec _autosave activé), les données de session concernant CE formulaire sont bien purgées. Pas de bug en l’état puisque ce traitement n’est pas basé sur la constante _AUTOSAVE_GB_DELAY

    Ce que j’avais oublié de préciser dans mon post, c’est que le bug signalé se situe dans la deuxième partie du traitement, celle qui "purge aussi toutes les vieilles autosave". C’est elle qui est basée sur _AUTOSAVE_GB_DELAY.
    Voir https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/cvt_autosave.php#L88

    Si j’ai bien compris, elle traite le cas où le site contient plusieurs formulaires CVT avec l’autosave activé. Dans ce cas on purge également ces sessions.
    Et c’est là que le bug sur le timestamp fait son office. Ces vieilles sessions ne seront jamais purgés.

    SUGGESTION
    Perso, je trouve que ce fonctionnement est astucieux, mais il induit un fonctionnement confus pour l’utilisateur et pour le développeur.
    Si le visiteur revient sur son formulaire, (même 1 an après) il trouve les champs remplis puisque _AUTOSAVE_GB_DELAY n’est pas pris en compte dans ce cas . Il valide son formulaire et sa session pour ce formulaire est purgé.
    Puis dans la foulée il arrive sur un autre formulaire et là....rien ?! (ben oui, il a validé le premier et la purge basée sur _AUTOSAVE_GB_DELAY a fonctionnée (si on corrige le bug hein ;-)

    Bref, perso j’ai modifié le core (je sais, c’est mal) en mettant les purges uniquement basée sur _AUTOSAVE_GB_DELAY dans la fonction cvtautosave_formulaire_charger. On (peut) garder la purge à la validation du formulaire.

    SUGGESTION 2
    L’idéal serait, selon moi, de garder cette dernière idée avec un ajout : on purge dans le répertoire /sessions toutes les données de tous les utilisateurs pour lesquels la valeurs _AUTOSAVE_GB_DELAY a été dépassé. Ça marche bien et de plus, d’un point de vue de sécurité, cela règle en partie le problème des personnes qui on mal lu la doc sur la partie "Vie privée" (voir http://www.spip.net/fr_article5428.html).

    SUGGESTION 3
    même si vous n’êtes pas d’accord avec mon analyse, serait-il possible de mettre

    • cvtautosave_formulaire_charger
    • cvtautosave_formulaire_traiter

    en _dist ?

  • ffmpeg run from c# Process not closing when using '-i anullsrc'

    1er octobre 2022, par Brown Bear

    I am generating a large collection MP4 videos from an OpenGL source. This has worked perfectly so far but I recently noticed that some TV media player don't like video without audio, see here for more info.

    


    So far i hve been using the following code :

    


        private bool StartRecording()
    {
        _ffmpeg = new Process();
        _ffmpeg.StartInfo.FileName = "ffmpeg.exe";
        _ffmpeg.StartInfo.Arguments = $"-f rawvideo -pix_fmt rgba -s {RecordSize.Width}x{RecordSize.Height} -r 30 -i - -c libx264 -crf 17 -pix_fmt yuv420p -b:v 1024k -bufsize:v 1835008 {RecordFile} -tune animation";
        _ffmpeg.StartInfo.RedirectStandardInput = true;
        _ffmpeg.Start();

        if(_ffmpeg.HasExited)
        {
            IsRecording = false;
            return false;
        }
        return true;
    }

    private void RecordFrame(RenderUpdate update)
    {
        if (_ffmpeg == null)
            return;

        var frame = Project.RecordFrame(update);
        var data = new byte[frame.Length];
        var height = RecordSize.Height;
        var width = RecordSize.Width;

        for (var k = 0; k < height; k++)
        {
            var j = height - k - 1;
            Buffer.BlockCopy(
                frame, k * width * 4,
                data, j * width * 4,
                width * 4);
        }

        _ffmpeg.StandardInput.BaseStream.Write(data, 0, data.Length);
    }

    private void StopRecording()
    {
        Project.StopRecording();
        if (_ffmpeg == null)
            return;

        _ffmpeg.StandardInput.Flush();
        _ffmpeg.StandardInput.Close();
        _ffmpeg.Close();
        _ffmpeg.Dispose();
    }


    


    And it has worked perfectly until I modified the 'ffmpeg' cmd line arguments to include '-i anullsrc' for the audio.

    


      _ffmpeg.StartInfo.Arguments = $"-f rawvideo -pix_fmt rgba -s {RecordSize.Width}x{RecordSize.Height} -r 30 -i - -f lavfi -i anullsrc=channel_layout=mono:sample_rate=8k -c:v libx264 -crf 17 -pix_fmt yuv420p -b:v 1024k -bufsize:v 1835008 {RecordFile} -tune animation";


    


    The moment I add '-f lavfi -i anullsrc' to the cmd line the call to 'StopRecording()' has no effect and ffmpeg continues to run.

    


    I can manually stop it by closing the console window or even using ctrl-c, but the job needs to be automated so this is just not an option.

    


    Ultimately my question is Why is ffmpeg behaving this way ?

    


    I've come up with a couple of work arounds, but I don't like either :

    


      

    1. Post process the videos as per the link I mentioned earlier. Not practical. I need to generate 1000s of videos and a single batch of 350 takes around 6 hours. 50% of that time is consumed by ffmpeg encoding, so to re-encode them all just to add a null audio track would nearly double the time.
    2. 


    3. Try to push a 'ctrl-c' through to the ffmpeg process as per this post. I did some quick tests with 'GenerateConsoleCtrlEvent' without sucess, and the idea of having to manually start and stop the Process via 'kernel32.dll' seems excessive not to mention old school.
    4. 


    


    Any insight would be greatly appreciated.

    


  • Anomalie #4562 : Suite #4468 : Unification des CSS pour les boutons et les icônes

    26 octobre 2020, par RastaPopoulos ♥

    Tiens je vois passer ça aujourd’hui à propos de l’accessibilité/affordance des boutons :
    https://seenthis.net/messages/882961

    Windows et le Web en 2020 sont terribles visuellement pour ces personnes.

    À quoi ressemble un bouton par exemple ? Bah : M