
Recherche avancée
Autres articles (39)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne 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 (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa 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 (...) -
ANNEXE : Les extensions, plugins SPIP des canaux
11 février 2010, parUn plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
Les extensions que MediaSPIP nécessite pour fonctionner
Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...)
Sur d’autres sites (6852)
-
How you can use the Piwik AOM plugin to improve your data and make better online marketing decisions
13 septembre 2017, par André Kolell — Plugins, AdWords, Bing, Case Study, Criteo, eccommerce tracking, Facebook Ads, how to install piwik analytics, how-to piwik, integration, piwik, TaboolaHi, this is André, one of the authors of the Piwik Advanced Online Marketing plugin, which has just hit 5,000 downloads on the Piwik marketplace. In this blog post I’ll show you how Piwik AOM improves your data and enables you to make better online marketing decisions.
Piwik itself is excellent in tracking all kinds of visitor data, like where a visitor is coming from and what he’s doing on your page or app (pageviews, events, conversions). But what Piwik did not yet take a closer a look at, is how much you’ve invested into your marketing activities and how profitable they are.
With the Piwik AOM plugin you can integrate data like advertising costs, advertising campaign names, ad impressions etc. from advertising platforms (such as Google AdWords, Microsoft Bing, Criteo, Facebook Ads and Taboola) and individual campaigns (such as such as cost per view/click/acquisition and fixed price per months deals) into Piwik and combine that data with individual Piwik visits.
Piwik AOM adds a new marketing performance report to Piwik giving you a great overview of all your marketing activities with drill-down functionality :
When taking a look at a specific visitor, Piwik AOM shows you the exact cost of acquiring a specific visit :
Leveraging Piwik AOM’s full potential
But although you can access Piwik AOM’s valuable data directly in the Piwik UI for ad-hoc analyses, Piwik AOM’s true strength comes into play when working with the raw data in an external business intelligence application of your choice, where you can further integrate Piwik AOM’s data with your most accurate backend data (like conversion’s contribution margins after returns, new vs. existing customer, etc.).
Piwik AOM offers some API endpoints that allow you to fetch the data you need but you can also retrieve it directly from Piwik AOM’s
aom_visits
table, which includes all visits, all allocated advertising costs and advertising campaign details. As there is never data being deleted fromaom_visits
, the table can easily be connected to your ETL tool with its last update timestamp column. A third way to get data out of Piwik AOM is by developing your own Piwik plugin and listening to theAOM.aomVisitAddedOrUpdated
event, which is posted whenever anaom_visits
record is added or updated.Integrating Piwik AOM’s data with your backend data in the business intelligence application of your choice allows you to evaluate the real performance of your online marketing campaigns when applying different conversion attribution models, conduct customer journey analyses, create sophisticated forecasts and whatever you can think of.
AOM Use case
A company that followed this approach, is FINANZCHECK.de, one of Germany’s leading loan comparison websites. At the eMetrics summit 2016 in Berlin, Germany, I gave a talk about FINANZCHECK’s architectural online marketing setup. Until recently, FINANZCHECK used Pentaho data integration to integrate data from Piwik, Piwik AOM and additional internal tools like its proprietary CRM software into Jaspersoft, its data warehouse an BI solution. The enriched data in Jaspersoft was not only used for reporting to various stakeholders but also for optimising all kinds of marketing activities (e.g. bids for individual keywords in Google AdWords) and proactive alerting. Not long ago, FINANZCHECK started an initiative to improve its setup even further – I’ll hopefully be able to cover this in a more detailed case study soon.
Roadmap
In the past, we had the chance to make great progress in developing this plugin by solving specific requirements of different companies who use Piwik AOM. During the next months, we plan to integrate more advertising platforms, reimplement Facebook Ads, improve the support of individual campaigns and work on the general plugin stability and performance.
Before you install Piwik AOM
Before installing Piwik AOM, you should know that its initial setup and even its maintenance can be quite complex. Piwik AOM will heavily modify your Piwik installation and you will only benefit from Piwik AOM if you are willing to invest quite some time into it.
If you are not familiar with Piwik’s internals, PHP, MySQL, database backups, cronjobs, creating API accounts at the advertising platforms or adding parameters to your advertising campaign’s URLs, you should probably not install it on your own (at least not in your production environment).
Piwik AOM has successfully been tested with up to 25k visitors a day for a period of more than two years, running on an AWS server with 4 GB RAM, once CPU and a separate AWS RDS MySQL database.
Ideas and Support
If you have ideas for new features or need support with your Piwik AOM installation or leveraging your marketing data’s potential in general, feel free to get in touch with the plugin’s co-author Daniel or me. You can find our contact details on the plugin’s website http://www.advanced-online-marketing.com.
How to get the Piwik AOM plugin ?
The Piwik AOM plugin is freely available through the Piwik marketplace at https://plugins.piwik.org/AOM
Did you like this article ? If yes do not hesitate to share it or give your feedback about the topic you would like us to write about.
-
Precisely trim a video with ffmpeg
14 août 2021, par user16665676I want to precisely trim a video using ffmpeg (between keyframes), while keeping the original quality and audio in sync. I understand that using -c copy will do this and re-encoding is necessary. Rather than re-encoding the entire trim duration, I have a solution :


assuming the following :


- 

- trim start is 00:00:10
- trim end is 00:00:20
- closest keyframe to trim start is 00:00:10.5








trim from the specified start to the first keyframe (keyframes are provided by ffprobe) :


ffmpeg -ss 00:00:10 -i input.mp4 -t 0.5 -enc_timebase -1 -vsync 2 1.mp4


-enc_timebase -1 -vsync 2
are necessary otherwise 2.mp4 has a much slower playback speed (though audio remains the same and subsequently finishes much sooner than the video).

trim, using -c copy, from the keyframe above to the end time :


ffmpeg -ss 00:00:10.5 -t 00:00:09.5 input.mp4 -c copy 2.mp4


finally, concatenate both of the videos :


ffmpeg -f concat -i input.txt -c copy output.mp4


This process works great and is quick as I'm only re-encoding up to the first keyframe (usually less than a second). However, when concatenating both the trimmed (1.mp4) and copied (2.mp4) there is a noticeable jitter (in both audio and video) on the concatenated output where the first keyframe starts.


After extracting each individual frame from both videos, its evident that the keyframe is being included twice, once at the end of the trimmed (1.mp4) and once at the start of the copied (2.mp4). Also, if I don't include
-enc_timebase -1 -vsync 2
and the output is played back in "slow motion" on the copied (2.mp4) part of the output, the first keyframe is on screen for much longer than the others. I believe this to be the cause.

Is there a better way to do this process ? Am I messing up any timings/syncing ? I'm not entirely sure if the
-enc_timebase -1 -vsync 2
are the right options to use.

-
How to use ffmpeg for live streaming fragmented mp4 ?
2 mai 2018, par Cross_Following a variety of stackoverflow suggestions I am able to create a fragmented MP4 file, then slice it into the header part (FTYP & MOOV) and various segment files (each containing MOOF & MDAT). Using Media Source Extensions I download and add the individual segments - that’s all working great.
Now I would like to create a live streaming webcam with that same approach. I had hoped that I could just send the MOOV box to each new client plus the currently streaming segment. This however is rejected as invalid data in the browser. I have to start with the first segment and they have to be appended in order. That’s not helpful for a live streaming scenario where you don’t want to see the whole stream from the start. Is there any way to alter the files so that the segments are truly independent and you can start playback from the middle ?
For reference, this is how I am setting up the stream on the OS X server :
$ ffmpeg -y -hide_banner -f avfoundation -r 30 -s 1280x720
-pixel_format yuyv422 -i default -an -c:v libx264 -profile:v main -level 3.2 -preset medium -tune zerolatency -flags +cgop+low_delay -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof+isml
-pix_fmt yuv420p | split_into_segments.pyPlayback is done with a slightly modified version of this sample code :
https://github.com/bitmovin/mse-demo/blob/master/index.html