
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (110)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...) -
Formulaire personnalisable
21 juin 2013, parCette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire. (...)
Sur d’autres sites (9580)
-
Adventures In NAS
1er janvier, par Multimedia Mike — GeneralIn my post last year about my out-of-control single-board computer (SBC) collection which included my meager network attached storage (NAS) solution, I noted that :
I find that a lot of my fellow nerds massively overengineer their homelab NAS setups. I’ll explore this in a future post. For my part, people tend to find my homelab NAS solution slightly underengineered.
So here I am, exploring this is a future post. I’ve been in the home NAS game a long time, but have never had very elaborate solutions for such. For my part, I tend to take an obsessively reductionist view of what constitutes a NAS : Any small computer with a pool of storage and a network connection, running the Linux operating system and the Samba file sharing service.
Many home users prefer to buy turnkey boxes, usually that allow you to install hard drives yourself, and then configure the box and its services with a friendly UI. My fellow weird computer nerds often buy cast-off enterprise hardware and set up more resilient, over-engineered solutions, as long as they have strategies to mitigate the noise and dissipate the heat, and don’t mind the electricity bills.
If it works, awesome ! As an old hand at this, I am rather stuck in my ways, however, preferring to do my own stunts, both with the hardware and software solutions.
My History With Home NAS Setups
In 1998, I bought myself a new computer — beige box tower PC, as was the style as the time. This was when normal people only had one computer at most. It ran Windows, but I was curious about this new thing called “Linux” and learned to dual boot that. Later that year, it dawned on me that nothing prevented me from buying a second ugly beige box PC and running Linux exclusively on it. Further, it could be a headless Linux box, connected by ethernet, and I could consolidate files into a single place using this file sharing software named Samba.
I remember it being fairly onerous to get Samba working in those days. And the internet was not quite so helpful in those days. I recall that the thing that blocked me for awhile was needing to know that I had to specify an entry for the Samba server machine in the LMHOSTS (Lanman hosts) file on the Windows 95 machine.
However, after I cracked that code, I have pretty much always had some kind of ad-hoc home NAS setup, often combined with a headless Linux development box.
In the early 2000s, I built a new beige box PC for a file server, with a new hard disk, and a coworker tutored me on setting up a (P)ATA UDMA 133 (or was it 150 ? anyway, it was (P)ATA’s last hurrah before SATA conquered all) expansion card and I remember profiling that the attached hard drive worked at a full 21 MBytes/s reading. It was pretty slick. Except I hadn’t really thought things through. You see, I had a hand-me-down ethernet hub cast-off from my job at the time which I wanted to use. It was a 100 Mbps repeater hub, not a switch, so the catch was that all connected machines had to be capable of 100 Mbps. So, after getting all of my machines (3 at the time) upgraded to support 10/100 ethernet (the old off-brand PowerPC running Linux was the biggest challenge), I profiled transfers and realized that the best this repeater hub could achieve was about 3.6 MBytes/s. For a long time after that, I just assumed that was the upper limit of what a 100 Mbps network could achieve. Obviously, I now know that the upper limit ought to be around 11.2 MBytes/s and if I had gamed out that fact in advance, I would have realized it didn’t make sense to care about super-fast (for the time) disk performance.
At this time, I was doing a lot for development for MPlayer/xine/FFmpeg. I stored all of my multimedia material on this NAS. I remember being confused when I was working with Y4M data, which is raw frames, which is lots of data. xine, which employed a pre-buffering strategy, would play fine for a few seconds and then stutter. Eventually, I reasoned out that the files I was working with had a data rate about twice what my awful repeater hub supported, which is probably the first time I came to really understand and respect streaming speeds and their implications for multimedia playback.
Smaller Solutions
For a period, I didn’t have a NAS. Then I got an Apple AirPort Extreme, which I noticed had a USB port. So I bought a dual drive brick to plug into it and used that for a time. Later (2009), I had this thing called the MSI Wind Nettop which is the only PC I’ve ever seen that can use a CompactFlash (CF) card for a boot drive. So I did just that, and installed a large drive so it could function as a NAS, as well as a headless dev box. I’m still amazed at what a low-power I/O beast this thing is, at least when compared to all the ARM SoCs I have tried in the intervening 1.5 decades. I’ve had spinning hard drives in this thing that could read at 160 MBytes/s (‘dd’ method) and have no trouble saturating the gigabit link at 112 MBytes/s, all with its early Intel Atom CPU.Around 2015, I wanted a more capable headless dev box and discovered Intel’s line of NUCs. I got one of the fat models that can hold a conventional 2.5″ spinning drive in addition to the M.2 SATA SSD and I was off and running. That served me fine for a few years, until I got into the ARM SBC scene. One major limitation here is that 2.5″ drives aren’t available in nearly the capacities that make a NAS solution attractive.
Current Solution
My current NAS solution, chronicled in my last SBC post– the ODroid-HC2, which is a highly compact ARM SoC with an integrated USB3-SATA bridge so that a SATA drive can be connected directly to it :
I tend to be weirdly proficient at recalling dates, so I’m surprised that I can’t recall when I ordered this and put it into service. But I’m pretty sure it was circa 2018. It’s only equipped with an 8 TB drive now, but I seem to recall that it started out with only a 4 TB drive. I think I upgraded to the 8 TB drive early in the pandemic in 2020, when ISPs were implementing temporary data cap amnesty and I was doing what a r/DataHoarder does.
The HC2 has served me well, even though it has a number of shortcomings for a hardware set chartered for NAS :
- While it has a gigabit ethernet port, it’s documented that it never really exceeds about 70 MBytes/s, due to the SoC’s limitations
- The specific ARM chip (Samsung Exynos 5422 ; more than a decade old as of this writing) lacks cryptography instructions, slowing down encryption if that’s your thing (e.g., LUKS)
- While the SoC supports USB3, that block is tied up for the SATA interface ; the remaining USB port is only capable of USB2 speeds
- 32-bit ARM, which prevented me from running certain bits of software I wanted to try (like Minio)
- Only 1 drive, so no possibility for RAID (again, if that’s your thing)
I also love to brag on the HC2’s power usage : I once profiled the unit for a month using a Kill-A-Watt and under normal usage (with the drive spinning only when in active use). The unit consumed 4.5 kWh… in an entire month.
New Solution
Enter the ODroid-HC4 (I purchased mine from Ameridroid but Hardkernel works with numerous distributors) :
I ordered this earlier in the year and after many months of procrastinating and obsessing over the best approach to take with its general usage, I finally have it in service as my new NAS. Comparing point by point with the HC2 :
- The gigabit ethernet runs at full speed (though a few things on my network run at 2.5 GbE now, so I guess I’ll always be behind)
- The ARM chip (Amlogic S905X3) has AES cryptography acceleration and handles all the LUKS stuff without breaking a sweat ; “cryptsetup benchmark” reports between 500-600 MBytes/s on all the AES variants
- The USB port is still only USB2, so no improvement there
- 64-bit ARM, which means I can run Minio to simulate block storage in a local dev environment for some larger projects I would like to undertake
- Supports 2 drives, if RAID is your thing
How I Set It Up
How to set up the drive configuration ? As should be apparent from the photo above, I elected for an SSD (500 GB) for speed, paired with a conventional spinning HDD (18 TB) for sheer capacity. I’m not particularly trusting of RAID. I’ve watched it fail too many times, on systems that I don’t even manage, not to mention that aforementioned RAID brick that I had attached to the Apple AirPort Extreme.I had long been planning to use bcache, the block caching interface for Linux, which can use the SSD as a speedy cache in front of the more capacious disk. There is also LVM cache, which is supposed to achieve something similar. And then I had to evaluate the trade-offs in whether I wanted write-back, write-through, or write-around configurations.
This was all predicated on the assumption that the spinning drive would not be able to saturate the gigabit connection. When I got around to setting up the hardware and trying some basic tests, I found that the conventional HDD had no trouble keeping up with the gigabit data rate, both reading and writing, somewhat obviating the need for SSD acceleration using any elaborate caching mechanisms.
Maybe that’s because I sprung for the WD Red Pro series this time, rather than the Red Plus ? I’m guessing that conventional drives do deteriorate over the years. I’ll find out.
For the operating system, I stuck with my newest favorite Linux distro : DietPi. While HardKernel (parent of ODroid) makes images for the HC units, I had also used DietPi for the HC2 for the past few years, as it tends to stay more up to date.
Then I rsync’d my data from HC2 -> HC4. It was only about 6.5 TB of total data but it took days as this WD Red Plus drive is only capable of reading at around 10 MBytes/s these days. Painful.
For file sharing, I’m pretty sure most normal folks have nice web UIs in their NAS boxes which allow them to easily configure and monitor the shares. I know there are such applications I could set up. But I’ve been doing this so long, I just do a bare bones setup through the terminal. I installed regular Samba and then brought over my smb.conf file from the HC2. 1 by 1, I tested that each of the old shares were activated on the new NAS and deactivated on the old NAS. I also set up a new share for the SSD. I guess that will just serve as a fast I/O scratch space on the NAS.
The conventional drive spins up and down. That’s annoying when I’m actively working on something but manage not to hit the drive for like 5 minutes and then an application blocks while the drive wakes up. I suppose I could set it up so that it is always running. However, I micro-manage this with a custom bash script I wrote a long time ago which logs into the NAS and runs the “date” command every 2 minutes, appending the output to a file. As a bonus, it also prints data rate up/down stats every 5 seconds. The spinning file (“nas-main/zz-keep-spinning/keep-spinning.txt”) has never been cleared and has nearly a quarter million lines. I suppose that implies that it has kept the drive spinning for 1/2 million minutes which works out to around 347 total days. I should compare that against the drive’s SMART stats, if I can remember how. The earliest timestamp in the file is from March 2018, so I know the HC2 NAS has been in service at least that long.
For tasks, vintage cron still does everything I could need. In this case, that means reaching out to websites (like this one) and automatically backing up static files.
I also have to have a special script for starting up. Fortunately, I was able to bring this over from the HC2 and tweak it. The data disks (though not boot disk) are encrypted. Those need to be unlocked and only then is it safe for the Samba and Minio services to start up. So one script does all that heavy lifting in the rare case of a reboot (this is the type of system that’s well worth having on a reliable UPS).
Further Work
I need to figure out how to use the OLED display on the NAS, and how to make it show something more useful than the current time and date, which is what it does in its default configuration with HardKernel’s own Linux distro. With DietPi, it does nothing by default. I’m thinking it should be able to show the percent usage of each of the 2 drives, at a minimum.I also need to establish a more responsible backup regimen. I’m way too lazy about this. Fortunately, I reason that I can keep the original HC2 in service, repurposed to accept backups from the main NAS. Again, I’m sort of micro-managing this since a huge amount of data isn’t worth backing up (remember the whole DataHoarder bit), but the most important stuff will be shipped off.
The post Adventures In NAS first appeared on Breaking Eggs And Making Omelettes.
-
FFmpeg and reserved color primaries [closed]
21 janvier, par YozI am trying to get thumbnails from a hevc video downloaded from https://github.com/stashapp/stash/issues/4124#issuecomment-1720057183 and it works with most recent ffmpeg 7.1 (installed via homebrew on mac) printing :


ffmpeg -i input.mp4 -frames:v 1 out.jpg



ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 16.0.0 (clang-1600.0.26.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_4 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --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-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 39.100 / 59. 39.100
 libavcodec 61. 19.100 / 61. 19.100
 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
[hevc @ 0x134f07530] VPS 0 does not exist
[hevc @ 0x134f07530] SPS 0 does not exist.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 creation_time : 2023-09-14T19:46:05.000000Z
 encoder : HandBrake 1.5.1 2022011000
 Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s
 Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : Mono
 vendor_id : [0][0][0][0]
[hevc @ 0x1358065c0] VPS 0 does not exist
[hevc @ 0x1358065c0] SPS 0 does not exist.
Stream mapping:
 Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'out.jpg':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 encoder : Lavf61.7.100
 Stream #0:0(und): Video: mjpeg, yuv420p(pc, bt709/reserved/bt709, progressive), 648x648 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 30 fps, 30 tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc61.19.100 mjpeg
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x134f16080] The specified filename 'out.jpg' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x134f16080] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x134f10480] video:5KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 1 fps=0.0 q=5.1 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=4.07x 



however, when I use custom compiled ffmpeg.wasm it fails with :


ffmpeg version N-118050-ga518b5540d Copyright (c) 2000-2024 the FFmpeg developers
 built with emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.73 (ac676d5e437525d15df5fd46bc2c208ec6d376a3)
 configuration: --target-os=none --arch=x86_32 --enable-cross-compile --enable-version3 --enable-zlib --enable-libaom --disable-encoder=libaom_av1 --enable-libopenh264 --enable-libkvazaar --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-libwebp --enable-libsvtav1 --enable-librubberband --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128' --extra-cxxflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128' --extra-ldflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128 -L/ffmpeg-wasm/build/lib' --pkg-config-flags=--static --nm=emnm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc --enable-gpl --enable-libx264 --enable-libx265
 libavutil 59. 49.100 / 59. 49.100
 libavcodec 61. 26.100 / 61. 26.100
 libavformat 61. 9.100 / 61. 9.100
 libavdevice 61. 4.100 / 61. 4.100
 libavfilter 10. 6.101 / 10. 6.101
 libswscale 8. 12.100 / 8. 12.100
 libswresample 5. 4.100 / 5. 4.100
 libpostproc 58. 4.100 / 58. 4.100
[hevc @ 0x38d0000] VPS 0 does not exist
[hevc @ 0x38d0000] SPS 0 does not exist.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 creation_time : 2023-09-14T19:46:05.000000Z
 encoder : HandBrake 1.5.1 2022011000
 Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s
 Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : Mono
 vendor_id : [0][0][0][0]
[hevc @ 0x38d0300] VPS 0 does not exist
[hevc @ 0x38d0300] SPS 0 does not exist.
Stream mapping:
 Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x8ca0000] Unsupported input (Not supported): fmt:yuv420p csp:bt709 prim:reserved trc:bt709 -> fmt:yuv420p csp:bt709 prim:reserved trc:bt709
[vf#0:0 @ 0x3830900] Error while filtering: Not supported
[vf#0:0 @ 0x3830900] Task finished with error code: -138 (Not supported)
[vost#0:0/mjpeg @ 0x385ae40] [enc:mjpeg @ 0x3878b80] Could not open encoder before EOF
[vf#0:0 @ 0x3830900] Terminating thread with return code -138 (Not supported)
[vost#0:0/mjpeg @ 0x385ae40] Task finished with error code: -28 (Invalid argument)
[vost#0:0/mjpeg @ 0x385ae40] Terminating thread with return code -28 (Invalid argument)
[out#0/image2 @ 0x3851580] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A 
Conversion failed!
Process finished with exit code -138.



I figured out the issue is color primaries
prim:reserved
, and the command can be updated to a working one by re-writing input primaries as following :

ffmpeg -i input.mp4 -vf "colorspace=all=bt709:iprimaries=bt709" -frames:v 1 out.jpg



However, I would like to compile ffmpeg.wasm so that it handles reserved primaries just like the one from homebrew.


Any idea what the compiled ffmpeg.wasm is missing ?


-
Data Privacy Regulations : Essential Knowledge for Global Business
6 mars, par Daniel CroughIf you run a website that collects visitors’ data, you might be violating privacy regulations somewhere in the world. At last count, over 160 countries have privacy laws — and your customers in those countries know about them.
A recent survey found that 53% of people who answered know about privacy rules in their country and want to follow them. This is up from 46% two years ago. Furthermore, customers increasingly want to buy from businesses they can trust with their data.
That’s why businesses must take data privacy seriously. In this article, we’ll first examine data privacy rules, why we need them, and how they are enforced worldwide. Finally, we’ll explore strategies to ensure compliance and tools that can help.
What are data privacy regulations ?
Let’s first consider data privacy. What is it ? The short answer is individuals’ ability to control their personal information. That’s why we need laws and rules to let people decide how their data is collected, used, and shared. Crucially, the laws empower individuals to withdraw permission to use their data anytime.
The UNCTAD reports that only 13 countries had data protection laws or rules before the 2000s. Many existed before businesses could offer online services, so they needed updating. Today, 162 national laws protect data privacy, half of which emerged in the last decade.
Why is this regulation necessary ?
There are many reasons, but the impetus comes from consumers who want their governments to protect their data from exploitation. They understand that participating in the digital economy means sharing personal information like email addresses and telephone numbers, but they want to minimise the risks of doing so.
Data privacy regulation is essential for :
- Protecting personal information from exploitation with transparent rules and guidelines on handling it securely.
- Implementing adequate security measures to prevent data breaches.
- Enforcing accountability for how data is collected, stored and processed.
- Giving consumers control over their data.
- Controlling the flow of data across international borders in a way that fully complies with the regulations.
- Penalising companies that violate privacy laws.
Isn’t it just needless red tape ?
Data breaches in recent years have been one of the biggest instigators of the increase in data privacy regulations. A list of the top ten data breaches illustrates the point.
# Company Location Year # of Records Data Type 1 Yahoo Global 2013 3B user account information 2 Aadhaar India 2018 1.1B citizens’ ID/biometric data 2 Alibaba China 2019 1.1B users’ personal data 4 LinkedIn Global 2021 700M users’ personal data 5 Sina Weibo China 2020 538M users’ personal data 6 Facebook Global 2019 533M users’ personal data 7 Marriott Int’l Global 2018 500M customers’ personal data 8 Yahoo Global 2014 500M user account information 9 Adult Friend Finder Global 2016 412.2M user account information 10 MySpace USA 2013 360M user account information And that’s just the tip of the iceberg. Between November 2005 and November 2015, the US-based Identity Theft Resource Center counted 5,754 data breaches that exposed 856,548,312 records, mainly in that country.
It’s no wonder that citizens worldwide want organisations they share their personal data with to protect that data as if it were their own. More specifically, they want their governments to :
- Protect their consumer rights
- Prevent identity theft and other consumer fraud
- Build trust between consumers and businesses
- Improve cybersecurity measures
- Promote ethical business practices
- Uphold international standards
Organisations using personal data in their operations want to minimise financial and reputational risk. That’s common sense, especially when external attacks cause 68% of data breaches.
The terminology of data privacy
With 162 national laws already in place, the legal space surrounding data privacy grows more complex every day. Michalsons has a list of different privacy laws and regulations in force in significant markets around the world.
Fortunately, there’s plenty of commonality for two reasons : first, all countries want to solve the same problem ; second, those drafting the legislation have adopted much of what other countries have already developed. As a result, the terminology remains almost the same, even when the language changes.
These are the core concepts at play :
Term Definition Access and control Consumers can access, review, edit and delete their data Data protection Organisations must protect data from being stolen or compromised Consumer consent Consumers can grant and withdraw or refuse access to their data Deletion Consumers can request to have their data erased Data breach When the security of data has been compromised Data governance The management of data within an organisation Double opt-in Two-factor authentication to add a layer of confirmation GDPR Governing data privacy in Europe since 2016 Personally identifiable information (PII) Data used to identify, locate, or contact an individual Pseudonymisation Replace personal identifiers with artificial identifiers or pseudonyms Publicly available information Data from official sources, without restrictions on access or use Rectification Consumers can request to have errors in their data corrected Overview of current data privacy legislation
Over three-quarters of the world has formulated and rolled out data privacy legislation — or is currently doing so. Here’s a breakdown of the laws and regulations you can expect to find in most significant markets worldwide.
Europe
Thoughts of protecting data privacy first occurred in Europe when the German government became concerned about automated data processing in 1970. A few years later, Sweden was the first country to enact a law requiring permits for processing personal data, establishing the first data protection authority.
General Data Protection Regulation (GDPR)
Sweden’s efforts triggered a succession of European laws and regulations that culminated in the European Union (EU) GDPR, enacted in 2016 and enforced from 25 May 2018. It’s a detailed and comprehensive privacy law that safeguards the personal data and privacy of EU citizens.
The main objectives of GDPR are :
- Strengthening the privacy rights of individuals by empowering them to control their data.
- Establishing a uniform data framework for data privacy across the EU.
- Improving transparency and accountability by mandating businesses to handle personal data responsibly and fully disclose how they use it.
- Extending the regulation’s reach to organisations external to the EU that collect, store and process the data of EU residents.
- Requiring organisations to conduct Protection Impact Assessments (PIAs) for “high-risk” projects.
ePrivacy Regulation on Privacy and Electronic Communications (PECR)
The second pillar of the EU’s strategy to regulate the personal data of its citizens is the ePrivacy Regulation on Privacy and Electronic Communications (EU PECR). Together with the GDPR, it will comprise data protection law in the union. This regulation applies to :
- Providers of messaging services like WhatsApp, Facebook and Skype
- Website owners
- Owners of apps that have electronic communication components
- Commercial direct marketers
- Political parties sending promotional messages electronically
- Telecommunications companies
- ISPs and WiFi connection providers
The EU PECR was intended to commence with GDPR on 25 May 2018. That didn’t happen, and as of January 2025, it was in the process of being redrafted.
EU Data Act
One class of data isn’t covered by GDPR or PECR : internet product-generated data. The EU Data Act provides the regulatory framework to govern this data, and it applies to manufacturers, suppliers, and users of IoT devices or related services.
The intention is to facilitate data sharing, use, and reuse and to facilitate organisations’ switching to a different cloud service provider. The EU Data Act entered into force on 11 January 2024 and is applicable from September 2025.
GDPR UK
Before Brexit, the EU GDPR was in force in the UK. After Brexit in 2020, the UK opted to retain the regulations as UK GDPR but asserted independence to keep the framework under review. It’s part of a wider package of reform to the data protection environment that includes the Data Protection Act 2018 and the UK PECR.
In the USA
The primary federal law regarding data privacy in the US is the Privacy Act of 1974, which has been in revision for some time. However, rather than wait for the outcome of that process, many business sectors and states have implemented their own measures.
Sector-specific data protection laws
This sectoral approach to data protection relies on a combination of legislation, regulation and self-regulation rather than governmental control. Since the mid-1990s, the country has allowed the private sector to lead on data protection, resulting in ad hoc legislation arising when circumstances require it. Examples include the Video Privacy Protection Act of 1988, the Cable Television Protection and Competition Act of 1992 and the Fair Credit Reporting Act.
California Consumer Privacy Act (CCPA)
California was the first state to act when federal privacy law development stalled. In 2018, it enacted the California Consumer Privacy Act (CCPA) to protect and enforce Californians’ rights regarding the privacy of their personal information. It came into force in 2020.
California Privacy Act (CPRA)
In November of that same year, California voters approved the California Privacy Rights Act (CPRA). Billed as the strongest consumer privacy law ever enacted in the US, CPRA works with CCPA and adds the best elements of laws and regulations in other jurisdictions (Europe, Japan, Israel, New Zealand, Canada, etc.) into California’s personal data protection regime.
Virginia Consumer Data Protection Act (CDPA)
In March 2021, Virginia became the next US state to implement privacy legislation. The Virginia Consumer Data Protection Act (VCDPA), which is also informed by global legislative developments, tries to strike a balance between consumer privacy protections and business interests. It governs how businesses collect, use, and share consumer data.
Colorado Privacy Act (CPA)
Developed around the same time as VCDPA, the Colorado Privacy Act (CPA) was informed by that law and GDPR and CCPA. Signed into law in July 2021, the CPA gives Colorado residents more control over their data and establishes guidelines for businesses on handling the data.
Other states generally
Soon after, additional states followed suit and, similar to Colorado, examined existing legislation to inform the development of their own data privacy laws and regulations. At the time of writing, the states with data privacy laws at various stages of development were Connecticut, Florida, Indiana, Iowa, Montana, New York, Oregon, Tennessee, Texas, and Utah.
By the time you read this article, more states may be doing it, and the efforts of some may have led to laws and regulations coming into force. If you’re already doing business or planning to do business in the US, you should do your own research on the home states of your customers.
Globally
Beyond Europe and the US, other countries are also implementing privacy regulations. Some were well ahead of the trend. For example, Chile’s Law on the Protection of Private Life was put on the books in 1999, while Mauritius enacted its first Data Protection Act in 2004 — a second one came along in 2017 to replace it.
Canada
The regulatory landscape around data privacy in Canada is as complicated as it is in the US. At a federal government level, there are two laws : The Privacy Act for public sector institutions and the Personal Information Protection and Electronic Documents Act (PIPEDA) for the private sector.
PIPEDA is the one to consider here. Like all other data privacy policies, it provides a framework for organisations handling consumers’ personal data in Canada. Although not quite up to GDPR standard, there are moves afoot to close that gap.
The Digital Charter Implementation Act, 2022 (aka Bill C-27) is proposed legislation introduced by federal agencies in June 2022. It’s intended to align Canada’s privacy framework with global standards, such as GDPR, and address emerging digital economy challenges. It may or may not have been finalised when you read this.
At the provincial level, three of Canada’s provinces—Alberta, British Columbia, and Quebec—have introduced laws and regulations of their own. Their rationale was similar to that of Bill C-27, so they may become redundant if and when that bill passes.
Japan
Until recently, Japan’s Act on the Protection of Personal Information (APPI) was considered by many to be the most comprehensive data protection law in Asia. Initially introduced in 2003, it was significantly amended in 2020 to align with global privacy standards, such as GDPR.
APPI sets out unambiguous rules for how businesses and organisations collect, use, and protect personal information. It also sets conditions for transferring the personal information of Japanese residents outside of Japan.
China
The new, at least for now, most comprehensive data privacy law in Asia is China’s Personal Information Protection Law (PIPL). It’s part of the country’s rapidly evolving data governance framework, alongside the Cybersecurity Law and the Data Security Law.
PIPL came into effect in November 2021 and was informed by GDPR and Japan’s APPI, among others. The data protection regime establishes a framework for protecting personal information and imposes significant compliance obligations on businesses operating in China or targeting consumers in that country.
Other countries
Many other nations have already brought in legislation and regulations or are in the process of developing them. As mentioned earlier, there are 162 of them at this point, and they include :
Argentina Costa Rica Paraguay Australia Ecuador Peru Bahrain Hong Kong Saudi Arabia Bermuda Israel Singapore Brazil Mauritius South Africa Chile Mexico UAE Colombia New Zealand Uruguay Observant readers might have noticed that only two countries in Africa are on that list. More than half of the 55 countries on the continent have or are working on data privacy legislation.
It’s a complex landscape
Building a globalised business model has become very complicated, with so much legislation already in play and more coming. What you must do depends on the countries you plan to operate in or target. And that’s before you consider the agreements groups of countries have entered into to ease the flow of personal data between them.
In this regard, the EU-US relationship is instructive. When GDPR came into force in 2016, so did the EU-US Privacy Shield. However, about four years later, the Court of Justice of the European Union (CJEU) invalidated it. The court ruled that the Privacy Shield didn’t adequately protect personal data transferred from the EU to the US.
The ruling was based on US laws that allow excessive government surveillance of personal data transferred to the US. The CJEU found that this conflicted with the basic rights of EU citizens under the European Union’s Charter of Fundamental Rights.
A replacement was negotiated in a new mechanism : the EU-US Data Privacy Framework. However, legal challenges are expected, and its long-term viability is uncertain. The APEC Privacy Framework and the OECD Privacy Framework, both involving the US, also exist.
Penalties for non-compliance
Whichever way you look at it, consumer data privacy laws and regulations make sense. But what’s really interesting is that many of them have real teeth to punish offenders. GDPR is a great example. It was largely an EU concern until January 2022 when the French data protection regulator hit Google and Facebook with serious fines and criminal penalties.
Google was fined €150M, and Facebook was told to pay €60M for failing to allow French users to reject cookie tracking technology easily. That started a tsunami of ever-larger fines.
The largest so far was the €1.2B fine levied by the Irish Data Protection Commission on Meta, the owner of Instagram, Facebook, and WhatsApp. It was issued for transferring European users’ personal data to the US without adequate data protection mechanisms. This significant penalty demonstrated the serious financial implications of non-compliance.
These penalties follow a structured approach rather than arbitrary determinations. The GDPR defines an unambiguous framework for fines. They can be up to 4% of a company’s total global turnover in the previous fiscal year. That’s a serious business threat.
What should you do ?
For businesses committed to long-term success, accepting and adapting to regulatory requirements is essential. Data privacy regulations and protection impact assessments are here to stay, with many national governments implementing similar frameworks.
However, there is some good news. As you’ve seen, many of these laws and regulations were informed by GDPR or retrospectively aligned. That’s a good place to start. Choose tools to handle your customer’s data that are natively GDPR-compliant.
For example, web analytics is all about data, and a lot of that data is personal. And if, like many people, you use Google Analytics 4, you’re already in trouble because it’s not GDPR-compliant by default. And achieving compliance requires significant additional configuration.
A better option would be to choose a web analytics platform that is compliant with GDPR right off the bat. Something like Matomo would do the trick. Then, complying with any of the tweaks individual countries have made to the basic GDPR framework will be a lot easier—and may even be handled for you.
Privacy-centric data strategies
Effective website data analysis is essential for business success. It enables organisations to understand customer needs and improve service delivery.
But that data doesn’t necessarily need to be tied to their identity — and that’s at the root of many of these regulations.
It’s not to stop companies from collecting data but to encourage and enforce responsible and ethical handling of that data. Without an official privacy policy or ethical data collection practices, the temptation for some to use and abuse that data for financial gain seems too great to resist.
Cookie usage and compliance
There was a time when cookies were the only way to collect reliable information about your customers and prospects. But under GDPR, and in many countries that based or aligned their laws with GDPR, businesses have to give users an easy way to opt out of all tracking, particularly tracking cookies.
So, how do you collect the information you need without cookies ? Easy. You use a web analytics platform that doesn’t depend wholly on cookies. For example, in certain countries and when configured for maximum privacy, Matomo allows for cookieless operation. It can also help you manage the cookie consent requirements of various data privacy regulations.
Choose the right tools
Data privacy regulations have become a permanent feature of the global business landscape. As digital commerce continues to expand, these regulatory frameworks will only become more established. Fortunately, there is a practical approach forward.
As mentioned several times, GDPR is considered by many countries to be a particularly good example of effective data privacy regulation. For that reason, many of them model their own legislation on the EU’s effort, making a few tweaks here and there to satisfy local requirements or anomalies.
As a result, if you comply with GDPR, the chances are that you’ll also comply with many of the other data privacy regulations discussed here. That also means that you can select tools for your data harvesting and analytics that comply with the GDPR out of the box, so to speak. Tools like Matomo.
Matomo lets website visitors retain full control over their data.
Before deciding whether to go with Matomo On-premise or the EU-hosted cloud version, why not start your 21-day free trial ? No credit card required.