/videoshader

Script-based real-time video processing technology for OpenGL/iOS

Primary LanguageObjective-C

VideoShader

Script-based real-time video processing technology for OpenGL/iOS

Overview

VideoShader is a script-based video processing technology for OpenGL/iOS, which allows developers and designers to design video pipelines by combining multiple OpenGL-based video filters.

Because each video filter is built on top of OpenGL, all video processing will be done by GPU, not involding CPU in manipulating pixels at all.

This pure GPU-based architecture allows it to process SD-video on iPhone4s, and HD-video on iPhone5 in real-time (30fps)!

VideoShader Script

VideoShader Script (VSScript) is the JSON-based language, which makes it very easy for developoers to describe video pipelines. At runtime, the VideoShader compiles the script into OpenGL shading language (GLSL), and executes it very efficiently.

Here is the famous "cartoon filter" described in VSScript.

{
    "title":"Cartoon I",
    "pipeline":[
        { "filter":"boxblur", "ui":{ "primary":["radius"] }, "attr":{"radius":2.0} },
        { "control":"fork" },
        { "filter":"boxblur", "attr":{"radius":2.0} },
        { "filter":"toone", "ui":{ "hidden":["weight"] } },
        { "control":"swap" },
        { "filter":"sobel" },
        { "filter":"canny_edge", "attr":{ "threshold":0.19, "thin":0.50 } },
        { "filter":"anti_alias" },
        { "blender":"alpha" }
    ]
}

License

All code is licensed under the GPL2 for free to any individuals, schools, non-profit organizations and small corporations (less than $1M/year revenue). You need to copy&paste this section into your license section.

I, however, would really appreciate if you could purchase VideoShader Composer, which allows you to interactively create and edit video pipelines (in VSScript).

If any corporation whose annual revenue is more than $1 million wants to use this software for commercial purpose, please contact me for a commercial license.