You can add an overlay image to the video using a blend filter.
About video recording: the android-gpuimage library does not support it, but you can try using the android-gpuimage video library. This is the gpu image fork for android, which also provides video recording function
android-gpuimage-videorecording
see class GPUImageMovieWriter
It should point you in the right direction to develop your own videos on top of GPUImage.
The idea is as follows:
- draw the current surface of the screen.
- switch to the input surface of the encoder and draw the buffer of the previous frame again
- return to the screen surface.
Other useful links: EGL Surface Assistant , Media Encoder