2013-08-08, 04:07
Please excuse me if this thread belongs in the "Feature Suggestions" area.
I've made an custom blend filter for FFmpeg/libavfilter, which allows me to remove transparent logos from videos. I don't know how much processing power is needed to run this filter in real-time, but the re-encoding of an 1080p video results in about 25fps on my machine. The result can be seen here. The filter-mask needs small adjustments, but the filter itself works fine. The equation itself is not overly complicated:
I know it has its limitations, but I think it works on most sources. I have also ideas for a logo detection and mask generation.
I have some questions I'd like to ask:
1. What do you think?
2. Would it be complicated to add this to XBMC (maybe even for the next release)?
3. Could this be done in OpenGL to reduce CPU usage?
I don't like logos, they distract and cover viewing area. They had their place in times of "dumb" receivers, but not today anymore. They could easily be embedded in the DVB-stream, but there is no standard for it. It would be possible to remove the logos from 2/3 of the channels in my country. I could not find this feature in other mediacenter software, it would be unique for XBMC.
I planned to clean up the code and submit it to the FFmpeg project. It would be cool if a dev could implement this, because I don't have the experience/knowledge to do this.
I've made an custom blend filter for FFmpeg/libavfilter, which allows me to remove transparent logos from videos. I don't know how much processing power is needed to run this filter in real-time, but the re-encoding of an 1080p video results in about 25fps on my machine. The result can be seen here. The filter-mask needs small adjustments, but the filter itself works fine. The equation itself is not overly complicated:
Code:
C = ((A - B) * 255) / (256 - B)
A: original frame
B: mask
C: result
I know it has its limitations, but I think it works on most sources. I have also ideas for a logo detection and mask generation.
I have some questions I'd like to ask:
1. What do you think?
2. Would it be complicated to add this to XBMC (maybe even for the next release)?
3. Could this be done in OpenGL to reduce CPU usage?
I don't like logos, they distract and cover viewing area. They had their place in times of "dumb" receivers, but not today anymore. They could easily be embedded in the DVB-stream, but there is no standard for it. It would be possible to remove the logos from 2/3 of the channels in my country. I could not find this feature in other mediacenter software, it would be unique for XBMC.
I planned to clean up the code and submit it to the FFmpeg project. It would be cool if a dev could implement this, because I don't have the experience/knowledge to do this.