Recherche avancée

Médias (0)

Mot : - Tags -/publication

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

Autres articles (58)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (8232)

  • Matomo Celebrates 15 Years of Building an Open-Source & Transparent Web Analytics Solution

    30 juin 2022, par Matthieu Aubry — About, Community
    &lt;script type=&quot;text/javascript&quot;&gt;<br />
           if ('function' === typeof window.playMatomoVideo){<br />
           window.playMatomoVideo(&quot;brand&quot;, &quot;#brand&quot;)<br />
           } else {<br />
           document.addEventListener(&quot;DOMContentLoaded&quot;, function() { window.playMatomoVideo(&quot;brand&quot;, &quot;#brand&quot;); });<br />
           }<br />
      &lt;/script&gt;

    Fifteen years ago, I realised that people (myself included) were increasingly integrating the internet into their everyday lives, and it was clear that it would only expand in the future. It was an exciting new world, but the amount of personal data shared online, level of tracking and lack of security was a growing concern. Google Analytics was just launched then and was already gaining huge traction – so data from millions of websites started flowing into Google’s database, creating what was then the biggest centralised database about people worldwide and their actions online.

    So as a young engineering student, I decided we needed to build an open source and transparent solution that could help make the internet more secure and private while still providing organisations with powerful insights. I aimed to create a win-win solution for businesses and their digital consumers.

    And in 2007, I started developing Matomo with the help from Scott Switzer and Jennifer Langdon (who offered me an internship and support).   

    All thanks to the Matomo Community

    We have reached significant milestones and made major changes over the last 15 years, but we wouldn’t be where we are today without the Matomo Community.

    So I would like to celebrate and thank the hundreds of volunteer developers who have donated their time to develop Matomo, the thousands of contributors who provided feedback to improve Matomo, the countless supportive forum members, our passionate team of 40 at Matomo, the numerous translators who have translated Matomo and the 1.5 million websites that choose Matomo as their analytics platform.

    Matomo's Birthday
    Team Meetup in Paris in 2012

    Matomo has been a community effort built on the shoulders of many, and we will continue to work for you. 

    So let’s look at some milestones we have achieved over the last 15 years.

    Looking back on milestones in our timeline

    2007

    • Birth of Matomo
    • First alpha version released

    2008

    • Release first public 0.1.0 version

    2009

    • 50,000 websites use Matomo

    2010

    • Matomo first stable 1.0.0 released
    • Mobile app launched

    2011

    • Released Ecommerce Analytics, Custom Variables, First Party Cookies

    • Released Privacy control features (first of many privacy features to come !)

    2012

    • Released Log Analytics feature
    • 1 Million Downloads !
    • 300,000 websites worldwide use Matomo

    2013

    • Matomo is now available in 50 languages !
    • Matomo brand redesign

    2016

    2017

    • Launched Matomo Cloud service 
    • Released Multi Channel Conversion Attribution Premium Feature, Custom Reports Premium Feature, Login Saml Premium Feature, WooCommerceAnalytics Premium Feature and Heatmap & Session Recording Premium Feature 

    2018

    2019

    2020

    2021

    • 1,000,000 websites worldwide use Matomo
    • including 30,000 active Matomo for WordPress installations
    • Released SEO Web Vitals, Advertising Conversion Export and Tracking Spam Prevention feature

    2022

    • Released WP Statistics to Matomo importer

    Our efforts continue

    While we’ve seen incredible growth over the years, our work doesn’t stop there. In fact, we’re only just getting started.

    Today over 55% of the internet continues to use privacy-threatening web analytics solutions, while 1.5% uses Matomo. So there are still great strides to be made to create a more private internet, and joining the Matomo Community is one way to support this movement.

    There are many ways to get involved too, such as :

    So what comes next for Matomo ?

    The future of Matomo is approachable, powerful and flexible. We’re strengthening the customers’ voice, expanding our resources internally (we’re continuously hiring !) and conducting rigorous customer research to craft a tool that balances usability and functionality.

    I look forward to the next 15 years and seeing what the future holds for Matomo and our community.

  • fluent-ffmpeg concatenate files ends up with wrong length

    24 juillet 2021, par Hugo Cox

    I have the following input file :

    &#xA;

    ffconcat version 1.0&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4&#x27; #0&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4&#x27; #1&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #2&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out007.mp4&#x27; #3&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #4&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out013.mp4&#x27; #5&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #6&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out017.mp4&#x27; #7&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #8&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out021.mp4&#x27; #9&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #10&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out025.mp4&#x27; #11&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #12&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #12&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #12&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #12&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out028.mp4&#x27; #13&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #14&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out032.mp4&#x27; #15&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #16&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #16&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out034.mp4&#x27; #17&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #18&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #18&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #18&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #18&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out037.mp4&#x27; #19&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #20&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #20&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out039.mp4&#x27; #21&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #22&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #22&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out041.mp4&#x27; #23&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #24&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #24&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out043.mp4&#x27; #25&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #26&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #26&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out045.mp4&#x27; #27&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #28&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #28&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out047.mp4&#x27; #29&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #30&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #30&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out049.mp4&#x27; #31&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #32&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #32&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out051.mp4&#x27; #33&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #34&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #34&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out053.mp4&#x27; #35&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #36&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #36&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out055.mp4&#x27; #37&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #38&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #38&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out057.mp4&#x27; #39&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #40&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #40&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out059.mp4&#x27; #41&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #42&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #42&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out061.mp4&#x27; #43&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #44&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #44&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out063.mp4&#x27; #45&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #46&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #46&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #46&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out065.mp4&#x27; #47&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #48&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #48&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #48&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out067.mp4&#x27; #49&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #50&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #50&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #50&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out070.mp4&#x27; #51&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #52&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out074.mp4&#x27; #53&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #54&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #54&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out076.mp4&#x27; #55&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #56&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #56&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #56&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #56&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #56&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out080.mp4&#x27; #57&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #58&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out084.mp4&#x27; #59&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #60&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out089.mp4&#x27; #61&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #62&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out093.mp4&#x27; #63&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #64&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #64&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #64&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #64&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out096.mp4&#x27; #65&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #66&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #66&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out098.mp4&#x27; #67&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #68&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #68&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out100.mp4&#x27; #69&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #70&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #70&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out102.mp4&#x27; #71&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #72&#xA;file &#x27;../intersegment/paddingsegment_h264_1.6s_1920x1080_30fps.mp4&#x27; #72&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out104.mp4&#x27; #73&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #74&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out109.mp4&#x27; #75&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #76&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #76&#xA;file &#x27;../intersegment/paddingsegment_h264_2.6s_1920x1080_30fps.mp4&#x27; #76&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out112.mp4&#x27; #77&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #78&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #78&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out114.mp4&#x27; #79&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27; #80&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/out119.mp4&#x27; #81&#xA;file &#x27;../tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4&#x27; #82&#xA;

    &#xA;

    However, when I use the following command :

    &#xA;

                ffmpeg(__dirname &#x2B; &#x27;/log/vidR_concatenate.txt&#x27;)&#xA;                .inputFormat(&#x27;concat&#x27;)&#xA;                .inputOptions([&#xA;                    &#x27;-safe 0&#x27;&#xA;                ]).outputOptions([&#xA;                    &#x27;-c copy&#x27;&#xA;                ]).output(__dirname &#x2B; &#x27;/output/&#x27; &#x2B; ID &#x2B; &#x27;/video/1080p/&#x27; &#x2B; ID &#x2B; &#x27;-R-1080p.mp4&#x27;)&#xA;                .on(&#x27;start&#x27;, function (commandLine) {&#xA;                    console.log(&#x27;Spawned Ffmpeg with command: &#x27; &#x2B; commandLine);&#xA;                })&#xA;                .on(&#x27;error&#x27;, function (err, stdout, stderr) {&#xA;                    console.log(&#x27;An error occurred: &#x27; &#x2B; err.message, err, stderr);&#xA;                })&#xA;                .on(&#x27;progress&#x27;, function (progress) {&#xA;                    console.log(&#x27;Processing: &#x27; &#x2B; progress.percent &#x2B; &#x27;% done&#x27;)&#xA;                })&#xA;                .on(&#x27;end&#x27;, function (err, stdout, stderr) {&#xA;                    console.log(&#x27;Finished vidR processing!&#x27; /*, err, stdout, stderr*/)&#xA;                    resolve()&#xA;                })&#xA;                .run()&#xA;

    &#xA;

    I do not end up with a video length that is the sum of all individual videos !

    &#xA;

    ffprobe -i ../intersegment/intersegment_h264_3s_1920x1080_30fps.mp4 :

    &#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;intersegment/intersegment_h264_3s_1920x1080_30fps.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.29.100&#xA;  Duration: 00:00:03.00, start: 0.000000, bitrate: 24 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 19 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;

    &#xA;

    ffprobe -i ../intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4 :

    &#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;intersegment/paddingsegment_h264_0.6s_1920x1080_30fps.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.29.100&#xA;  Duration: 00:00:00.60, start: 0.000000, bitrate: 45 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;

    &#xA;

    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4 :

    &#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;tmp/59bd6a7896654d0b0c00705f/vidR/intro.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.29.100&#xA;  Duration: 00:00:14.80, start: 0.000000, bitrate: 21 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 17 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;

    &#xA;

    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4 :

    &#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;tmp/59bd6a7896654d0b0c00705f/vidR/outro.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.29.100&#xA;  Duration: 00:00:05.30, start: 0.000000, bitrate: 22 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 18 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;

    &#xA;

    ffprobe -i ../tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4 :

    &#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;tmp/59bd6a7896654d0b0c00705f/vidR/out003.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    title           : Big Buck Bunny, Sunflower version&#xA;    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013&#xA;    composer        : Sacha Goedegebure&#xA;    encoder         : Lavf58.29.100&#xA;    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net&#xA;    genre           : Animation&#xA;  Duration: 00:00:08.40, start: 0.000000, bitrate: 3703 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 3699 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : GPAC ISO Video Handler&#xA;

    &#xA;

    I thought all the fps, tbr, tbn and tbc are the same, so what is the problem ??&#xA;It is off several seconds from the total sum of each individual file !

    &#xA;

  • Converting RGB images into lossless video with avconv / ffmpeg [migrated]

    19 mai 2013, par despens

    I am trying to convert a series of PNG24 images containing a screen animation to a lossless video, so that every pixel is reproduced exactly as it was in the original. But avconv (and ffmpeg) both produce the same, unsatisfying results, which seem to stem from a colospace conversion going wrong.

    This is the version of avconv I am using :

    avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
     built on Apr  2 2013 17:02:36 with gcc 4.6.3

    Each of the images is 1280×800 pixels in size. They do not contain any photographic motives, but specially dithered patterns.

    I used the qtrle codec because apparently this is a lossless codec that works very much like animated GIFs or animated PNGs. However, during the conversion to video there seems to happen a color space conversion ("filter") that is messing with the pixels.

    This is the avconv output :

    $ avconv -f image2 -r 30 -i frames.png/wth-%08d.png -vcodec qtrle -pix_fmt rgb24 -t 15 qtrle-30fps-rgb.mov
    avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
     built on Apr  2 2013 17:02:36 with gcc 4.6.3
    Input #0, image2, from &#39;frames.png/wth-%08d.png&#39;:
     Duration: 00:11:17.96, start: 0.000000, bitrate: N/A
       Stream #0.0: Video: png, bgra, 1280x800, 30 fps, 30 tbr, 30 tbn, 30 tbc
    File &#39;qtrle-30fps-rgb.mov&#39; already exists. Overwrite ? [y/N] y
    [buffer @ 0x740a00] w:1280 h:800 pixfmt:bgra
    [avsink @ 0x742ac0] auto-inserting filter &#39;auto-inserted scaler 0&#39; between the filter &#39;src&#39; and the filter &#39;out&#39;
    [scale @ 0x743680] w:1280 h:800 fmt:bgra -> w:1280 h:800 fmt:rgb24 flags:0x4
    Output #0, mov, to &#39;qtrle-30fps-rgb.mov&#39;:
     Metadata:
       encoder         : Lavf53.21.1
       Stream #0.0: Video: qtrle, rgb24, 1280x800, q=2-31, 200 kb/s, 30 tbn, 30 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (png -> qtrle)
    Press ctrl-c to stop encoding
    frame=  450 fps= 22 q=0.0 Lsize=  126056kB time=15.00 bitrate=68843.4kbits/s    
    video:126052kB audio:0kB global headers:0kB muxing overhead 0.003441%

    This is an original PNG image file :

    enter image description here

    This is a screenshot of the video being replayed :

    Screenshot of the video being replayed

    Please note that you need to see these images in their original 1280×800 resolution to notice the differences.

    Here is a side-by-side comparison, with the left picture being the original and the right one the outcome after video encoding :

    enter image description here

    Is there any way I can produce a truly lossless, pixel-perfect video file from a series of PNGs ?