-- directshow - binary DirectShow Lua extension -- v0.1 (c) 2016 Valentin Schmidt A binary version "directshow.dll" (linked to lua51.dll) is included in this ZIP. The C++ sources will be released soon as well. There is now real documentation yet, but the demo scripts included in the ZIP show most of the available functions and (optional) parameters. 1. Interface ============ -- INIT/EXIT init () forget () -- BASIC CONTROL open (table props) -> int HRESULT play () -> int HRESULT pause () -> int HRESULT stop () -> int HRESULT close () -- GRAPH graph_start () -> int HRESULT graph_add_source (string filename, string guid, *bool dialog=false) -> int filterPos|HRESULT graph_add_dest (string filename, string guid, *bool dialog=false) -> int filterPos|HRESULT graph_add_filter (string guid, *bool dialog=false) -> int filterPos|HRESULT graph_add_filter_by_cat (string categoryGuid, int number, *bool dialog=false) -> int filterPos|HRESULT graph_connect (int filterNumA, int filterNumB) -> int HRESULT graph_render (int filterNum) -> int HRESULT graph_finalize (table props) -> bool success graph_save (string graphfile) -> int HRESULT -- STEP step_forward (*int frames=1) -> bool success step_backwards (*int frames=1) -> bool success -- GET/SET PARAMETER get_param (string param) -> int|float|int,int,int,int result set_param (table props) filter_dialog (string guid|int filterNum) -> int HRESULT -- GET STATUS INFOS get_media_info () -> int duration, int width, int height, float fps get_status () -> int status get_used_filters () -> table -- UTILITIES register_filter (string filterFile) -> int HRESULT unregister_filter (string filterFile) -> int HRESULT get_available_filters (*string categoryGuid) -> table get_error_info (int HRESULT) -> string name, string description sleep (int ms) 2.) Demos ========= Some of the demo scripts only work if filters that allow to play H264/AAC MP4 media are installed. For this purpose the LAV filters are included, and can be registered in the system by either running "lavfilters_register.bat" or "test_register_filters.lua". NOTE: BOTH scripts will only work if they are executed with admin privileges ("Run as Adminstrator")!