1

This question is related to this (basically, MPEG works, but wanna try and achieve a better solution)
I have been trying out kurento's magic mirror

Requirement: output stream must blur all areas of input stream except face.

my plan to achieve this,

  • Input stream passes to custom filter( sink).
    1. first detect and copy face areas,
    2. blur the image
    3. overlay copied faces on blurred image.
    4. now, this images would be overlayed on whole video( instead of only on face as in the case of FaceOverlayFilter).
  • filter output(src) is given out as webRTC output( sink), this gets would get transmitted to others.

Are there any filters already available that can be combined to achieve this, or must I make my own custom filter? Is this( my custom filter) even feasible( and is it the right way to fulfill the requirement)?

Community
  • 1
  • 1
mido
  • 24,198
  • 15
  • 92
  • 117

1 Answers1

3

Finally, found documentation on their site itself.

Hope this proves as good starting point for whose who stumble upon this post.

mido
  • 24,198
  • 15
  • 92
  • 117
  • Sorry, didn't see this question before. Glad you found that! Please let us know if you need some help developing the module. – igracia Jun 26 '15 at 19:54
  • 1
    @igracia hi, i was able to get the filter working, sometimes, using the filter kills the `kurento-media-server` service, but the **major issue** I faced was, `kurento-module-scaffold.sh opencv_filter` does not generate the dummy cpp code, luckily I copied that from your opencv example :) – mido Jun 27 '15 at 03:17
  • 1
    It does not create the dummy code? We´ll have a look at that, Thanks for the info! About the filter killing the media server... well, that's something only you can figure out ;-) Have you had time to debug that? – igracia Jul 01 '15 at 10:20
  • @igracia, thx for the reply, i was doing heavy image processing stuff on openCV on every frame on a single core VM and the CPU processing kept hitting 100% and process kept getting killed, adding another core helped, trying to reduce the frame rate before feeding to openCV filter... – mido Jul 01 '15 at 12:38
  • @igracia reducing the input resolution and frame rate helped a lot, no more crashes, can you please check on the `kurento-module-scaffold.sh` not creating dummy code in `src/server/implementation` – mido Jul 02 '15 at 07:06
  • 1
    Will get on that as soon as we can. I'll try to reproduce following the instructions in the docs you pointed. Yap, reducing resolution and bitrate helps a lot. You can instantiate a generic GStreamer filter, and in there put a `capsfilter`. – igracia Jul 02 '15 at 14:46
  • @igracia, sorry false alarm, I mis-read the document, I kept doing the `cmake ..` only after creating my own `cpp` files and not before, ignore the error( was thinking `kurento-module-scaffold.sh` would automatically create this), yes I am using `capsfilter`, thanks again for the interest shown. – mido Jul 03 '15 at 07:53
  • Nice! I wasn't able to find the culprit. Thanks for the feedback! – igracia Jul 07 '15 at 08:01
  • @RandallB seems like they have moved the docs, updated the link :) – mido Feb 24 '16 at 01:54