
Recherche avancée
Autres articles (59)
-
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
ANNEXE : Les extensions, plugins SPIP des canaux
11 février 2010, parUn plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
Les extensions que MediaSPIP nécessite pour fonctionner
Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (7781)
-
Consent management platforms : Keys to compliance and user trust
14 juin, par JoeToday’s marketing managers and data analysts face a tricky balancing act : gaining meaningful customer insights while respecting user privacy. Finding ways to navigate the maze of complex privacy regulations while managing consent at scale can be daunting.
Consent management platforms (CMPs) offer a solution. They allow companies to collect data ethically, manage user consent efficiently, and comply with privacy regulations like Europe’s General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA).
This guide explains everything you need to know about CMPs : how they function, why they’re essential for data governance, and how they work hand-in-hand with analytics platforms to promote transparency and build trust with users.
What is a consent management platform (CMP) and what is it for ?
A consent management platform (CMP) helps organisations collect, organise, and store user consent for personal data processing purposes. In short, it’s a tool that ensures data collection respects user privacy and complies with regulations like the GDPR and CCPA.
Without a CMP, businesses could face hefty fines and penalties for violating data privacy laws in different parts of the world. This shows how vital these tools are to all modern businesses.
How do consent management platforms work ?
CMPs give users a clear and straightforward way to provide explicit consent for data collection. These platforms manage both the technical aspects of consent storage and the user experience on your site or app.
Here’s a simplified breakdown :
- Cookie consent banners : The CMP displays a banner whenever a user visits your website. This banner explains the types of personal information collected and for what purpose.
- User choice : The user can accept or reject cookies and trackers. They can often customise their preferences to choose which specific data types they’re willing to share.
- Preference storage : The CMP stores the user’s choices. This information helps ensure that you only collect and process the permitted data.
- Integration with other systems : CMPs integrate with other systems, such as analytics platforms and advertising networks, to ensure that data collection and processing comply with the user’s choices throughout the customer experience.
A key feature of CMPs is their role in shaping privacy policy design. This design encompasses the layout, visual elements, and cues employed to seek user consent.
A recent study by Karlstad University in Sweden showed that privacy policy design significantly influences user comprehension and willingness to disclose information. In other words, it affects consent rates considerably and is key to enhancing data collection.
Importance of consent management for compliance
As the world becomes increasingly interconnected, consent management is taking centre stage. Although it applies to all technologies and systems that gather or handle personal data, few instances are as relevant as smart homes.
Smart home devices have unique access to our personal spaces and private lives. They represent a unique challenge to consent management since one person is potentially granting access to personal data from themselves and other people who may be inside or around the house.
A 2023 study by the University College London and the University of Oxford pointed out that clear design principles and granular, contextual permission structures are essential in these situations.
However, consent management isn’t just best practice. It’s a widespread legal requirement. Not meeting these requirements can result in hefty penalties and reputational damage to your organisation.
Consent management under GDPR
The European Union’s GDPR is a data protection law applicable to organisations that process the personal data of individuals residing in the European Economic Area (EEA). It’s based on the principle of opting in.
The GDPR is one of the strongest data privacy laws globally. For non-compliance, fines can be up to €20 million or 4% of the company’s total global turnover (whichever is higher).
It’s also one of the most heavily enforced privacy laws. According to enforcementtracker.com, Meta was fined €1.2 billion in 2023, with GDPR fines reaching over €2 billion that year alone. In the UK, the largest GDPR fine is €22.05 million, according to Statista. It pays to comply.
The GDPR has specific rules around consent, including that it must be :
- Freely given : Users must not be pressured or coerced.
- Specific : Must be given for specific data processing purposes.
- Informed : Users must be provided with clear and concise information.
- Unambiguous : Permission must be granted through clear and affirmative action, such as checking a box or tapping a button.
CMPs help you meet these requirements by providing a transparent and user-friendly way to obtain and manage consent.
Consent management under CCPA
The CCPA is another privacy protection law for businesses collecting personal information from California residents. It grants Californians the right to know what data is being collected about them, to prevent it from being sold, and to request its deletion.
CMPs support CCPA compliance by enabling users to exercise their rights and ensuring transparent data collection practices.
Managing consent under other regulatory frameworks
In addition to the GDPR and CCPA, numerous other privacy regulations can impact your organisation. These regulations include :
- The COPPA in the US
- Brazil’s LGPD
- Japan’s APPI
- Canada’s PIPEDA.
- Australia’s Privacy Act 1988
A CMP will help streamline the process by providing a clear, practical framework to ensure you meet all applicable requirements.
Key features to look for in a CMP
Choosing the right CMP is crucial for global business.
Here are some key features to consider :
Custom banners
Consent banners are often among users’ first digital interactions with your brand. It should be clear, concise and visually appealing. Look for a CMP that allows you to :
- Customise the banner’s design to match your website’s branding and aesthetics.
- Control the banner’s positioning for optimal visibility.
End-user management tools
The CMP should also offer a user-friendly interface allowing visitors to grant, manage and withdraw consent.
This includes customisable banners, granular permissions, and a preference centre. The latter is a dedicated space where users can manage their preferences anytime.
Integration capabilities with existing systems
The CMP should integrate with your existing technology stack, including your analytics platform, marketing automation tools and CRM. This integration ensures a smooth workflow and prevents data silos.
How to select the right CMP for your organisation
To find the perfect CMP, focus on your specific needs and priorities. Here’s a step-by-step guide to help you make an informed decision :
Assessing organisational needs and goals
Start by clearly defining your organisation’s requirements. Consider the following :
- Types of data collected : What personal data do you collect (for example, cookies, IP addresses, location data) ?
- Compliance requirements : Which privacy regulations must you comply with (GDPR, CCPA, COPPA) ?
- Website or app complexity : How complex is your website or app in terms of user interactions and data collection points ?
- Budget : How much are you willing to invest in a CMP ?
Comparing features and pricing
Once you thoroughly understand your needs, you can compare the features and pricing of various CMPs. Look for key features like :
- Customisable banners
- Granular options
- Preference centre
- Integration with existing systems
- Analytics and reporting
Once you’ve shortlisted a few options, compare the pricing and choose the best value for your budget. Take advantage of free trials before committing to a paid plan.
Checking verified user reviews
Read user reviews on platforms like G2 or Trustpilot to get an idea of the strengths and weaknesses of different CMPs. Look for reviews from similar organisations regarding size, industry and compliance requirements.
Integration with a privacy-focused analytics platform
A consent management platform acts as the bridge between your users and your analytics and marketing teams. It ensures user preferences are communicated to your analytics setup, so data collection and analysis align with their choices and comply with privacy regulations.
Finding a consent manager integration that works with your analytics setup is essential for businesses.
Top five consent management platforms
The CMP market is pretty competitive, with many players providing excellent solutions. According to Emergen Research, it was valued at $320.9 million in 2021 and is growing at 21.2%.
Here are five of our top choices
1. usercentrics
usercentrics is a comprehensive CMP with customisable banners, granular consent options and a preference centre.
usercentrics geolocation rulesets page (Source : Usercentrics)
This Google-certified CMP allows you to create global and regional consent rules to ensure compliance with local regulations like GDPR, CCPA and LGPD. For a smooth implementation, usercentrics provides access to a knowledgeable support team and a dedicated customer success executive.
It’s worth noting that Usercentrics is the CMP we use here at Matomo. It helps us in our mission to collect and analyse data ethically and with a privacy-first mindset.
- Key features : Customisable banners, granular permissions, cross-domain and cross-device capabilities, automatic website scans, reporting and analytics.
- Pricing : Usercentrics offers a free plan and four paid subscription plans from €7 to €50 per month.
2. Osano
Osano is a user-friendly CMP focusing on transparency and ease of use.
Osano’s main dashboard (Source : Osano)
Osano can scan websites for tracking technologies without impacting the user experience.
- Key features : Customisable banners, multi-language support, granular consent options, a preference centre and access to a knowledgeable team of compliance specialists.
- Pricing : Osano offers a self-service free plan and a paid plan at $199 per month.
3. Cookiebot
Cookiebot is another popular CMP with numerous integration options, including Matomo and other analytics tools.
Cookiebot consent banner options (Source : Cookiebot)
- Key features : A cookie scanner, a privacy trigger or button allowing users to change their consent settings, a consent management API and advanced analytics.
- Pricing : Cookiebot offers a free plan and paid plans ranging from €7 to €50 per month.
4. CookieYes
CookieYes is well-suited for small businesses and websites with basic privacy needs.
CookieYes cookie banner options (Source : CookieYes)
It offers various features, including multilingual support, geo-targeting, privacy policy generation, and a preference centre. CookieYes also integrates with analytics and CMS tools, making it easy to implement as part of your stack.
- Key features : Customisable consent banners, granular consent options, preference centre, integration with Matomo, reporting and analytics.
- Pricing : You can use CookieYes for free or subscribe to one of their three paid plans, which range from $10 to $55 per month.
5. Tarte au Citron
Tarte au Citron is an open-source, lightweight, and customisable CMP developed in France.
(Source : Tarte au Citron)
Its focus is on transparency and user experience. It provides many features free of charge, but many do require some technical knowledge to deploy. There’s also a paid subscription with ongoing support and faster implementation.
Tarte au Citron integrates with Matomo, which is also open-source. If you’re building an open-source stack for your analytics, Matomo and Tarte au Citron make an excellent pair.
- Key features : Open-source, customisable consent banners, integration with Matomo, works with over 220 services.
- Pricing : You can deploy the open-source core for free, but Tarte au Citron offers three paid licenses starting at €190 for one year and reaching €690 for a lifetime license.
How to implement cookie consent the right way
Implementing cookie consent requires precision, time and effort. But doing it wrong can result in significant legal penalties and severe reputational damage, eroding user trust and impacting your brand’s standing. Here are the key dos and don’ts of consent :
Provide clear and concise information
Use plain language that is easy for anyone to understand. Avoid using technical terms or legal jargon that may confuse users.
Prioritise transparency
Be upfront about your data collection practices. Clearly state what data you collect, how you use it and who you share it with. Provide links to your privacy and cookie policies for users who want to learn more.
Offer granular control
Give users detailed control over as many of their cookie preferences as possible. Allow them to choose which categories of tracking cookies they consent to, such as strictly necessary, performance and marketing cookies.
Implement user-friendly banners
Ensure banners are prominently displayed, easy to understand, and use clear and concise language. Also, make sure they’re accessible to all users, including those with disabilities.
Respect “do not track” settings
It’s essential to honour users’ choices when they enable their “do not track” browser setting.
Document consent
Maintain a record of user consent. This will help you demonstrate compliance with data privacy regulations and provide evidence of user consent in case of an audit or investigation.
Regularly review and update consent policies
Review and update your customer consent policies regularly to ensure they comply with evolving data privacy regulations and reflect your current data collection practices.
Cookie consent pitfalls to avoid
Here are some common pitfalls to avoid that may lead to legal penalties, loss of user trust or inaccurate analytics :
- Avoid lengthy and complicated explanations. Overwhelming users with dense legal jargon or overly technical details can lead to consent fatigue and reduce the likelihood of informed consent.
- Don’t force users to accept all cookies or none. Blanket consent options violate user autonomy and fail to comply with regulations like the GDPR.
- Don’t make information about your data collection practices hard to find. Hidden or buried privacy policies breed suspicion and erode trust.
- Avoid pre-checking all cookie consents. Pre-checked boxes imply consent without explicit user action, which is not compliant with GDPR and similar regulations. Users must actively opt in, not out.
Emerging consent management trends
Consent management is constantly evolving and driven by new technologies, regulations, and user expectations. Here are some emerging trends to watch out for in the short term :
- Increased automation : AI and machine learning are helping automate consent management processes, making them more efficient and effective.
- Enhanced user experience : CMPs are becoming more user-friendly, focusing on providing an intuitive experience.
- Privacy-preserving analytics : CMPs are being integrated with privacy-preserving analytics platforms, such as Matomo, to enable organisations to gain insights into user behaviour without compromising privacy.
- Google Consent Mode : In 2024, Google rolled out Consent Mode v2 to align with the Digital Markets Act. Due to upcoming privacy regulations, more versions may be coming soon.
The Privacy Governance Report 2024 also highlights the increasing complexity of managing data privacy, with more than four in five privacy professionals taking on additional responsibilities in their existing roles. This trend will likely continue in the coming years as more privacy laws are enacted.
Addressing upcoming privacy regulations
Data privacy and user consent requirements continue to emerge and evolve. Businesses must stay informed and adapt their practices accordingly.
In 2025, several new privacy regulations are going into effect, including :
- New state-level privacy laws in eight US states :
- Delaware (1 January 2025)
- Iowa (1 January 2025)
- Nebraska (1 January 2025)
- New Hampshire (1 January 2025)
- New Jersey (15 January 2025)
- Tennessee (1 July 2025)
- Minnesota (31 July 2025)
- Maryland (1 October 2025)
- The EU’s Artificial Intelligence Act (which will be implemented from 1 August 2024 through 2 August 2026) and other AI-focused regulations.
- The UK Adequacy Decision Review has a deadline of 27 December 2025.
Organisations that collect, process or otherwise handle data from Europe and the above-named US states should proactively prepare for these changes by :
- Conducting regular privacy impact assessments
- Reviewing consent mechanisms regularly
- Implementing data minimisation strategies
- Providing user-friendly privacy controls
Future-proofing your consent management strategy
CMPs are essential for managing consent preferences, protecting user privacy, and earning customers’ trust through transparency and ethical data practices.
When choosing a CMP, you should consider key features such as integration capabilities, customisation options and user-friendly interfaces.
Integrating a CMP with a privacy-first analytics solution like Matomo allows you to collect and analyse data in a way that’s compliant and respectful of user preferences. This combination helps maintain data integrity while demonstrating a strong commitment to privacy.
Start your 21-day free trial today.
-
FFMpeg with PHP-7.0 on Ubuntu
25 octobre 2018, par Gabriel Bueno Lemes da SilvaI have a NGINX server with PHP-7.0 and I would like to install the ffmpeg-php extension. I’ve been trying for a few days now and in many ways.
The method that worked so far was compiling ffmpeg (https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2) manually, but when trying to compile ffmpeg-php (https: // sourceforge. net / projects / ffmpeg-php / files / ffmpeg-php / 0.6.0 / ffmpeg-php-0.6.0.tbz2 / download) I am encountering the following error message :
root@zumbiserver-mercury : /php7-ffmpeg# make /bin/bash
/root/php7-ffmpeg/libtool —mode=compile cc -I. -I/root/php7-ffmpeg
-DPHP_ATOM_INC -I/root/php7-ffmpeg/include -I/root/php7-ffmpeg/main -I/root/php7-ffmpeg -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -I/usr/local/include/libavcodec/ -I/usr/local/include/libavformat/ -I/usr/local/include/libavutil/ -I/usr/local/include/libswscale/ -I/usr/local/include/libavfilter/ -I/usr/local/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /root/php7-ffmpeg/ffmpeg-php.c -o ffmpeg-php.lo libtool : compile : cc
-I. -I/root/php7-ffmpeg -DPHP_ATOM_INC -I/root/php7-ffmpeg/include -I/root/php7-ffmpeg/main -I/root/php7-ffmpeg -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -I/usr/local/include/libavcodec/ -I/usr/local/include/libavformat/ -I/usr/local/include/libavutil/ -I/usr/local/include/libswscale/ -I/usr/local/include/libavfilter/ -I/usr/local/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /root/php7-ffmpeg/ffmpeg-php.c -fPIC -DPIC -o .libs/ffmpeg-php.o In
file included from /usr/include/x86_64-linux-gnu/sys/stat.h:104:0,
from /usr/include/php/20151012/Zend/zend_stream.h:28,
from /usr/include/php/20151012/Zend/zend.h:41,
from /usr/include/php/20151012/main/php.h:36,
from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/x86_64-linux-gnu/bits/stat.h:91:21 : error : field
‘st_atim’ has incomplete type
struct timespec st_atim ; /* Time of last access. /
^ /usr/include/x86_64-linux-gnu/bits/stat.h:92:21 : error : field
‘st_mtim’ has incomplete type
struct timespec st_mtim ; / Time of last modification. /
^ /usr/include/x86_64-linux-gnu/bits/stat.h:93:21 : error : field
‘st_ctim’ has incomplete type
struct timespec st_ctim ; / Time of last status change. /
^ /usr/include/x86_64-linux-gnu/bits/stat.h:152:21 : error : field
‘st_atim’ has incomplete type
struct timespec st_atim ; / Time of last access. /
^ /usr/include/x86_64-linux-gnu/bits/stat.h:153:21 : error : field
‘st_mtim’ has incomplete type
struct timespec st_mtim ; / Time of last modification. /
^ /usr/include/x86_64-linux-gnu/bits/stat.h:154:21 : error : field
‘st_ctim’ has incomplete type
struct timespec st_ctim ; / Time of last status change. /
^ In file included from /usr/include/php/20151012/Zend/zend_stream.h:28:0,
from /usr/include/php/20151012/Zend/zend.h:41,
from /usr/include/php/20151012/main/php.h:36,
from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/x86_64-linux-gnu/sys/stat.h:364:31 : error : array type has
incomplete element type ‘struct timespec’
const struct timespec __times[2],
^ /usr/include/x86_64-linux-gnu/sys/stat.h:371:54 : error : array type has
incomplete element type ‘struct timespec’ extern int futimens (int
__fd, const struct timespec __times[2]) __THROW ;
^ In file included from /usr/include/php/20151012/main/php.h:395:0,
from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/php/20151012/Zend/zend_virtual_cwd.h:218:2 : error :
unknown type name ‘time_t’ time_t expires ;
^ /usr/include/php/20151012/Zend/zend_virtual_cwd.h:248:86 : error :
unknown type name ‘time_t’ CWD_API realpath_cache_bucket
realpath_cache_lookup(const char *path, int path_len, time_t t) ;
^ /root/php7-ffmpeg/ffmpeg-php.c : In function ‘zm_startup_ffmpeg’ :
/root/php7-ffmpeg/ffmpeg-php.c:108:5 : warning : implicit declaration of
function ‘avcodec_init’ [-Wimplicit-function-declaration]
avcodec_init() ;
^ /root/php7-ffmpeg/ffmpeg-php.c:111:5 : warning : ‘av_register_all’ is deprecated [-Wdeprecated-declarations]
av_register_all() ;
^ In file included from /root/php7-ffmpeg/ffmpeg-php.c:43:0 : /usr/local/include/libavformat/avformat.h:2025:6 : note : declared here
void av_register_all(void) ;^ Makefile:194: recipe for target 'ffmpeg-php.lo' failed make: *** [ffmpeg-php.lo] Error 1
Can someone give me a light ? I do not know what else to do !
-
Multicast video stream from Dahua IP surveillance camera - ffmpeg etc [closed]
23 mai, par Jaroslav MazurakI have a Dahua IP surveillance camera and want to get the video via a multicast stream.


In the camera settings, I enabled Multicast streaming, IP 239.240.1.2, and port 40000 (the default). The RTSP port is 554 (the default).


Neither VLC 3.0.21 nor ffmpeg 7.1.1 work when I try to use multicast. Both of them work when I use a unicast. OS is Windows 11 x64. Both applications are allowed in the Windows firewall (any protocol, all networks ; same result if the firewall is disabled completely). I have Wireshark installed, and I see that when a client requests the stream via RTSP, the multicast traffic from the camera is present ; ffmpeg determines the stream but doesn't capture any video, and the output file is empty (it contains only the header and no video). When I use unicast, the correct output video file is saved.


I have no idea what I'm doing wrong, and why ffmpeg (and VLC) doesn't capture anything in the multicast mode.


Here are the ffmpeg logs for multicast and unicast modes.


Multicast :


ffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -rtsp_transport udp_multicast -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0&unicast=false" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
 built with gcc 14.2.0 (Rev1, Built by MSYS2 projffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
 built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 59. 39.100 / 59. 39.100
 libavcodec 61. 19.101 / 61. 19.101
 libavformat 61. 7.100 / 61. 7.100
 libavdevice 61. 3.100 / 61. 3.100
 libavfilter 10. 4.100 / 10. 4.100
 libswscale 8. 3.100 / 8. 3.100
 libswresample 5. 3.100 / 5. 3.100
 libpostproc 58. 3.100 / 58. 3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0':
 Metadata:
 title : Media Server
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 fps, 25 tbr, 90k tbn
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
 Metadata:
 title : Media Server
 encoder : Lavf61.7.100
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 fps, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=00:00:01.32 bitrate= 0.0kbits/s speed= 2.6x 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=00:00:01.84 bitrate= 0.0kbits/s speed=1.81x 
frame= 10 fps=6.5 q=-1.0 size= 1KiB time=00:00:02.36 bitrate= 2.2kbits/s speed=1.53x 
frame= 23 fps= 11 q=-1.0 size= 1KiB time=00:00:02.88 bitrate= 1.8kbits/s speed= 1.4x 
frame= 36 fps= 14 q=-1.0 size= 1KiB time=00:00:03.40 bitrate= 1.5kbits/s speed=1.33x 
frame= 49 fps= 16 q=-1.0 size= 1KiB time=00:00:03.92 bitrate= 1.3kbits/s speed=1.27x 
frame= 62 fps= 17 q=-1.0 size= 256KiB time=00:00:04.44 bitrate= 472.3kbits/s speed=1.23x 
frame= 75 fps= 18 q=-1.0 size= 256KiB time=00:00:04.96 bitrate= 422.8kbits/s speed= 1.2x 
frame= 88 fps= 19 q=-1.0 size= 256KiB time=00:00:05.48 bitrate= 382.7kbits/s speed=1.18x 
frame= 100 fps= 19 q=-1.0 size= 256KiB time=00:00:05.96 bitrate= 351.9kbits/s speed=1.16x 
frame= 113 fps= 20 q=-1.0 size= 768KiB time=00:00:06.48 bitrate= 970.9kbits/s speed=1.14x 
frame= 126 fps= 20 q=-1.0 size= 768KiB time=00:00:07.00 bitrate= 898.8kbits/s speed=1.13x 
frame= 139 fps= 21 q=-1.0 size= 768KiB time=00:00:07.52 bitrate= 836.6kbits/s speed=1.12x 
frame= 152 fps= 21 q=-1.0 size= 1280KiB time=00:00:08.04 bitrate=1304.2kbits/s speed=1.11x 
frame= 165 fps= 21 q=-1.0 size= 1280KiB time=00:00:08.56 bitrate=1225.0kbits/s speed=1.11x 
frame= 178 fps= 22 q=-1.0 size= 1280KiB time=00:00:09.08 bitrate=1154.8kbits/s speed= 1.1x 
frame= 191 fps= 22 q=-1.0 size= 1280KiB time=00:00:09.60 bitrate=1092.3kbits/s speed= 1.1x 
frame= 203 fps= 22 q=-1.0 size= 1792KiB time=00:00:10.08 bitrate=1456.4kbits/s speed=1.09x 
frame= 217 fps= 22 q=-1.0 size= 1792KiB time=00:00:10.64 bitrate=1379.7kbits/s speed=1.09x 


[q] command received. Exiting.

[out#0/matroska @ 000001e0329cad80] video:2377KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.100389%
frame= 230 fps= 22 q=-1.0 Lsize= 2380KiB time=00:00:11.16 bitrate=1746.9kbits/s speed=1.08x 
ect)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 59. 39.100 / 59. 39.100
 libavcodec 61. 19.101 / 61. 19.101
 libavformat 61. 7.100 / 61. 7.100
 libavdevice 61. 3.100 / 61. 3.100
 libavfilter 10. 4.100 / 10. 4.100
 libswscale 8. 3.100 / 8. 3.100
 libswresample 5. 3.100 / 5. 3.100
 libpostproc 58. 3.100 / 58. 3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0&unicast=false':
 Metadata:
 title : Media Server
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 tbr, 90k tbn
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
 Metadata:
 title : Media Server
 encoder : Lavf61.7.100
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=N/A bitrate=N/A speed=N/A 
[in#0/rtsp @ 0000014b1a80a580] Error during demuxing: Error number -138 occurred
[out#0/matroska @ 0000014b1a7ee700] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
[out#0/matroska @ 0000014b1a7ee700] Output file is empty, nothing was encoded
frame= 0 fps=0.0 q=-1.0 Lsize= 1KiB time=N/A bitrate=N/A speed=N/A 



Unicast :


ffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
 built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 59. 39.100 / 59. 39.100
 libavcodec 61. 19.101 / 61. 19.101
 libavformat 61. 7.100 / 61. 7.100
 libavdevice 61. 3.100 / 61. 3.100
 libavfilter 10. 4.100 / 10. 4.100
 libswscale 8. 3.100 / 8. 3.100
 libswresample 5. 3.100 / 5. 3.100
 libpostproc 58. 3.100 / 58. 3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0':
 Metadata:
 title : Media Server
 Duration: N/A, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 fps, 25 tbr, 90k tbn
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
 Metadata:
 title : Media Server
 encoder : Lavf61.7.100
 Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 fps, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=00:00:01.32 bitrate= 0.0kbits/s speed= 2.6x 
frame= 0 fps=0.0 q=-1.0 size= 0KiB time=00:00:01.84 bitrate= 0.0kbits/s speed=1.81x 
frame= 10 fps=6.5 q=-1.0 size= 1KiB time=00:00:02.36 bitrate= 2.2kbits/s speed=1.53x 
frame= 23 fps= 11 q=-1.0 size= 1KiB time=00:00:02.88 bitrate= 1.8kbits/s speed= 1.4x 
frame= 36 fps= 14 q=-1.0 size= 1KiB time=00:00:03.40 bitrate= 1.5kbits/s speed=1.33x 
frame= 49 fps= 16 q=-1.0 size= 1KiB time=00:00:03.92 bitrate= 1.3kbits/s speed=1.27x 
frame= 62 fps= 17 q=-1.0 size= 256KiB time=00:00:04.44 bitrate= 472.3kbits/s speed=1.23x 
frame= 75 fps= 18 q=-1.0 size= 256KiB time=00:00:04.96 bitrate= 422.8kbits/s speed= 1.2x 
frame= 88 fps= 19 q=-1.0 size= 256KiB time=00:00:05.48 bitrate= 382.7kbits/s speed=1.18x 
frame= 100 fps= 19 q=-1.0 size= 256KiB time=00:00:05.96 bitrate= 351.9kbits/s speed=1.16x 
frame= 113 fps= 20 q=-1.0 size= 768KiB time=00:00:06.48 bitrate= 970.9kbits/s speed=1.14x 
frame= 126 fps= 20 q=-1.0 size= 768KiB time=00:00:07.00 bitrate= 898.8kbits/s speed=1.13x 
frame= 139 fps= 21 q=-1.0 size= 768KiB time=00:00:07.52 bitrate= 836.6kbits/s speed=1.12x 
frame= 152 fps= 21 q=-1.0 size= 1280KiB time=00:00:08.04 bitrate=1304.2kbits/s speed=1.11x 
frame= 165 fps= 21 q=-1.0 size= 1280KiB time=00:00:08.56 bitrate=1225.0kbits/s speed=1.11x 
frame= 178 fps= 22 q=-1.0 size= 1280KiB time=00:00:09.08 bitrate=1154.8kbits/s speed= 1.1x 
frame= 191 fps= 22 q=-1.0 size= 1280KiB time=00:00:09.60 bitrate=1092.3kbits/s speed= 1.1x 
frame= 203 fps= 22 q=-1.0 size= 1792KiB time=00:00:10.08 bitrate=1456.4kbits/s speed=1.09x 
frame= 217 fps= 22 q=-1.0 size= 1792KiB time=00:00:10.64 bitrate=1379.7kbits/s speed=1.09x 


[q] command received. Exiting.

[out#0/matroska @ 000001e0329cad80] video:2377KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.100389%
frame= 230 fps= 22 q=-1.0 Lsize= 2380KiB time=00:00:11.16 bitrate=1746.9kbits/s speed=1.08x