Recently I sat down to test a Roku streaming media device with the ads blacklist that we produce. We tested 24 different “channels” with a filtered dns server loaded with our ads blacklist, and then we tested the playback on these channels without filtering.
Much to our surprise, what we discovered was that 90% of the channels that we tested, could be considered a success as they would simply skip the commercials when the software attempted to load them. Two of the channels that we tested simply would not function properly with the ad blocking in place, and two of the other sampled channels were experiencing unrelated streaming issues due to server side problems.
In all, I was quite surprised and happy with the results. But keep in mind that we only sampled 24 channels, and there was two channels which were negatively impacted. And there may likely be more channels which are also affected in a negative manner. On a positive note, I believe that it may be possible, after some further testing and traffic analysis to develop practical traffic modification techniques to subvert the ads on these problematic channels in a manner which would preserve playback functionality.
This will require testing of all available channels and additional traffic shaping.
Packet capture and analysis reveals that many of these channels are using various, and often times, multiple advertising partners, loading ads from known advertising related domains and urls. Various files are downloaded during the exchange of analytics related data, including *.xml files which include instructions and reporting for statistics such as if the user has paused, or re-winded a commercial, commercials seem to be served in various video formats, we observed files in multiple formats being downloaded from remote servers including *.ts and *.mp4 files.
Further analysis will likely reveal more file types in use.
If you would like to try our dns ads blacklist, it is free and available in multiple formats from http://www.squidblacklist.org