Recherche avancée

Médias (91)

Autres articles (61)

  • 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

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

Sur d’autres sites (5062)

  • Overcoming Fintech and Finserv’s Biggest Data Analytics Challenges

    13 septembre 2024, par Daniel Crough — Banking and Financial Services, Marketing, Security

    Data powers innovation in financial technology (fintech), from personalized banking services to advanced fraud detection systems. Industry leaders recognize the value of strong security measures and customer privacy. A recent survey highlights this focus, with 72% of finance Chief Risk Officers identifying cybersecurity as their primary concern.

    Beyond cybersecurity, fintech and financial services (finserv) companies are bogged down with massive amounts of data spread throughout disconnected systems. Between this, a complex regulatory landscape and an increasingly tech-savvy and sceptical consumer base, fintech and finserv companies have a lot on their plates.

    How can marketing teams get the information they need while staying focused on compliance and providing customer value ? 

    This article will examine strategies to address common challenges in the finserv and fintech industries. We’ll focus on using appropriate tools, following effective data management practices, and learning from traditional banks’ approaches to similar issues.

    What are the biggest fintech data analytics challenges, and how do they intersect with traditional banking ?

    Recent years have been tough for the fintech industry, especially after the pandemic. This period has brought new hurdles in data analysis and made existing ones more complex. As the market stabilises, both fintech and finserve companies must tackle these evolving data issues.

    Let’s examine some of the most significant data analytics challenges facing the fintech industry, starting with an issue that’s prevalent across the financial sector :

    1. Battling data silos

    In a recent survey by InterSystems, 54% of financial institution leaders said data silos are their biggest barrier to innovation, while 62% said removing silos is their priority data strategy for the next year.

    a graphic highlighting fintech concerns about siloed data

    Data silos segregate data repositories across departments, products and other divisions. This is a major issue in traditional banking and something fintech companies should avoid inheriting at all costs.

    Siloed data makes it harder for decision-makers to view business performance with 360-degree clarity. It’s also expensive to maintain and operationalise and can evolve into privacy and data compliance issues if left unchecked.

    To avoid or remove data silos, develop a data governance framework and centralise your data repositories. Next, simplify your analytics stack into as few integrated tools as possible because complex tech stacks are one of the leading causes of data silos.

    Use an analytics system like Matomo that incorporates web analytics, marketing attribution and CRO testing into one toolkit.

    A screenshot of Matomo web analytics

    Matomo’s support plans help you implement a data system to meet the unique needs of your business and avoid issues like data silos. We also offer data warehouse exporting as a feature to bring all of your web analytics, customer data, support data, etc., into one centralised location.

    Try Matomo for free today, or contact our sales team to discuss support plans.

    2. Compliance with laws and regulations

    A survey by Alloy reveals that 93% of fintech companies find it difficult to meet compliance regulations. The cost of staying compliant tops their list of worries (23%), outranking even the financial hit from fraud (21%) – and this in a year marked by cyber threats.

    a bar chart shows the top concerns of fintech regulation compliance

    Data privacy laws are constantly changing, and the landscape varies across global regions, making adherence even more challenging for fintechs and traditional banks operating in multiple markets. 

    In the US market, companies grapple with regulations at both federal and state levels. Here are some of the state-level legislation coming into effect for 2024-2026 :

    Other countries are also ramping up regional regulations. For instance, Canada has Quebec’s Act Respecting the Protection of Personal Information in the Private Sector and British Columbia’s Personal Information Protection Act (BC PIPA).

    Ignorance of country- or region-specific laws will not stop companies from suffering the consequences of violating them.

    The only answer is to invest in adherence and manage business growth accordingly. Ultimately, compliance is more affordable than non-compliance – not only in terms of the potential fines but also the potential risks to reputation, consumer trust and customer loyalty.

    This is an expensive lesson that fintech and traditional financial companies have had to learn together. GDPR regulators hit CaixaBank S.A, one of Spain’s largest banks, with multiple multi-million Euro fines, and Klarna Bank AB, a popular Swedish fintech company, for €720,000.

    To avoid similar fates, companies should :

    1. Build solid data systems
    2. Hire compliance experts
    3. Train their teams thoroughly
    4. Choose data analytics tools carefully

    Remember, even popular tools like Google Analytics aren’t automatically safe. Find out how Matomo helps you gather useful insights while sticking to rules like GDPR.

    3. Protecting against data security threats

    Cyber threats are increasing in volume and sophistication, with the financial sector becoming the most breached in 2023.

    a bar chart showing the percentage of data breaches per industry from 2021 to 2023
<p>

    The cybersecurity risks will only worsen, with WEF estimating annual cybercrime expenses of up to USD $10.5 trillion globally by 2025, up from USD $3 trillion in 2015.

    While technology brings new security solutions, it also amplifies existing risks and creates new ones. A 2024 McKinsey report warns that the risk of data breaches will continue to increase as the financial industry increasingly relies on third-party data tools and cloud computing services unless they simultaneously improve their security posture.

    The reality is that adopting a third-party data system without taking the proper precautions means adopting its security vulnerabilities.

    In 2023, the MOVEit data breach affected companies worldwide, including financial institutions using its file transfer system. One hack created a global data crisis, potentially affecting the customer data of every company using this one software product.

    The McKinsey report emphasises choosing tools wisely. Why ? Because when customer data is compromised, it’s your company that takes the heat, not the tool provider. As the report states :

    “Companies need reliable, insightful metrics and reporting (such as security compliance, risk metrics and vulnerability tracking) to prove to regulators the health of their security capabilities and to manage those capabilities.”

    Don’t put user or customer data in the hands of companies you can’t trust. Work with providers that care about security as much as you do. With Matomo, you own all of your data, ensuring it’s never used for unknown purposes.

    A screenshot of Matomo visitor reporting

    4. Protecting users’ privacy

    With security threats increasing, fintech companies and traditional banks must prioritise user privacy protection. Users are also increasingly aware of privacy threats and ready to walk away from companies that lose their trust.

    Cisco’s 2023 Data Privacy Benchmark Study reveals some eye-opening statistics :

    • 94% of companies said their customers wouldn’t buy from them if their data wasn’t protected, and 
    • 95% see privacy as a business necessity, not just a legal requirement.

    Modern financial companies must balance data collection and management with increasing privacy demands. This may sound contradictory for companies reliant on dated practices like third-party cookies, but they need to learn to thrive in a cookieless web as customers move to banks and service providers that have strong data ethics.

    This privacy protection journey starts with implementing web analytics ethically from the very first session.

    A graphic showing the four key elements of ethical web analytics: 100% data ownership, respecting user privacy, regulatory compliance and Data transparency

    The most important elements of ethically-sound web analytics in fintech are :

    1. 100% data ownership : Make sure your data isn’t used in other ways by the tools that collect it.
    2. Respecting user privacy : Only collect the data you absolutely need to do your job and avoid personally identifiable information.
    3. Regulatory compliance : Stick with solutions built for compliance to stay out of legal trouble.
    4. Data transparency : Know how your tools use your data and let your customers know how you use it.

    Read our guide to ethical web analytics for more information.

    5. Comparing customer trust across industries 

    While fintech companies are making waves in the financial world, they’re still playing catch-up when it comes to earning customer trust. According to RFI Global, fintech has a consumer trust score of 5.8/10 in 2024, while traditional banking scores 7.6/10.

    a comparison of consumer trust in fintech vs traditional finance

    This trust gap isn’t just about perception – it’s rooted in real issues :

    • Security breaches are making headlines more often.
    • Privacy regulations like GDPR are making consumers more aware of their rights.
    • Some fintech companies are struggling to handle fraud effectively.

    According to the UK’s Payment Systems Regulator, digital banking brands Monzo and Starling had some of the highest fraudulent activity rates in 2022. Yet, Monzo only reimbursed 6% of customers who reported suspicious transactions, compared to 70% for NatWest and 91% for Nationwide.

    So, what can fintech firms do to close this trust gap ?

    • Start with privacy-centric analytics from day one. This shows customers you value their privacy from the get-go.
    • Build and maintain a long-term reputation free of data leaks and privacy issues. One major breach can undo years of trust-building.
    • Learn from traditional banks when it comes to handling issues like fraudulent transactions, identity theft, and data breaches. Prompt, customer-friendly resolutions go a long way.
    • Remember : cutting-edge financial technology doesn’t make up for poor customer care. If your digital bank won’t refund customers who’ve fallen victim to credit card fraud, they’ll likely switch to a traditional bank that will.

    The fintech sector has made strides in innovation, but there’s still work to do in establishing trustworthiness. By focusing on robust security, transparent practices, and excellent customer service, fintech companies can bridge the trust gap and compete more effectively with traditional banks.

    6. Collecting quality data

    Adhering to data privacy regulations, protecting user data and implementing ethical analytics raises another challenge. How can companies do all of these things and still collect reliable, quality data ?

    Google’s answer is using predictive models, but this replaces real data with calculations and guesswork. The worst part is that Google Analytics doesn’t even let you use all of the data you collect in the first place. Instead, it uses something called data sampling once you pass certain thresholds.

    In practice, this means that Google Analytics uses a limited set of your data to calculate reports. We’ve discussed GA4 data sampling at length before, but there are two key problems for companies here :

    1. A sample size that’s too small won’t give you a full representation of your data.
    2. The more visitors that come to your site, the less accurate your reports will become.

    For high-growth companies, data sampling simply can’t keep up. Financial marketers widely recognise the shortcomings of big tech analytics providers. In fact, 80% of them say they’re concerned about data bias from major providers like Google and Meta affecting valuable insights.

    This is precisely why CRO:NYX Digital approached us after discovering Google Analytics wasn’t providing accurate campaign data. We set up an analytics system to suit the company’s needs and tested it alongside Google Analytics for multiple campaigns. In one instance, Google Analytics failed to register 6,837 users in a single day, approximately 9.8% of the total tracked by Matomo.

    In another instance, Google Analytics only tracked 600 visitors over 24 hours, while Matomo recorded nearly 71,000 visitors – an 11,700% discrepancy.

    a data visualisation showing the discrepancy in Matomo's reporting vs Google Analytics

    Financial companies need a more reliable, privacy-centric alternative to Google Analytics that captures quality data without putting users at potential risk. This is why we built Matomo and why our customers love having total control and visibility of their data.

    Unlock the full power of fintech data analytics with Matomo

    Fintech companies face many data-related challenges, so compliant web analytics shouldn’t be one of them. 

    With Matomo, you get :

    • An all-in-one solution that handles traditional web analytics, behavioural analytics and more with strong integrations to minimise the likelihood of data siloing
    • Full compliance with GDPR, CCPA, PIPL and more
    • Complete ownership of your data to minimise cybersecurity risks caused by negligent third parties
    • An abundance of ways to protect customer privacy, like IP address anonymisation and respect for DoNotTrack settings
    • The ability to import data from Google Analytics and distance yourself from big tech
    • High-quality data that doesn’t rely on sampling
    • A tool built with financial analytics in mind

    Don’t let big tech companies limit the power of your data with sketchy privacy policies and counterintuitive systems like data sampling. 

    Start your Matomo free trial or request a demo to unlock the full power of fintech data analytics without putting your customers’ personal information at unnecessary risk.

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

  • When I use ffmpeg to go from a video to frames, and then back to video, the duration is different between the videos

    24 février 2024, par bluepanda

    I am trying to use ffmpeg to convert from a .mp4 (or .mov) video into individual frames, do some processing on those frames, and then convert back to .mp4. The problem is that the resulting video I create is a different duration than the input - I can see this visually when I play the two videos side by side. The difference is not large (i.e. 00:00:00.50 for the input video and 00:00:00.52 for the output video), but when the videos are looped next to each other they get out of sync.

    &#xA;

    Here is information about the input video retrieved using fluent-ffmpeg's ffmpeg.ffprobe(videoPath) :

    &#xA;

    metadata {&#xA;  streams: [&#xA;    {&#xA;      index: 0,&#xA;      codec_name: &#x27;h264&#x27;,&#xA;      codec_long_name: &#x27;H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10&#x27;,&#xA;      profile: &#x27;High&#x27;,&#xA;      codec_type: &#x27;video&#x27;,&#xA;      codec_tag_string: &#x27;avc1&#x27;,&#xA;      codec_tag: &#x27;0x31637661&#x27;,&#xA;      width: 1080,&#xA;      height: 1920,&#xA;      coded_width: 1080,&#xA;      coded_height: 1920,&#xA;      closed_captions: 0,&#xA;      has_b_frames: 2,&#xA;      sample_aspect_ratio: &#x27;N/A&#x27;,&#xA;      display_aspect_ratio: &#x27;N/A&#x27;,&#xA;      pix_fmt: &#x27;yuv420p&#x27;,&#xA;      level: 40,&#xA;      color_range: &#x27;tv&#x27;,&#xA;      color_space: &#x27;bt709&#x27;,&#xA;      color_transfer: &#x27;bt709&#x27;,&#xA;      color_primaries: &#x27;bt709&#x27;,&#xA;      chroma_location: &#x27;left&#x27;,&#xA;      field_order: &#x27;unknown&#x27;,&#xA;      refs: 1,&#xA;      is_avc: &#x27;true&#x27;,&#xA;      nal_length_size: 4,&#xA;      id: &#x27;N/A&#x27;,&#xA;      r_frame_rate: &#x27;30000/1001&#x27;,&#xA;      avg_frame_rate: &#x27;27000/1001&#x27;,&#xA;      time_base: &#x27;1/30000&#x27;,&#xA;      start_pts: 0,&#xA;      start_time: 0,&#xA;      duration_ts: 15100,&#xA;      duration: 0.503333,&#xA;      bit_rate: 5660223,&#xA;      max_bit_rate: &#x27;N/A&#x27;,&#xA;      bits_per_raw_sample: 8,&#xA;      nb_frames: 36,&#xA;      nb_read_frames: &#x27;N/A&#x27;,&#xA;      nb_read_packets: &#x27;N/A&#x27;,&#xA;      tags: [Object],&#xA;      disposition: [Object]&#xA;    },&#xA;    {&#xA;      index: 1,&#xA;      codec_name: &#x27;aac&#x27;,&#xA;      codec_long_name: &#x27;AAC (Advanced Audio Coding)&#x27;,&#xA;      profile: &#x27;LC&#x27;,&#xA;      codec_type: &#x27;audio&#x27;,&#xA;      codec_tag_string: &#x27;mp4a&#x27;,&#xA;      codec_tag: &#x27;0x6134706d&#x27;,&#xA;      sample_fmt: &#x27;fltp&#x27;,&#xA;      sample_rate: 48000,&#xA;      channels: 2,&#xA;      channel_layout: &#x27;stereo&#x27;,&#xA;      bits_per_sample: 0,&#xA;      id: &#x27;N/A&#x27;,&#xA;      r_frame_rate: &#x27;0/0&#x27;,&#xA;      avg_frame_rate: &#x27;0/0&#x27;,&#xA;      time_base: &#x27;1/48000&#x27;,&#xA;      start_pts: 0,&#xA;      start_time: 0,&#xA;      duration_ts: 24160,&#xA;      duration: 0.503333,&#xA;      bit_rate: 248416,&#xA;      max_bit_rate: &#x27;N/A&#x27;,&#xA;      bits_per_raw_sample: &#x27;N/A&#x27;,&#xA;      nb_frames: 27,&#xA;      nb_read_frames: &#x27;N/A&#x27;,&#xA;      nb_read_packets: &#x27;N/A&#x27;,&#xA;      tags: [Object],&#xA;      disposition: [Object]&#xA;    }&#xA;  ],&#xA;  format: {&#xA;    filename: &#x27;/Users/name/images/input.mp4&#x27;,&#xA;    nb_streams: 2,&#xA;    nb_programs: 0,&#xA;    format_name: &#x27;mov,mp4,m4a,3gp,3g2,mj2&#x27;,&#xA;    format_long_name: &#x27;QuickTime / MOV&#x27;,&#xA;    start_time: 0,&#xA;    duration: 0.503333,&#xA;    size: 963879,&#xA;    bit_rate: 15319941,&#xA;    probe_score: 100,&#xA;    tags: {&#xA;      major_brand: &#x27;mp42&#x27;,&#xA;      minor_version: &#x27;1&#x27;,&#xA;      compatible_brands: &#x27;isommp41mp42&#x27;,&#xA;      creation_time: &#x27;2024-02-14T01:21:12.000000Z&#x27;&#xA;    }&#xA;  },&#xA;  chapters: []&#xA;}&#xA;

    &#xA;

    and here is from running ffprobe directly :

    &#xA;

    ffprobe &#x27;/Users/name/images/input.mp4&#x27;&#xA;ffprobe version 6.1.1 Copyright (c) 2007-2023 the FFmpeg developers&#xA;  built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)&#xA;  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.1.1_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags=&#x27;-Wl,-ld_classic&#x27; --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/Users/name/images/input.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 1&#xA;    compatible_brands: isommp41mp42&#xA;    creation_time   : 2024-02-14T01:21:12.000000Z&#xA;  Duration: 00:00:00.50, start: 0.000000, bitrate: 15319 kb/s&#xA;  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1080x1920, 5660 kb/s, 26.97 fps, 29.97 tbr, 30k tbn (default)&#xA;    Metadata:&#xA;      creation_time   : 2024-02-14T01:21:12.000000Z&#xA;      handler_name    : Core Media Video&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : AVC Coding&#xA;  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 248 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2024-02-14T01:21:12.000000Z&#xA;      handler_name    : Core Media Audio&#xA;      vendor_id       : [0][0][0][0]&#xA;

    &#xA;

    And this is my command to go from video to frames :

    &#xA;

    ffmpeg -i /Users/name/images/input.mp4 -y -f image2 /Users/name/images/frames/%d.png&#xA;

    &#xA;

    After which I convert the frames back to video with this - note that I get by seeing avg_frame_rate is 27000/1001 = 26.97302697 :

    &#xA;

    ffmpeg -r 26.973026973026972 -i /Users/name/images/frames/%d.png -y -r 26.973026973026972 -b:v 5660223k -f mp4 -pix_fmt yuv420p -t 0.503333 /Users/name/images/output.mp4&#xA;

    &#xA;

    And if I then run fluent-ffmpeg's ffmpeg.ffprobe(videoPath) I get :

    &#xA;

    metadata {&#xA;  streams: [&#xA;    {&#xA;      index: 0,&#xA;      codec_name: &#x27;h264&#x27;,&#xA;      codec_long_name: &#x27;H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10&#x27;,&#xA;      profile: &#x27;High&#x27;,&#xA;      codec_type: &#x27;video&#x27;,&#xA;      codec_tag_string: &#x27;avc1&#x27;,&#xA;      codec_tag: &#x27;0x31637661&#x27;,&#xA;      width: 1080,&#xA;      height: 1920,&#xA;      coded_width: 1080,&#xA;      coded_height: 1920,&#xA;      closed_captions: 0,&#xA;      has_b_frames: 2,&#xA;      sample_aspect_ratio: &#x27;1:1&#x27;,&#xA;      display_aspect_ratio: &#x27;9:16&#x27;,&#xA;      pix_fmt: &#x27;yuv420p&#x27;,&#xA;      level: 62,&#xA;      color_range: &#x27;unknown&#x27;,&#xA;      color_space: &#x27;unknown&#x27;,&#xA;      color_transfer: &#x27;unknown&#x27;,&#xA;      color_primaries: &#x27;unknown&#x27;,&#xA;      chroma_location: &#x27;left&#x27;,&#xA;      field_order: &#x27;unknown&#x27;,&#xA;      refs: 1,&#xA;      is_avc: &#x27;true&#x27;,&#xA;      nal_length_size: 4,&#xA;      id: &#x27;N/A&#x27;,&#xA;      r_frame_rate: &#x27;27000/1001&#x27;,&#xA;      avg_frame_rate: &#x27;27000/1001&#x27;,&#xA;      time_base: &#x27;1/27000&#x27;,&#xA;      start_pts: 0,&#xA;      start_time: 0,&#xA;      duration_ts: 14014,&#xA;      duration: 0.519037,&#xA;      bit_rate: 52138429,&#xA;      max_bit_rate: &#x27;N/A&#x27;,&#xA;      bits_per_raw_sample: 8,&#xA;      nb_frames: 14,&#xA;      nb_read_frames: &#x27;N/A&#x27;,&#xA;      nb_read_packets: &#x27;N/A&#x27;,&#xA;      tags: [Object],&#xA;      disposition: [Object]&#xA;    }&#xA;  ],&#xA;  format: {&#xA;    filename: &#x27;/Users/name/images/output.mp4&#x27;,&#xA;    nb_streams: 1,&#xA;    nb_programs: 0,&#xA;    format_name: &#x27;mov,mp4,m4a,3gp,3g2,mj2&#x27;,&#xA;    format_long_name: &#x27;QuickTime / MOV&#x27;,&#xA;    start_time: 0,&#xA;    duration: 0.52,&#xA;    size: 3383708,&#xA;    bit_rate: 52057046,&#xA;    probe_score: 100,&#xA;    tags: {&#xA;      major_brand: &#x27;isom&#x27;,&#xA;      minor_version: &#x27;512&#x27;,&#xA;      compatible_brands: &#x27;isomiso2avc1mp41&#x27;,&#xA;      encoder: &#x27;Lavf60.3.100&#x27;&#xA;    }&#xA;  },&#xA;  chapters: []&#xA;}&#xA;

    &#xA;

    and here is from running ffprobe directly :

    &#xA;

    ffprobe &#x27;/Users/name/images/output.mp4&#x27;&#xA;ffprobe version 6.1.1 Copyright (c) 2007-2023 the FFmpeg developers&#xA;  built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)&#xA;  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.1.1_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags=&#x27;-Wl,-ld_classic&#x27; --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/Users/name/images/output.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf60.3.100&#xA;  Duration: 00:00:00.52, start: 0.000000, bitrate: 52153 kb/s&#xA;  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1080x1920 [SAR 1:1 DAR 9:16], 52138 kb/s, 26.97 fps, 26.97 tbr, 27k tbn (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : Lavc60.3.100 libx264&#xA;

    &#xA;

    This seems like it should be a fairly common scenario, but I have not been able to find examples of this, and the other questions about incorrect durations on Stack Overflow are about bigger differences (i.e. 3 seconds instead of 10 seconds : Wrong video duration when recording with ffmpeg).

    &#xA;

    Some other details :

    &#xA;

      &#xA;
    • I am running this through a Node.js script with fluent-ffmpeg, but I have also tried running the commands directly in the terminal and the result is the same.
    • &#xA;

    • I am fine with the output frames being .png / .jpg / other formats.
    • &#xA;

    • I am fine with setting this to a different frame rate than the original as long as the two output videos end up with the same duration.
    • &#xA;

    • One suspicious thing is that I set -t 0.503333 when creating the video, but it doesn't seem to work as the result video shows duration: 0.519037 / 00:00:00.52.
    • &#xA;

    &#xA;

    Thank you for any help !

    &#xA;