Recherche avancée

Médias (0)

Mot : - Tags -/serveur

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

Autres articles (112)

  • 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 ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (17046)

  • Nginx rtmp module - on_publish fires multiple time instead of once

    29 juillet 2017, par Stephen Wright

    This is copy and pasted from the bug report I created on the rtmp-module by Arut, I am not completely sure if it is a bug or me not understanding how the module works, I have read the whole directives of module as from https://github.com/arut/nginx-rtmp-module/wiki/Directives

    Proper explanation, if code is not displayed properly I will edit and fix

    Hi, been using the module and finding it very very good !

    Think I have found a issue though, although it may be me misunderstanding the directives.

    Essentially I wish to fire a script (/usr/local/bin/make_thumbnail.sh) which creates a thumbnail automatically from a stream (using ffmpeg), the idea is to have this done for every stream as soon as it is published in order to create a function a bit like twitch tv where the streamer will not have to specify any thumbnail image, authenticated users simply start a stream (which will later be authenticated but is not yet) The script does also write data into the database however this stage works fine and I don’t believe the issue is related, if I comment out these lines then the thumbnail creation still works and my issue continues.

    Initially this was done using the "exec" command as I believe I mis-read the documentation and I believe the exec command doesn’t work for my problem as ". When publishing stops the process is terminated." does this mean it will continually execute until stream stops ?

    I have started using the exec_publish command to try and fix this issue however the same issue seems to occur. The entire script repeats approximately every 15-17 seconds, a new thumbnail is created and a new database entry is create with all the correct information.

    Below is the nginx.conf line. Please ignore if indentation is incorrect couldn’t see a way to indent blocks of code and it’s late here, assume all code is indented correctly unless you believe that could be the issue in which case I will post it indented as early as I can.

    application live {
    allow play all;
    live on;
    record all;
    record_path /var/stream/video_recordings/;
    record_unique on;
    hls on;
    hls_nested on;
    hls_path /var/stream/HLS/live;
    hls_fragment 10s;

    #on publish create thumbnail using first second of stream and save in
    /var/stream/video_recordings/thumbnails
    exec_publish usr/local/bin/make_thumbnail.sh $name;

    The rest can be pasted or attached if needed but is working nginx config for rtmp + website

    The most simple version of the make_thumbnail..sh is pasted below, I have omitted the variables that I have used for database entryys obviously but as the script works without fail from terminal I believe this to be an nginx issue (if I run the command manually under the nginx user e.g. sudo -u nginx /usr/local/bin/make_thumbnail.sh with a name the same as any running stream, it works and only executes once as would expect, all permissions in script are ok and tested.

    make_thumbnail.sh

    #!/bin/bash

    TIME=$(date +%s)
    NAME=$1
    echo "time: "
    FILENAME=${TIME}_${NAME}

    ffmpeg -i rtmp://192.168.0.98:1935/live/$1 -vframes 1 -s 150x150 -ss 10 -
    strftime 1 /var/stream/video_recordings/thumbnails/"$FILENAME.jpg";

    #Writes path to video into database
    mysql --user=$DB_USER --password=$DB_PASSWD $DB_NAME << EOF
    INSERT INTO $TABLE3 (thumbnailfile) VALUES ('$FILENAME');
    set @last_id_in_thumbnails = LAST_INSERT_ID();
    INSERT INTO $TABLE (created_at, updated_at, thumnailID) VALUES
    (NOW(),NOW(),@last_id_in_thumbnails);
    SET @last_id_in_livestreams = LAST_INSERT_ID();
    INSERT INTO $TABLE2 (created_at, updated_at, filename,liveID) VALUES
    (NOW(),NOW(),'$FILENAME',@last_id_in_livestreams);
    EOF

    I have not got the nginx rtmp logs installed, I can obviously do this however some of the logs appear in the nginx error.log, strangely the latest stream I tried did not update in the access log, however I think this is because I did not attempt to connect to it via any method. I don’t fully understand the error.log, in my stupidity I decided to use nginx with which I am quite inexperienced and I am finding it very difficult to troubleshoot this issue, it appears to me that as part of the RTMP protocol or my streaming software (OBS) is either directly pinging the rtmp stream or is being pinged by the server to ensure the connection is still there. And this ping is

    I have left a stream running from approx 4 minutes without interacting with the server, streaming software, computer running the stream, I have ensured the internet connection is constant as my first though was the connection dropped, however on inspecting the database the executing is done always after at least 11 seconds however usually this is 16, I can’t seem to figure out how to select the closest dates from the database however there has been at least a few 17 second differences (potentially when
    I am unsure if this is an issue or if it is intended behavior but I do require this to finish a university degree, I’m not asking for answers but if it is a legitimate issue then I would be happy to spend as much time I can commit to it if some insight into what is causing it, or if there is a workaround I believe it should be documented somewhere, I have googled into making any exec commands run only once on publish

    I can’t seem to pinpoint where in the log the issue is happening however think it is something to do with the below exceprts I would attach the file but can’t seem to select all lines after the timestamp upon starting a stream

    2017/07/26 18:17:35 [info] 1451#0: *2229 exec: starting managed child
    'ffmpeg', client: 192.168.0.78, server: 0.0.0.0:1935
    2017/07/26 18:17:35 [info] 1451#0: *2412 client connected '192.168.0.98'
    2017/07/26 18:17:35 [info] 1451#0: *2412 connect: app='live' args=''
    flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://192.168.0.98:1935/live'
    page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client:
    192.168.0.98, server: 0.0.0.0:1935
    2017/07/26 18:17:35 [info] 1451#0: *2412 createStream, client: 192.168.0.98,
    server: 0.0.0.0:1935
    2017/07/26 18:17:35 [info] 1451#0: *2412 play: name='newname' args=''
    start=-2000 duration=0 reset=0 silent=0, client: 192.168.0.98, server:  
    0.0.0.0:1935
    2017/07/26 18:17:36 [info] 1451#0: *2410 recv() failed (104: Connection  
    reset by peer), client: 192.168.0.98, server: 0.0.0.0:1935
    2017/07/26 18:17:36 [info] 1451#0: *2410 disconnect, client: 192.168.0.98,
    server: 0.0.0.0:1935
    2017/07/26 18:17:36 [info] 1451#0: *2410 deleteStream, client: 192.168.0.98,
    server: 0.0.0.0:1935
    2017/07/26 18:17:36 [notice] 1451#0: signal 17 (SIGCHLD) received
    2017/07/26 18:17:36 [notice] 1451#0: unknown process 10487 exited with code
    0
    2017/07/26 18:17:36 [info] 1451#0: *2229 exec: child 10487 exited; ignoring,
    client: 192.168.0.78, server: 0.0.0.0:1935

    ver: 0.0.0.0:1935
    2017/07/26 18:17:41 [info] 1451#0: *2229 exec: starting managed child
    'usr/local/bin/make_thumbnail.sh', client: 192.168.0.78, server:  
    0.0.0.0:1935
    2017/07/26 18:17:41 [info] 1451#0: *2413 client connected '192.168.0.98'
    2017/07/26 18:17:41 [info] 1451#0: *2413 connect: app='live' args=''
    flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://192.168.0.98:1935/live'
    page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client:
    192.168.0.98,
    server: 0.0.0.0:1935
    2017/07/26 18:17:41 [info] 1451#0: *2413 createStream, client: 192.168.0.98,
    server: 0.0.0.0:1935
    2017/07/26 18:17:41 [info] 1451#0: *2413 play: name='newname' args=''
    start=-2000 duration=0 reset=0 silent=0, client: 192.168.0.98, server:
    0.0.0.0:1935
    2017/07/26 18:17:43 [info] 1451#0: *2229 exec: starting managed child
    'ffmpeg',
    client: 192.168.0.78, server: 0.0.0.0:1935
    2017/07/26 18:17:43 [info] 1451#0: *2414 client connected '192.168.0.98'
    2017/07/26 18:17:43 [info] 1451#0: *2414 connect: app='live' args=''
    flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://192.168.0.98:1935/live'
    page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client:
    192.168.0.98,
    server: 0.0.0.0:1935
    @
  • Piwik 2.1 – Changes for Plugin developers

    24 février 2014, par Piwik Core Team — Development

    This blog post is aimed at developers of Piwik Plugins. If you are simply using Piwik and not developing plugins for Piwik, you do not need to read this post.

    Piwik 2.1 will be released in a few days . This blog post will inform Piwik Plugin developers of the changes in Piwik 2.1 that may require that you update your plugin to work with this latest version.

    Breaking API changes

    Piwik can now handle an unlimited number of users having Super User access (#2589 #4564). In the past Piwik was limited to one Super User who was defined in the config file. From now on all users with Super User access are defined in the database the same way a regular user is. This brought some API changes but we will stay backward compatible until the first of April 2014. This gives you some time to migrate any custom plugins you may use. Although there is a layer for backward compatibility we recommend to make sure your plugin works with Piwik as soon as possible before April 1st.

    List of changes

    Deprecated methods

    The following methods are deprecated and we recommend to use the new methods from now on. There are also some methods which won’t be replaced so make sure to adjust the logic of your plugin.

    \Piwik\Piwik::isUserIsSuperUser => \Piwik\Piwik::hasUserSuperUserAccess
    \Piwik\Piwik::setUserIsSuperUser => \Piwik\Piwik::setUserHasSuperUserAccess
    \Piwik\Piwik::checkUserIsSuperUser => \Piwik\Piwik::checkUserHasSuperUserAccess
    \Piwik\Access::isSuperUser => \Piwik\Access::hasSuperUserAccess
    \Piwik\Access::checkUserIsSuperUser => \Piwik\Access::checkUserHasSuperUserAccess
    \Piwik\Access::setSuperUser => \Piwik\Access::setSuperUserAccess
    \FakeAccess::checkUserIsSuperUser => FakeAccess::checkUserHasSuperUserAccess
    \FakeAccess::setSuperUser => FakeAccess::setSuperUserAccess
    \Piwik\Piwik::isUserIsSuperUserOrTheUser => \Piwik\Piwik::hasUserSuperUserAccessOrIsTheUser
    \Piwik\Piwik::checkUserIsSuperUserOrTheUser => \Piwik\Piwik::checkUserHasSuperUserAccessOrIsTheUser
    \FakeAccess::getSuperUserLogin => No replacement
    \Piwik\Piwik::getSuperUserLogin => No replacement, returns the userLogin of the first Super User we find in the database
    \Piwik\Piwik::getSuperUserEmail => No replacement, returns an empty string from now on
    \Piwik\Access::getSuperUserLogin => No replacement, returns the userLogin of the first Super User we find in the database

    Config Super User

    As mentioned, the Super User was defined in the config and you have accessed the Super User’s data either by using a convenient method like Piwik::getSuperUserLogin or directly via the Config object as follows :

    \Piwik\Config::getInstance->superUser

    As the config user is no longer defined in the config this will no longer work in the future. To stay backward compatible we return the first super user found in the database. This is not necessarily always the same user. So if you have used the super user login in some way in your plugin, make sure you are using the new function such as Piwik::getSuperUserLogin

    Extended Auth Interface

    The last change affects plugins who specify their own Authentication mechanism, for instance when using the custom LoginLDAP plugin. From now on the interface \Piwik\Auth (​https://github.com/piwik/piwik/blob/master/core/Auth.php) requires the methods setTokenAuth and setLogin. There is no backward compatibility layer but we had a look at some plugins defining a custom Authentication adapter to make sure those methods are already defined there as expected.

    For another example of a Login plugin, check out the LoginHttpAuth plugin on the Marketplace.

    After updating the plugin

    After you have made changes in your plugin to keep it compatible with Piwik 2.1, your plugin will no longer work with previous Piwik versions. Therefore you should define the minimum required version in your plugin.json file as follows :

    "require": {
    "piwik": ">=2.1"
    }

    Summary

    Piwik 2.1 introduces some changes in the Piwik Core APIs. This blog post explains how to modify any Plugins compatible with Piwik 2.0 to be compatible with Piwik 2.1. Thank you for taking the time to update your plugins !

    Let us know if you have any feedback. Happy hacking !

    PS : if you use the Web Analytics APIs and the Web Tracking APIs, we guarantee that we will support backwards compatibility of our Web APIs.

  • How to configure and validate a Funnel in Piwik Analytics

    16 janvier 2017, par InnoCraft — Community

    In the last blog post we have covered how the conversion Funnel plugin enriches your Piwik experience. This post will focus on how to configure and validate your funnel in Piwik so you get the correct data when you view the funnel reports. When you set up a funnel, it is crucial to have it configured correctly as the funnel report will be only as good as its configuration. When we built this Funnel feature, we focused on making the configuration and validation real simple because it is so important to get it right.

    To recap quickly : A Funnel defines a series of steps that you expect your visitors to take on their way to converting a goal or a sale. Funnels, a premium feature for Piwik developed by InnoCraft, lets you define funnels so you can improve your websites and mobile apps based on this data. Learn more about Funnel.

    Configuring a funnel

    As you will notice Funnels integrates nicely into the Piwik Goals management. You can configure a funnel whenever you create or update a goal. You can access the Goals Management either via “Administration => Goals” or via the reporting menu “Goals => Manage”. Then click on either “Add a new goal” or select an existing goal to edit it. At the bottom of the goal form, you will see a new row letting you configure a funnel. As with all our premium features we focused on displaying lots of inline help and explain directly in the UI what a funnel is about, what the steps are in order to configure a funnel, how a funnel helps you and more. This lets you use the Funnel feature even if you have never created or analyzed a funnel before.

    Preparing your Funnel configuration

    Before starting to configure a Funnel we usually have a brainstorm session identifying the funnels on a website or app and the paths we expect users to take there. Once we have identified each step, we click through those identified pages in our website and we note the URLs for each page as the URLs will be needed when you configure a funnel.

    Setting up a Goal

    Once we have finished the planning phase it is time to log into Piwik. We start by either adding a new goal or selecting an existing goal. If you are unfamiliar with setting up goals, have a look at the Piwik Goals user guide. At the bottom of a goal form when you create or update a goal, you can configure your funnel. The UI will first explain you everything about Funnels, what they are, how they help you and which steps you need to take in order to configure it.

    Configuring Funnel steps

    We start by configuring the steps we have identified in the planning phase. Those are the steps we expect our users to take when they convert a goal or purchase something. Now we need to add a step for each page we expect users to take, each step consists of a name and a pattern.

    The name will be shown to you in the funnel reporting so think of a good name that describes each step best, for example “Product”, “Cart”, “Checkout” and “Order”.

    The pattern is needed to define when a visitor will enter this step. Here it comes in handy to have already notes for each URL from the planning phase. You can select lots of different patterns based on “URL Path”, “URL” and “URL parameter”. For example “URL starts with”, “Path ends with”, “URL contains”, “URL matches the regular expression”, and more. Most tools make this configuration unnecessarily hard because they only allow you to choose from one or two patterns (only complicated pattern like regular expressions) and they don’t let you validate whether the URL you have in mind actually matches the pattern. There are three ways to validate your step configurations.

    Funnel Configure Steps

    Validating funnel steps

    When we configure a funnel, we validate our steps in the following three ways.

    1. Via the help icon next to the step configuration

    When you click on the help icon, you will receive valuable tips about configuring steps, what “required” means and how to match popular pages. It will also show you a list of all URLs that were tracked in your Piwik in the past and match your specified pattern. For example say you specify a pattern “Path starts with /products”, then Piwik will list all URLs that were tracked in the past matching this pattern. This lets you validate whether your pattern actually matches the URLs you had in mind. It will also show you if the pattern doesn’t match any known URL which can indicate that your configuration may be wrong.

    Funnel Known URLs

    2. Via the URL validator

    Below the steps configuration you find a form field that lets you enter any URL.

    Funnel URL validation

    We recommend to enter each URL that you have noted before in the planning phase. Once you enter a URL, the configurations will be validated immediately and the result will be shown to you in the step configuration. When a step matches your specified URL, the background will become green, when a step does not match the URL, the background will be red.

    Funnel Step Validation

    If the URL does not match the expected step, simply change your step configuration and the steps will be re-validated as you change the configuration. This way you will see instantly as soon as you got the configuration right.

    What you don’t want is that either all of your steps don’t match (red background) or that several steps match a certain URL (green background). When several step match one URL, then one visitor might enter several funnel steps on just one page. This usually indicates a problem with the step configuration.

    3. Manual funnel validation

    After we have created or updated the goal (more about this soon), we always test a funnel configuration manually. This means we now open our website and click through the pages that we hand in mind and check afterwards whether the steps we took actually appear in the funnel report as expected. This is just another safety net to make sure your funnel configuration is right.

    It is really crucial to have a correct funnel configuration as otherwise the shown data in the funnel reports might not be as helpful. That’s why we focused so much on making the validation part real easy.

    Activating and saving the funnel

    Once you are happy with your configuration, it is time to activate your funnel. As soon as you activate your funnel, a report for this funnel will be generated and the links and reports for this funnel will be visible in the UI. If you are later no longer interested in the funnel, simply deactivate the funnel so it won’t appear in the reporting UI anymore.

    Save and activate funnel

    To save your funnel configuration simply click on either “Add goal” or “Update goal”. The funnel will be automatically saved whenever you update your goal.

    Goals Management

    The funnel plugin also enriches the list of goals in the Piwik goal management. At a glance you can see whether a funnel for a goal is configured and activated (green tick in the funnel column), whether a funnel is configured but not activated (grey tick in the funnel column) or whether no funnel is configured for a goal (no tick at all).

    Funnels in Manage Goals

    How to get Funnels and related features

    You can get Funnels on the Piwik Marketplace. If you want to learn more about Funnels you might be also interested in the Funnel User Guide and the Funnel FAQ.

    Similar to Funnels we also offer Users Flow which lets you visualize the flow of your users and visitors across several interactions.