Skip to content

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

Notifications You must be signed in to change notification settings

liufeigit/videoshader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 63.0%
  • GLSL 22.5%
  • JavaScript 10.6%
  • Swift 3.9%