If you have never owned an HTPC with the ability to automatically skip commercials then you probably should stop reading this post right now. Otherwise, carry on and I will explain to you how I think commercial skipping should work.
How Things Work Now
Currently if you want to flag commercials, you need to record the program and then set up your commercial skipping software to evaluate your recording. The flagging software will look for things like black frames, station logos, volume fluctuation, and other differences that can use to know when there is a commercial and when your show is on. Some software will even allow you to set up profiles on a show by show basis if there is a pattern to when they show commercials. This method works fairly well but there are some major drawbacks that will never be addressed with this model.
The flagging isn’t always 100% accurate
Despite getting better all the time, there are still some tricks that stations do that throw off commercial flagging software. One of the worst in my experience is playing the last joke of the show while the credits are rolling.
Commercial flagging takes a while
Not only does the flagging take a while because every frame of the show needs to be analyzed but the process is also very dependent on how fast your CPU is. If you are flagging commercials while trying to watch TV this can slow down other things drastically. While the process can be sped up a bit with software optimization it will never be instantaneous and this will always be a problem.
It is difficult to flag commercials in real time
If you have a fast enough CPU you can do this with some software but in most cases trying to flag commercials in real time will slow down your system and cause either the CPU to be used 100% or your hard drive won’t be able to keep up and your system will start to freeze or stutter during playback. Just imagine if you were trying to watch live TV, while flagging commercials, while another recording was happening with its own commercial flagging running. Your hard drive would be writing two shows while simultaneously reading 2 shows. If you do want to flag commercials in real time it is going to cost you extra money in hardware.
Commercial info doesn’t sync between all devices
If you have more than one TV your second HTPC should have all the information of the first, but what if you want to take that recording on your laptop, phone, or tablet? Most likely the video player on that device won’t support commercial skipping. The only way to get around this is to transcode the video, but if your flagging isn’t 100% accurate you can’t trust removing parts of the show until after you have watched it. And who wants to watch a show, set the flagging information correctly, transcode the show, and then transfer the show to your mobile device so you can enjoy it?
So how can we fix the problem? Crowd sourcing. This would work by having people scan their recordings like they currently do, but it would also give them an option to upload their commercial timestamps to a centralized server.
This server will store the show ID, channel ID, commercial times, and location (time zone). I am not sure if all of that information is needed but it seems like it would cover scenarios of different stations cutting up shows for first time airs as well as repeats and also should cover any differences based on location. The more people that upload their timestamps the more reliable the information will be because the backend can compare uploads to see which ones are consistent and which ones may have missed a part of the show.
With this model all of the above problems could be taken care of because you now can trust your commercial flagging 100% and can even flag commercials in real time on a slow machine. Transcoding would be accurate which would let you transcode with confidence and skip commercials on the go.
Because most HTPC software allows for plugins, there would need to be plugins written for the major HTPC software or current software could be made to adapt to this method. In either case, downloading an XML file to be used for commercial skipping is vastly easier to do than creating the video processors that exist currently. With this method, commercial flagging can be cross platform without the need of video analyzers to detect commercials.
How to Make it Free
This model will be sustained by allowing people to upload their own commercial flags in exchange for being able to download commercial flags. The upload does not need to be done immediately after the show airs and this will allow for commercial flagging to take place during downtime without affecting live TV on the HTPC.
If someone does not have a machine capable of flagging commercials, they can purchase commercial flags for a cheap fee, something to help cover server costs.
I don’t have the time, nor the skill to set up this system so I am throwing it out there for anyone to take advantage of and make the HTPC world a better place. If you do create something that can do this, I only ask that you make a MythTV plugin and let me use the service for free.