Recherche avancée

Médias (0)

Mot : - Tags -/masques

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

Autres articles (35)

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

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (6498)

  • Secure and track every change to your Piwik installation with the Activity Log plugin

    14 novembre 2017, par InnoCraft — Plugins

    Are you wondering how your colleagues are using Piwik ? Would you like to know if an unauthorized user got an access to your installation ? Would you like to remember the last actions you performed in Piwik some weeks ago ? At InnoCraft, we developed a plugin called “Activity Log”. With this feature you can easily track and check all major changes to your Piwik websites, for example : user permissions, goals, and funnels. In this article we will show you the different ways you can use it and explain why it is an invaluable plugin.

    Activity log for better security

    The activity log feature has been designed for security. Also referred to as “audit logging” or “audit trail”, with this plugin you will be able to :

    1. detect any suspicious actions
    2. detect hacker attacks
    3. help identify performance problems
    4. see clearly who did what, and when
    5. find out how people are using Piwik within your company

    1 – detect any suspicious actions

    With audit trail you can easily identify if a former employee still has access to your Piwik installation. You will then be able to know when he accessed it for the last time, and what changes she or he performed. If you got hacked, you will be able to find out if the user created, changed, or deleted any website, goals, or did anything else suspicious.

    2 – detect hacker attacks

    When an unregistered user is trying to access your Piwik, each failed login attempt is registered within the Activity Log report.

    3 – help identify performance problems

    Activity Log can help you identify performance problems by registering the sequence of each major action a user performed. For example, if a user updated or installed a third party plugin, and suddenly Piwik is getting performance problems, then it is likely that the plugin update caused it.

    4 – see clearly who did what, and when

    It is always challenging in an organization to know who did what and when. With Activity Log, you will know who were the employee(s) that accessed Piwik, created, updated, or deleted a goal, a funnel, a scheduled report, and much more.

    5- find out how people are using Piwik within your company

    By having a look at how people are using Piwik you will have an overview of how your colleagues use Piwik. For example, you can see who is creating Custom segments to analyse the audience in more details, who is creating funnels to learn where your users drop off. You will then be able to identify who has the knowledge and who needs training.

    Did you know ?

    You can help the Piwik core team make Piwik even better by sharing anonymously how you use Piwik on a day to day basis. You just need to install the following plugin : http://plugins.piwik.org/AnonymousPiwikUsageMeasurement

    What’s in it ?

    Once downloaded and installed from the marketplace, you will be able to access the activity log from the admin panel within the diagnostic section :

    Activity log admin panel

    If you are logged as a super user administrator, you will get an overview and a detailed report about who accessed Piwik and which actions they performed.

    Those reports are critical as they allow the super user to :

    • ensure users are following all documented procedures within your organization such as naming conventions for reports, using the right settings when adding measurables…
    • identify suspicious behavior. As those reports are gathering all major Piwik users activities it is easy to identify non conventional behavior.
    • replay the sequence some users went through in order to fix any potential issues.

    Activity log view report you can access through the admin panel

    So you will see in a second if an unusual user got access to Piwik and the different actions the user performed.
    It is also a good way to see the features that your users are using and identify potential misuse.

    As a regular user or admin, activity log is providing only the historical actions that this user performed :

    Activity log report for non super user

    Actions listed in the log include any changes (add, edit, delete) to the following features (this is a non exhaustive list) :

    • Annotation
    • Custom Alert
    • Custom Dimension
    • Goal
    • Privacy settings
    • Scheduled report
    • Segment
    • User
    • Website

    This is a ideal to remember the actions they previously performed some weeks/months ago.

    Where can I start from here ?

    Activity log is a premium feature you can acquire through the Piwik marketplace. If you want to experience it before purchasing it, you can try it for free on our cloud infrastructure.

    Activity log is just one out of the many great premium features developed by InnoCraft, the company founded by the creators of Piwik. Discover all their special plugins through the premium marketplace.

     

  • FFmpeg Error : Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_amix_54

    25 mai 2024, par Josh Lawson

    I'm working on a project to generate a click track using React.js and FFmpeg. The project includes an Express.js backend where I construct an FFmpeg command to combine multiple audio files (count-ins, vocal cues, and click sounds) into a single track. The final output should be an MP3 file.

    


    However, I'm encountering an error when running the FFmpeg command :

    


    Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_amix_54


    


    How can I correctly construct the FFmpeg command to avoid the "Cannot find a matching stream for unlabeled input pad" error and ensure all inputs are properly processed and mixed ?

    


    Here is the relevant part of my server.js code :

    


    const express = require('express');
const bodyParser = require('body-parser');
const { exec } = require('child_process');
const path = require('path');
const fs = require('fs');
const ffmpegPath = require('ffmpeg-static');
const cors = require('cors');

const app = express();
app.use(cors());
app.use(bodyParser.json());

app.post('/generate-click-track', (req, res) => {
    const { tempo, timeSignature, clickSound, subdivisions, sections } = req.body;
    const clickSoundPath = path.join(__dirname, 'public', 'click-sounds');
    const vocalCuesPath = path.join(__dirname, 'public', 'vocal-cues');

    const beatsPerBar = parseInt(timeSignature.split('/')[0]);
    const beatsPerMinute = tempo;
    let totalBeats = 0;
    const sectionStarts = [];

    sections.forEach((section, index) => {
        if (index > 0) {
            sectionStarts.push(totalBeats);
        }
        totalBeats += section.length * beatsPerBar;
    });

    const outputFilePath = path.join(__dirname, 'output', 'click-track.mp3');
    const tempDir = path.join(__dirname, 'temp');

    if (!fs.existsSync(tempDir)) {
        fs.mkdirSync(tempDir);
    }

    const countInFiles = Array.from({ length: beatsPerBar }, (_, i) => path.join(vocalCuesPath, 'count-ins', `${i + 1}.wav`));

    let ffmpegCommand = '';

    // Add count-in files
    countInFiles.forEach(file => {
        ffmpegCommand += `-i "${file}" `;
    });

    // Add section vocal cues and click sounds
    sections.forEach((section, index) => {
        const vocalCueFile = path.join(vocalCuesPath, `${section.name}.wav`);
        ffmpegCommand += `-i "${vocalCueFile}" `;

        for (let i = 0; i < section.length * beatsPerBar; i++) {
            const clickFile = i % beatsPerBar === 0 ? `${clickSound}-accents.mp3` : `${clickSound}.mp3`;
            ffmpegCommand += `-i "${path.join(clickSoundPath, clickFile)}" `;
        }
    });

    ffmpegCommand += `-filter_complex "`;

    let inputCount = 0;
    countInFiles.forEach((_, index) => {
        ffmpegCommand += `[${inputCount}:0]adelay=${index * (60 / beatsPerMinute) * 1000}|${index * (60 / beatsPerMinute) * 1000}[a${inputCount}]; `;
        inputCount++;
    });

    sections.forEach((section, index) => {
        const delay = (sectionStarts[index] ? sectionStarts[index] : 0) * (60 / beatsPerMinute) * 1000;
        ffmpegCommand += `[${inputCount}:0]adelay=${delay}|${delay}[a${inputCount}]; `;
        inputCount++;

        for (let i = 0; i < section.length * beatsPerBar; i++) {
            const delay = (sectionStarts[index] ? sectionStarts[index] : 0) * (60 / beatsPerMinute) * 1000 + (i * 60 / beatsPerMinute) * 1000;
            ffmpegCommand += `[${inputCount}:0]adelay=${delay}|${delay}[a${inputCount}]; `;
            inputCount++;
        }
    });

    ffmpegCommand += `amix=inputs=${inputCount}:duration=longest" -codec:a libmp3lame -b:a 192k -y "${outputFilePath}"`;

    console.log(`Executing ffmpeg command: ${ffmpegCommand}`);

    exec(`${ffmpegPath} ${ffmpegCommand}`, (error, stdout, stderr) => {
        if (error) {
            console.error(`Error generating click track: ${error.message}`);
            res.status(500).send('Error generating click track');
            return;
        }

        res.download(outputFilePath, 'click-track.mp3', (err) => {
            if (err) {
                console.error(`Error sending file: ${err.message}`);
            }

            // Clean up temp directory
            fs.readdir(tempDir, (err, files) => {
                if (err) throw err;
                for (const file of files) {
                    fs.unlink(path.join(tempDir, file), err => {
                        if (err) throw err;
                    });
                }
            });
        });
    });
});

app.listen(3001, () => {
    console.log('Server running on http://localhost:3001');
});


    


    I can't include the full error messge as it is too long, but if anyone needs it, I'm happy to link to a text file that includes it.

    


    What I have tried :

    


      

    1. Verified all file paths and ensured they exist.
    2. 


    3. Escaped file paths to handle spaces in filenames.
    4. 


    5. Logged the constructed FFmpeg command and ran it manually, which still produced the same error.
    6. 


    


    Environment

    


      

    • React.js : v18.3.1
    • 


    • Node.js : v22.2.0
    • 


    • Express : v4.19.2
    • 


    • FFmpeg : static build via ffmpeg-static (v5.2.0)
    • 


    


  • 9 plugins you should definitely have heard of to prevent data leaks, security breaches and to get more flexibility in the way you log in to your Piwik.

    9 janvier 2017, par InnoCraft — Community

    At Piwik and at InnoCraft, we have always focussed on Security and take it very seriously. We were one of the first open source projects to offer a bug bounty for reporting security issues responsibly, Piwik has gone through several security audits and all changes in Piwik go through security reviews by our security experts.

    On the Piwik Marketplace you will find some plugins that give you just that extra bit of additional security to keep your data even more secure and to let you secure how your users log in to your Piwik.

    Security Info

    This plugin provides security information about the server(s) your Piwik is running on and offers suggestions on how to improve the security settings of your servers. We highly recommend to install the Security Info plugin. Checks performed include for example usage of the latest PHP version, usage of latest Piwik version, usage of PHP ini settings like magic_quotes_gpc and more. More details & download

    By Piwik

    Google Authenticator

    This plugins adds Two Factor Authentication, also known as 2FA, to Piwik. When logging in to Piwik, it forces you to confirm the identity by utilizing a combination of two different components. This means if someone knows your password, they will still need the other component in order to successfully log in, in this case a code that changes every minute on your phone. More details & download

    By Stefan Giehl

    Activity Log

    The plugin gives you a detailed audit log of all activities that happen in your Piwik for better security and problem diagnostic. It provides documentary evidence of over 80 different activities that happen in your Piwik and lets you for example see when someone successfully logged in, when someone tried to log in with your username, when someone deleted data, and much more. More details

    By InnoCraft, the makers of Piwik. Pricing starts from 39€ / $49 a year.

    Login Revokable

    This feature allows a user to log in from multiple locations (different browsers, computers, …) as usual and makes sure to log you out of all sessions as soon as you log out from any of these locations. More details & download

    By Bryan Torosian

    Force SSL

    For security and privacy reasons you should always use Piwik over HTTPS (SSL). By activating this plugin, you make sure to redirect all “http://” requests to “https://” in the Piwik UI and API. More details & download

    By InnoCraft, the makers of Piwik.

    Performance Info

    This plugin checks your Piwik configuration and compares it with some best practice settings. For example whether debug modes are disabled in a production environment, whether the example plugins that are shipped with Piwik are disabled, and more. Please note that this plugin works only with Piwik 2. More details & download

    By Martin Keckeis

    Login Ldap

    Some companies might already manage their users in an LDAP server. This plugin allows you to log in to your Piwik via a central LDAP and supports web server authentication (eg. for Kerberos SSO). It authenticates with an LDAP server and uses LDAP information to personalize Piwik. More details & download

    By Piwik

    Login Shibboleth

    Shibboleth is an open-source project that provides a Single Sign-On and allows websites to make informed authorization decisions in a privacy-preserving manner. Using this plugin allows you to connect to an existing Shibboleth environment so you need to manage users only once. More details & download

    By Universität Würzburg Rechenzentrum

    Login Http Auth

    This plugin allows you to sign in to your Piwik using the HTTP Auth protocol instead of the standard login mechanism. It extends the standard Piwik authentication to use Basic HTTP Authentication. This may be useful if you use Basic HTTP Authentication already anyway and don’t want to manage your users additionally in Piwik itself. We recommend to use this only over SSL, for example with the Force SSL plugin. More details & download

    By Piwik

    Custom Development

    Piwik is an analytics platform that you can extend and customize to your needs. Besides many configuration options you can change existing functionality and also build new functionality on top of Piwik, for example to log in to your Piwik via any Single-Sign-On. Read more about extending Piwik on the Piwik Developer Zone or get in touch with us and we take care of it for you.