Recherche avancée

Médias (0)

Mot : - Tags -/médias

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

Autres articles (62)

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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

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

  • C# FFMPEG : Code bugs out and stops producing media files

    24 mai 2020, par Hamez

    I've made a joke program in C# that uses ffmpeg to edit videos with different effects such as stuttering. I've finished 3 effects so far and each of them work on their own but as soon as I put one after another e.g.  fx.CrashStutter(0, 2); fx.CrashBeep(2, 2); fx.Wow(4, 2);
The code breaks and no longer produces photo/video files but once I stop debugging the file it was supposed to be processing appears. I've used a system where it loops over trying to execute a command to create a text file as a marker for when ffmpeg is done processing a file. The debug console also repeatedly says "The process tried to write to a nonexistent pipe."

    



    Here's the code for all 3 effects :

    



     public void Wow(double start, double duration)
        {
            if (fxstart == true)
            {
                //MessageBox.Show("WowFX Duration" + duration);
                string folderName = ("W_s" + start);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t " + (duration / 6) + " -i " + source + " a.mp4");
                //wait until a.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    /*aha got a live one!*/FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i a.mp4 -vf reverse -af areverse b.mp4");
                //wait until b.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\b.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo b > b.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t " + (duration / 3) + " -i " + source + " c.mp4");
                //wait until c.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\c.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo c > c.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i c.mp4 -vf reverse -af areverse d.mp4");
                //wait until d.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\d.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo d > d.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                string[] concatList = { "file 'a.mp4'", "file 'b.mp4'", "file 'c.mp4'", "file 'd.mp4'" };
                //FXcmd.StandardInput.Write("del a.txt, b.txt, c.txt, d.txt");
                //System.Threading.Thread.Sleep(1000);
                System.IO.File.WriteAllLines(("FxSource(Temporary)\\" + folderName + "\\concatList.txt"), concatList);
                System.Threading.Thread.Sleep(1500);
                FXcmd.StandardInput.WriteLine("ffmpeg -f concat -i concatList.txt -c copy " + folderName + ".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }
        public void CrashStutter(int start, int duration)
        {
            if (fxstart == true)
            {
                string folderName = ("Cs_s" + start);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t 0.1" + " -i " + source + " a.mp4");
                System.Threading.Thread.Sleep(100);
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -stream_loop "+10*duration+" -i a.mp4 "+folderName+".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }
        public void CrashBeep(int start, int duration)
        {
            //this effect cannot last longer than 7 seconds
            double contrast = 25;
            double red = 0.75;
            if (fxstart == true)
            {
                string folderName = ("Cb_s" + start);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                /*gets stuck*/FXcmd.StandardInput.WriteLine("ffmpeg -i "+source+ " -vf fps=1 a.jpg");
                System.Threading.Thread.Sleep(100);
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i a.jpg -vf eq=contrast="+contrast+" b.jpg");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\b.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo b > b.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i b.jpg -vf colorbalance=rm=" + red + " c.jpg");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\c.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo > c.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -loop 1 -i c.jpg -c:v libx264 -t "+ duration +" -pix_fmt yuv420p -vf scale=1920:1080 d.mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\d.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo d > d.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("copy beep.mp3 "+folderName+"/beep.mp3");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd "+folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -i beep.mp3 -ss 0 -t " + duration + " e.mp3");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\e.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo e > e.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i d.mp4 -i e.mp3 -c copy -map 0:v:0 -map 1:a:0 " + folderName + ".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }


    



    Any suggestions ? Thanks !

    


  • 12 ways Matomo Analytics helps you to protect your visitor’s privacy

    5 mai 2020, par InnoCraft — Analytics Tips, Privacy, Security

    This post was originally published on January 11, 2017, and updated on May, 2020.

    At Matomo we think privacy matters. From the beginning, Matomo has had a strong focus on privacy and ensuring the privacy of your visitors and analytics data. 

    Here are some ways how you can ensure your users and visitors privacy by using Matomo (Piwik).

    1. Owning the data gives you power to protect user privacy

    Whether you host Matomo on-premises yourself, or whether you use Matomo’s cloud, YOU keep control of your data and nobody else. By knowing exactly where your data is stored and having full control over what happens to it, you have the power to protect your user’s privacy. No-one else can claim ownership. 

    2. GDPR compliance

    GDPR is one of the most important privacy laws to have come out in the last few years. As such, Matomo takes GDPR compliance very seriously. There’s even a 12-step checklist for you to follow to ensure your Matomo is GDPR compliant. Not only that Matomo is HIPAA, CCPA, LGPD, and PECR compliant.

    3. Data anonymization

    For better privacy by default, Matomo implements a range of data anonymization techniques. One of the main techniques is not recording the full IP address of your visitors. Some countries even require you to anonymize additional info considered Personally Identifiable Information (PII).

    To change the IP anonymization settings go to “Administration > Privacy”. 

    anonymize ip

    4. Configuring Matomo to not process personal data or personally identifiable information (PII)

    To further protect the privacy of your visitors, you can learn how to not process any personal information or PII

    5. Deleting old visitor logs

    The is important because visitor logs contain information all the collected raw data about every visitor and every action. You can configure Matomo to automatically delete logs from the database. When you delete old logs, only the real time and visitor log reports will no longer work for this old time period, all other aggregated reports will still work.

    For privacy reasons, we highly recommend that you keep the detailed Matomo logs for only 3 to 6 months and delete older log data. This has one other nice side effect : it will free significant database space, which will, in turn, slightly increase performance !

    6. Supporting the Do Not Track preference

    Do Not Track enables users to opt out of any tracking by websites they do not visit, including analytics services, advertising networks, and social platforms. By default, Matomo respects users preference and will not track visitors which have specified “I do not want to be tracked” in their web browsers. Get more information about DoNotTrack.

    To make sure Do Not Track is respected, go to “Administration => Privacy”.

    7. Including an Opt-Out Feature on your website or app

    By embedding the Opt-Out feature in your website, you give your visitors the possibility to opt-out of the tracking. When you go to “Administration > Privacy”, you will be able to copy and paste an HTML Iframe code to embed the opt-out feature for example into your privacy policy page or in your ‘Legal’ page. Your users can then click on a link to opt-out.

    On the Matomo Marketplace there are also some plugins available to customize the Opt-Out experience. For example AjaxOptOut and CustomOptOut.

    8. Disabling Live features

    The Real-Time, Visitor Log and Visitor Profile features give you insights into the tracked raw data by showing you details about every visitor and every action they performed. To protect the privacy of your visitors you may decide to prevent access to such features by disabling the “Live” plugin in “Administration => Plugins”. This way only aggregated reports will be shown in your Matomo.

    9. Disabling fingerprinting across websites

    By default, when one of your visitors visits several of your websites, Matomo will create a fingerprint for this user that will be different across the websites to increase the visitors’ privacy. You can make sure that this feature is disabled by going to “Administration => Config file” and verifying that the value of “enable_fingerprinting_across_websites” is set to zero.

    10. Disabling tracking cookies

    Matomo uses first-party cookies to store some information about visitors between visits. In some countries, the legislation requires websites to provide a way for users to opt-out of all tracking, in particular tracking cookies. You can disable cookies by adding one line in the Matomo Javascript code.

    11. Creating the tool of your dreams by developing your own plugins and getting access to the API

    Matomo is an open platform that lets you extend and customise the tracking ; reporting ; and user interface to your needs and to protect your visitors’ privacy the way you want or need it. Learn more in the Matomo Developer Zone. You may also have a look at our Matomo Marketplace where you can find several free and premium features to extend your Matomo.

    12. Transparency

    By default, all information and all collected data in your Matomo server are protected and nobody can access it. However, Matomo allows you to optionally make your collected data public and you can export any Matomo report including the whole dashboard to embed it into your website. This way you can show your users exactly which information you track. When you decide to make reports public, we do our best to protect privacy and automatically hide any Personally Identifiable Information such as the Visitor Profile and we make sure to not show any Visitor IP address and the Visitor ID.

    Bonus tip – A privacy policy template for you

    When you use Matomo to track your visitors, we recommend you update your Privacy Policy to explain how Matomo is used and what data it gathers. Here’s a Privacy Policy template for you to copy on your site.

    Continuous privacy improvements

    We are always interested in improving the privacy. If you miss any feature or have an idea on how to improve the privacy, please let us know.

    More information about all the Matomo features

    If you want to learn more about all the features in Matomo, have a look at our User Guides and FAQ entries.

  • Paid Advertising Performance – target the right customers and invest confidently

    21 avril 2020, par Joselyn Khor — Development, Marketing, Plugins

    You can now analyse the success of your Google Ads campaigns and accounts directly in your Matomo with ease. See what keywords and search queries are leading to clicks for your paid ads and bringing your business the highest ROI, right down to devices and networks – for more effective targeting.

    For many Matomo users, Google Ads is the lifeline for their business. If people are looking for products you sell, you’ll want them to find you first.

    Invest confidently in the right keywords and target the right customers for higher ROI

    You can accurately measure the success of your impressions, clicks, costs, CPC and CPAs and see how they directly relate to the goals you’ve created in your Matomo.

    -> Read the rest of the story on the Form Analytics Marketplace page.

    What does the new Paid Advertising Performance feature look like ?

    The PPC Advertising Performance plugin integrates seamlessly with Matomo’s Row Evolution feature to show you how the performance of your campaigns change over time. This way you can see if the changes you’ve made have a positive or negative effect on sales over time.

    Google Ads campaign performance

    The Visitor Profiles feature is also integrated within the plugin so you can get a detailed overview of everyone who clicks on your ads. This will tell you if they have visited your website in the past and to what extent, so you can identify and target more like-minded customers for more sales when setting up your next campaign.

    Google Ads campaign with visitor profiles

    Where do I get the Paid Advertising Performance feature ?

    Paid Advertising Performance is available on the Matomo Marketplace :

    Learn more from the PaidAdvertisingPerformance user guide and FAQs.