Recherche avancée

Médias (91)

Autres articles (23)

  • 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

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

Sur d’autres sites (4495)

  • Bad quality output with FFmpeg, bitrate specified [closed]

    28 septembre 2012, par Darkman2412

    I have a static background image where I add 2 videos on top of it using FFmpeg CLI. The output file (test.avi in this case), is very bad quality.

    ffmpeg -loop 1 -i outro.png
         -vf "movie='intro.mov' [last], [last]scale=512:288[scaled1], [in][scaled1] overlay=290:396 [tmp];
              movie='intro2.mov' [featured], [featured]scale=512:288[scaled2], [tmp][scaled2] overlay=1118:396 [out]" -b 512k -t 10 -r 30 -y test.avi

    The first image is the first frame of test.avi.
    The second one is what it should be.

    image 1

    image 2

    Edit : my question is why it's such bad quality.

    Edit2 : Console output :

    ffmpeg version N-44601-gcb3591e Copyright (c) 2000-2012 the FFmpeg developers
     built on Sep 19 2012 16:31:43 with gcc 4.7.1 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
     libavutil      51. 73.101 / 51. 73.101
     libavcodec     54. 56.100 / 54. 56.100
     libavformat    54. 27.101 / 54. 27.101
     libavdevice    54.  2.100 / 54.  2.100
     libavfilter     3. 16.104 /  3. 16.104
     libswscale      2.  1.101 /  2.  1.101
     libswresample   0. 15.100 /  0. 15.100
     libpostproc    52.  0.100 / 52.  0.100
    [image2 @ 0000000001f4fa40] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Input #0, image2, from 'outro.png':
     Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: png, rgba64be, 1920x1080, 25 tbr, 25 tbn, 25 tbc
    Please use -q:a or -q:v, -qscale is ambiguous
    Output #0, avi, to 'test.avi':
     Metadata:
       ISFT            : Lavf54.27.101
       Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1920x1080, q=2-31, 200 kb/s, 30 tbn, 30 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (png -> mpeg4)
    Press [q] to stop, [?] for help
    frame=    6 fps=0.0 q=2.0 size=      72kB time=00:00:00.23 bitrate=2527.9kbits/s    
    frame=   12 fps= 11 q=2.0 size=     115kB time=00:00:00.46 bitrate=2013.6kbits/s    
    frame=   18 fps= 11 q=2.0 size=     190kB time=00:00:00.70 bitrate=2223.8kbits/s    
    frame=   24 fps= 11 q=2.0 size=     235kB time=00:00:00.96 bitrate=1987.4kbits/s    
    frame=   30 fps= 11 q=2.0 size=     314kB time=00:00:01.20 bitrate=2142.8kbits/s    
    frame=   36 fps= 11 q=2.0 size=     368kB time=00:00:01.43 bitrate=2102.2kbits/s    
    frame=   42 fps= 11 q=2.0 size=     457kB time=00:00:01.66 bitrate=2247.6kbits/s    
    frame=   48 fps= 11 q=2.0 size=     510kB time=00:00:01.90 bitrate=2199.8kbits/s    
    frame=   54 fps= 11 q=2.0 size=     596kB time=00:00:02.16 bitrate=2253.9kbits/s    
    frame=   60 fps= 11 q=2.0 size=     649kB time=00:00:02.40 bitrate=2216.5kbits/s    
    frame=   66 fps= 11 q=2.0 size=     718kB time=00:00:02.63 bitrate=2232.9kbits/s    
    frame=   72 fps= 11 q=2.0 size=     779kB time=00:00:02.86 bitrate=2226.4kbits/s    
    frame=   78 fps= 11 q=2.0 size=     868kB time=00:00:03.10 bitrate=2293.0kbits/s    
    frame=   84 fps= 11 q=2.0 size=     956kB time=00:00:03.36 bitrate=2325.8kbits/s    
    frame=   90 fps= 11 q=2.0 size=    1049kB time=00:00:03.60 bitrate=2386.2kbits/s    
    frame=   96 fps= 11 q=2.0 size=    1143kB time=00:00:03.83 bitrate=2442.9kbits/s    
    frame=  101 fps= 11 q=2.0 size=    1224kB time=00:00:04.03 bitrate=2485.2kbits/s    
    frame=  106 fps= 10 q=2.0 size=    1259kB time=00:00:04.23 bitrate=2436.7kbits/s    
    frame=  111 fps= 10 q=2.0 size=    1326kB time=00:00:04.43 bitrate=2449.5kbits/s    
    frame=  116 fps= 10 q=2.0 size=    1355kB time=00:00:04.63 bitrate=2396.5kbits/s    
    frame=  121 fps= 10 q=2.0 size=    1409kB time=00:00:04.83 bitrate=2388.1kbits/s    
    frame=  127 fps= 10 q=2.0 size=    1424kB time=00:00:05.06 bitrate=2302.5kbits/s    
    frame=  133 fps= 10 q=2.0 size=    1480kB time=00:00:05.30 bitrate=2286.8kbits/s    
    frame=  139 fps= 10 q=2.0 size=    1497kB time=00:00:05.56 bitrate=2203.7kbits/s    
    frame=  145 fps= 10 q=2.0 size=    1552kB time=00:00:05.80 bitrate=2191.8kbits/s    
    frame=  151 fps= 10 q=2.0 size=    1567kB time=00:00:06.03 bitrate=2127.6kbits/s    
    frame=  157 fps= 10 q=2.0 size=    1621kB time=00:00:06.26 bitrate=2119.2kbits/s    
    frame=  163 fps= 10 q=2.0 size=    1641kB time=00:00:06.50 bitrate=2068.1kbits/s    
    frame=  169 fps= 10 q=2.0 size=    1710kB time=00:00:06.76 bitrate=2070.3kbits/s    
    frame=  175 fps= 10 q=2.0 size=    1750kB time=00:00:07.00 bitrate=2047.9kbits/s    
    frame=  181 fps= 10 q=2.0 size=    1834kB time=00:00:07.23 bitrate=2077.6kbits/s    
    frame=  187 fps= 10 q=2.0 size=    1876kB time=00:00:07.46 bitrate=2058.4kbits/s    
    frame=  193 fps= 10 q=2.0 size=    1962kB time=00:00:07.70 bitrate=2087.7kbits/s    
    frame=  199 fps= 10 q=2.0 size=    2005kB time=00:00:07.96 bitrate=2061.5kbits/s    
    frame=  205 fps= 10 q=2.0 size=    2088kB time=00:00:08.20 bitrate=2086.1kbits/s    
    frame=  211 fps= 10 q=2.0 size=    2126kB time=00:00:08.43 bitrate=2065.0kbits/s    
    frame=  217 fps= 10 q=2.0 size=    2201kB time=00:00:08.66 bitrate=2080.5kbits/s    
    frame=  223 fps= 10 q=2.0 size=    2230kB time=00:00:08.90 bitrate=2052.8kbits/s    
    frame=  229 fps= 10 q=2.0 size=    2293kB time=00:00:09.16 bitrate=2049.5kbits/s    
    frame=  235 fps= 10 q=2.0 size=    2307kB time=00:00:09.40 bitrate=2010.4kbits/s    
    frame=  241 fps= 10 q=2.0 size=    2366kB time=00:00:09.63 bitrate=2011.8kbits/s    
    frame=  247 fps= 10 q=2.0 size=    2409kB time=00:00:09.86 bitrate=2000.1kbits/s    
    frame=  250 fps= 10 q=2.0 Lsize=    2438kB time=00:00:10.00 bitrate=1997.2kbits/s    

    video:2425kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.523809%
  • Creating a shared library that statically includes ffmpeg

    10 octobre 2017, par El Sampsa

    I’m having hard time trying to create a shared library that has ffmpeg libraries "baked in" as static ones.

    Consider the following directory schema :

    include/
     my own .h files
     ext/
       ffmpeg .h files
    lib/
     libav*.a archive files (softlinks to the actual .a files)
     libValkka.so (my shared library)
    test/
     mytest.cpp
    bin/
     (binaries appear here)

    I’ve come a long way (see Including objects to a shared library from a C++ archive (.a) ) and the library compiles ok with this : ([STUFF] has been omitted for brevity)

    /usr/bin/c++ -fPIC -std=c++14 -pthread -Iinclude/ext -I/usr/include/libdrm -g -shared -Wl,-soname,libValkka.so -o lib/libValkka.so CMakeFiles/Valkka.dir/src/avthread.cpp.o CMakeFiles/Valkka.dir/src/opengl.cpp.o CMakeFiles/Valkka.dir/src/openglthread.cpp.o [STUFF] CMakeFiles/Valkka.dir/src/filters.cpp.o -lX11 -lGLEW -lGLU -lGL -Wl,—allow-multiple-definition -Wl,-Bsymbolic -Wl,—whole-archive -Wreorder lib/libavdevice.a lib/libavfilter.a lib/libavformat.a lib/libavcodec.a lib/libavutil.a lib/libswscale.a lib/libswresample.a -Wl,—no-whole-archive

    However, when creating executables - their source code does not use any ffmpeg api (just my own api) - with :

    c++ -std=c++14 -pthread -Iinclude -Iinclude/ext -Llib test/mytest.cpp -lValkka -g -o bin/mytest

    I get a hoard of errors about missing ffmpeg dependencies. Not everything is missing, just some weird stuff :

    lib/libValkka.so: undefined reference to `pa_stream_get_index'
    lib/libValkka.so: undefined reference to `deflateInit_'
    lib/libValkka.so: undefined reference to `pa_stream_get_state'
    lib/libValkka.so: undefined reference to `lzma_stream_decoder'
    lib/libValkka.so: undefined reference to `BZ2_bzDecompress'
    lib/libValkka.so: undefined reference to `vaInitialize'
    lib/libValkka.so: undefined reference to `pa_stream_unref'
    lib/libValkka.so: undefined reference to `deflateInit2_'
    lib/libValkka.so: undefined reference to `snd_pcm_close'
    ...
    lib/libValkka.so: undefined reference to `vaGetDisplayDRM'
    lib/libValkka.so: undefined reference to `vaMaxNumEntrypoints'
    lib/libValkka.so: undefined reference to `uncompress'
    lib/libValkka.so: undefined reference to `pa_stream_drop'
    lib/libValkka.so: undefined reference to `pa_context_connect'
    lib/libValkka.so: undefined reference to `FT_Get_Kerning'
    lib/libValkka.so: undefined reference to `ass_free_track'
    lib/libValkka.so: undefined reference to `pa_operation_unref'
    lib/libValkka.so: undefined reference to `FT_Stroker_Done'
    lib/libValkka.so: undefined reference to `vaTerminate'
    lib/libValkka.so: undefined reference to `ass_new_track'
    lib/libValkka.so: undefined reference to `jack_client_close'
    ...
    lib/libValkka.so: undefined reference to `xcb_xfixes_query_version'
    lib/libValkka.so: undefined reference to `xcb_shape_rectangles'
    lib/libValkka.so: undefined reference to `pa_mainloop_free'
    lib/libValkka.so: undefined reference to `snd_device_name_hint'
    lib/libValkka.so: undefined reference to `vaCreateImage'
    lib/libValkka.so: undefined reference to `vaBeginPicture'
    lib/libValkka.so: undefined reference to `DtsSetColorSpace'
    lib/libValkka.so: undefined reference to `vaDestroyConfig'
    lib/libValkka.so: undefined reference to `pa_stream_writable_size'
    lib/libValkka.so: undefined reference to `snd_pcm_hw_params_get_buffer_size_max'
    lib/libValkka.so: undefined reference to `ass_read_file'

    This is pretty frustrating, especially when I can see that those names are included in the shared library..!

    nm lib/libValkka.so | grep "vaBeginPicture"

    gives

    U vaBeginPicture

    etc. I thought it might be a problem regarding the dependency order the archive .a files, and also tried with :

    ..... -Wl,—allow-multiple-definition -Wl,-Bsymbolic -Wl,—start-group -Wl,—whole-archive -Wreorder lib/libavdevice.a lib/libavfilter.a lib/libavformat.a lib/libavcodec.a lib/libavutil.a lib/libswscale.a lib/libswresample.a -Wl,—no-whole-archive -Wl,—end-group

    But the problem persists.

    I have succesfully created a shared library that does not "bake in" those .a archives, i.e. that just depends dynamically on ffmpeg libraries, and there are no such problems.

    I am baffled.. Have I misunderstood something fundamental, forgot some annoying linked option, or both ? Help appreciated !

  • A Quick Start Guide to the Payment Services Directive (PSD2)

    22 novembre 2024, par Daniel Crough — Banking and Financial Services, Privacy

    In 2023, there were 266.2 billion real-time payments indicating that the demand for secure transactions has never been higher. As we move towards a more open banking system, there are a host of new payment solutions that offer convenience and efficiency, but they also present new risks.

    The Payment Services Directive 2 (PSD2) is one of many regulations established to address these concerns. PSD2 is a European Union (EU) business initiative to offer smooth payment experiences while helping customers feel safe from online threats. 

    In this post, learn what PSD2 includes, how it improves security for online payments, and how Matomo supports banks and financial institutions with PSD2 compliance.

    What is PSD2 ? 

    PSD2 is an EU directive that aims to improve the security of electronic payments across the EU. It enforces strong customer authentication and allows third-party access to consumer accounts with explicit consent. 

    Its main objectives are :

    • Strengthening security and data privacy measures around digital payments.
    • Encouraging innovation by allowing third-party providers access to banking data.
    • Improving transparency with clear communication regarding fees, terms and conditions associated with payment services.
    • Establishing a framework for sharing customer data securely through APIs for PSD2 open banking.

    Rationale behind PSD2 

    PSD2’s primary purpose is to engineer a more integrated and efficient European payment market without compromising the security of online transactions. 

    The original directive aimed to standardise payment services across EU member states, but as technology evolved, an updated version was needed.

    PSD2 is mandatory for various entities within the European Economic Area (EEA), like :

    • Banks and credit institutions
    • Electronic money institutions or digital banks like Revolut
    • Card issuing and acquiring institutions
    • Fintech companies
    • Multi-national organisations operating in the EU

    PSD2 implementation timeline

    With several important milestones, PSD2 has reshaped how payment services work in Europe. Here’s a closer look at the pivotal events that paved the way for its launch.

    • 2002 : The banking industry creates the European Payments Council (EC), which drives the Single Euro Payments Area (SEPA) initiative to include non-cash payment instruments across European regions. 
    • 2007 : PSD1 goes into effect.
    • 2013 : EC proposes PSD2 to include protocols for upcoming payment services.
    • 2015 : The Council of European Union passes PSD2 and gives member states two years to incorporate it.
    • 2018 : PSD2 goes into effect. 
    • 2019 : The final deadline for all companies within the EU to comply with PSD2’s regulations and rules for strong customer authentication. 

    PSD2 : Key components 

    PSD2 introduces several key components. Let’s take a look at each one.

    Strong Customer Authentication (SCA)

    The Regulatory Technical Standards (RTS) under PSD2 outline specific requirements for SCA. 

    SCA requires multi-factor authentication for online transactions. When customers make a payment online, they need to verify their identity using at least two of the three following elements :

    • Knowledge : Something they know (like a password, a code or a secret answer)
    • Possession : Something they have (like their phone or card)
    • Inherence : Something they are (like biometrics — fingerprints or facial features)
    Strong customer authentication three factors

    Before SCA, banks verified an individual’s identity only using a password. This dual verification allows only authorised users to complete transactions. SCA implementation reduces fraud and increases the security of electronic payments.

    SCA implementation varies for different payment methods. Debit and credit cards use the 3D Secure (3DS) protocol. E-wallets and other local payment measures often have their own SCA-compliant steps. 

    3DS is an extra step to authenticate a customer’s identity. Most European debit and credit card companies implement it. Also, in case of fraudulent chargebacks, the issuing bank becomes liable due to 3DS, not the business. 

    However, in SCA, certain transactions are exempt : 

    • Low-risk transactions : A transaction by an issuer or an acquirer whose fraud level is below a specific threshold. If the acquirer feels that a transaction is low risk, they can request to skip SCA. 
    • Low-value transactions : Transactions under €30.
    • Trusted beneficiaries : Trusted merchants customers choose to safelist.
    • Recurring payments : Recurring transactions for a fixed amount are exempt from SCA after the first transaction.

    Third-party payment service providers (TPPs) framework

    TPPs are entities authorised to access customer banking data and initiate payments. There are three types of TPPs :

    Account Information Service Providers (AISPs)

    AISPs are services that can view customers’ account details, but only with their permission. For example, a budgeting app might use AISP services to gather transaction data from a user’s bank account, helping them monitor expenses and oversee finances. 

    Payment Initiation Service Providers (PISPs)

    PISPs enable clients to initiate payments directly from their bank accounts, bypassing the need for conventional payment options such as debit or credit cards. After the customer makes a payment, PISPs immediately contact the merchant to ensure the user can access the online services or products they bought. 

    Card-Based Payment Instruments (CBPII)

    CBPIIs refer to services that issue payment cards linked to customer accounts. 

    Requirements for TPPs

    To operate effectively under PSD2, TPPs must meet several requirements :

    Consumer consent : Customers must explicitly authorise TPPs to retrieve their financial data. This way, users can control who can view their information and for what purpose.

    Security compliance : TPPs must follow SCA and secure communication guidelines to protect users from fraud and unauthorised access.

    API availability : Banks must make their Application Programming Interfaces (APIs) accessible and allow TPPs to connect securely with the bank’s systems. This availability helps in easy integration and lets TPPs access essential data. 

    Consumer protection methods

    PSD2 implements various consumer protection measures to increase trust and transparency between consumers and financial institutions. Here’s a closer look at some of these key methods :

    • Prohibition of unjustified fees : PSD2 requires banks to clearly communicate any additional charges or fees for international transfers or account maintenance. This ensures consumers are fully aware of the actual costs and charges.
    • Timely complaint resolution : PSD2 mandates that payment service providers (PSPs) have a straightforward complaint procedure. If a customer faces any problems, the provider must respond within 15 business days. This requirement encourages consumers to engage more confidently with financial services.
    • Refund in case of unauthorised payment : Customers are entitled to a full refund for payments made without their consent.
    • Surcharge ban : Additional charges on credit and debit card payments aren’t allowed. Businesses can’t impose extra fees on these payment methods, which increases customers’ purchasing power.

    Benefits of PSD2 

    Businesses — particularly those in banking, fintech, finserv, etc. — stand to benefit from PSD2 in several ways.

    Access to customer data

    With customer consent, banks can analyse spending patterns to develop tailored financial products that match customer needs, from personalised savings accounts to more relevant loan offerings.

    Innovation and cost benefits 

    PSD2 opened payment processing up to more market competition. New payment companies bring fresh approaches to banking services, making daily transactions more efficient while driving down processing fees across the sector.

    Also, banks now work alongside payment technology providers, combining their strengths to create better services. This collaboration brings faster payment options to businesses, helping them stay competitive while reducing operational costs.

    Improved customer trust and experience

    Due to PSD2 guidelines, modern systems handle transactions quickly without compromising the safety of payment data, creating a balanced approach to digital banking.

    PSD2 compliance benefits

    Banking customers now have more control over their financial information. Clear processes allow consumers to view and adjust their financial preferences as needed.

    Strong security standards form the foundation of these new payment systems. Payment provider platforms must adhere to strict regulations and implement additional protection measures.

    Challenges in PSD2 compliance 

    What challenges can banks and financial institutions face regarding PSD2 compliance ? Let’s examine them. 

    Resource requirements

    For many businesses, the new requirements come with a high price tag. PSD2 requires banks and fintechs to build and update their systems so that other providers can access customer data safely. For example, they must develop APIs to allow TPPs to acquire customer data. 

    Many banks still use older systems that can’t meet PSD2’s added requirements. In addition to the cost of upgrades, complying with PSD2 requires banks to devote resources to training staff and monitoring compliance.

    The significant costs required to update legacy systems and IT infrastructure while keeping services running remain challenging.

    Risks and penalties

    Organisations that fail to comply with PSD2 regulations can face significant penalties.

    Additionally, the overlapping requirements of PSD2 and other regulations, such as the General Data Protection Regulation (GDPR), can create confusion. 

    Banks need clear agreements with TPPs about who’s responsible when things go wrong. This includes handling data breaches, preventing data misuse and protecting customer information. 

    Increased competition 

    Introducing new players in the financial ecosystem, such as AISPs and PISPs, creates competition. Banks must adapt their services to stay competitive while managing compliance costs.

    PSD2 aims to protect customers but the stronger authentication requirements can make banking less convenient. Banks must balance security with user experience. Focused time, effort and continuous monitoring are needed for businesses to stay compliant and competitive.

    How Matomo can help 

    Matomo gives banks and financial institutions complete control over their data through privacy-focused web analytics, keeping collected information internal rather than being used for marketing or other purposes. 

    Its advanced security setup includes access controls, audit logs, SSL encryption, single sign-on and two-factor authentication. This creates a secure environment where sensitive data remains accessible only to authorised staff.

    While prioritizing privacy, Matomo provides tools to understand user flow and customer segments, such as session recordings, heatmaps and A/B testing.

    Financial institutions particularly benefit from several key features : 

    • Tools for obtaining explicit consent before processing personal data like this Do Not Track preference
    • Insights into how financial institutions integrate TPPs (including API usage, user engagement and potential authentication drop-off points)
    • Tracking of failed login attempts or unusual access patterns
    • IP anonymization to analyse traffic patterns and detect potential fraud
    Matomo's Do Not Track preference selection screen

    PSD3 : The next step 

    In recent years, we have seen the rise of innovative payment companies and increasingly clever fraud schemes. This has prompted regulators to propose updates to payment rules.

    PSD3’s scope is to adapt to the evolving digital transformation and to better handle these fraud risks. The proposed measures : 

    • Encourage PSPs to share fraud-related information.
    • Make customers aware of the different types of fraud.
    • Strengthen customer authentication standards.
    • Provide non-bank PSPs restricted access to EU payment systems. 
    • Enact payment rules in a directly applicable regulation and harmonise and enforce the directive.

    Web analytics that respect user privacy 

    Achieving compliance with PSD2 may be a long road for some businesses. With Matomo, organisations can enjoy peace of mind knowing their data practices align with legal requirements.

    Ready to stop worrying over compliance with regulations like PSD2 and take control of your data ? Start your 21-day free trial with Matomo.