If I was going to do it... I'd definitely hook in through non-battery-powered IOT devices. Something like a smart TV or various other home security stuff. The TV seems ideal, you have non-trivial compute there so you could do some local speech-to-text and keyword matching, then just periodically phone home with tiny bandwidth usage; that's enough to associate IPs to interests, and then that dataset doesn't even have to look that creepy at the surface-level (you wouldn't tell many people where you got it exactly) when you sell it on to ad networks...
Sneaky apps would be another source, obviously the phone OS/computer vendors wouldn't want this, but I imagine there's some cat and mouse. It's just a new version of browser toolbars, not something hard to imagine some unscrupulous 3rd party data collection company building.
I definitely wouldn't expect Facebook or Google to be doing it directly.
TVs already do a lot of such tracking, and they are open about it. Samsung famously has their ACR feature[1] which works in a manner similar to what you suggest - it basically phones home periodically with screenshots of what you're watching.
Sneaky apps would be another source, obviously the phone OS/computer vendors wouldn't want this, but I imagine there's some cat and mouse. It's just a new version of browser toolbars, not something hard to imagine some unscrupulous 3rd party data collection company building.
I definitely wouldn't expect Facebook or Google to be doing it directly.