Skip to content

Lua Interface Reference

This section contains autogenerated Lua interface documentation for CVEDIA-RT plugins. These interfaces provide the low-level API methods available in Lua scripts.

Plugin Interface Mapping

The following table maps Lua interfaces to their corresponding plugin documentation:

Lua Interface Plugin Documentation Category Description
AmbaOutManaged Ambarella Plugin Platform Ambarella SoC output interface
Api Core API Utilities Core factory and API methods
Buffer Core Buffer Utilities Buffer manipulation interface
InferenceManaged Inference Plugin Inference AI model inference interface
InputManaged Input Plugin Input Video/data input interface
JetsonUtils Jetson Utils Plugin Platform NVIDIA Jetson utilities
MotionManaged Motion Plugin Processing Motion detection interface
MQTTManaged MQTT Plugin Communication MQTT messaging interface
OutputManaged Output Plugin Output Data output interface
RESTManaged REST Plugin Communication HTTP REST API interface
RTInstance Instance Plugin Utilities Instance management interface
Solution Solutions Utilities Solution framework interface
TrackerManaged Tracker Plugin Tracking Object tracking interface
TripwireManaged Tripwire Plugin Tracking Line crossing detection interface
UI UI Framework Utilities User interface framework
WritedataManaged WriteData Plugin Data File output interface
ZmqManaged ZMQ Plugin Communication ZeroMQ messaging interface
ZoneManaged Zone Plugin Tracking Area-based analytics interface

How to Use This Reference

1. For Plugin Configuration

  • Start with the Plugin Documentation for high-level concepts, configuration, and examples
  • Refer to the Lua Interface for specific method signatures and parameters

2. For Scripting

  • Use the Lua Interface pages for exact method names and parameters
  • Check the Plugin Documentation for practical examples and best practices

3. For Development

  • Plugin documentation provides C++ API and architecture details
  • Lua interfaces show the exposed methods available to scripts

Quick Reference

Common Plugin Creation Pattern

-- Standard plugin creation pattern
local instance = api.thread.getCurrentInstance()
local plugin = api.factory.[PLUGIN_NAME].create(instance, "MyPluginInstance")

-- Alternative: create in solution
local solution = api.solution.getCurrent()
local plugin = api.factory.[PLUGIN_NAME].create(solution, "MyPluginInstance")

Common Plugin Types

Factory Method Lua Interface Plugin Type
api.factory.inference.create() InferenceManaged AI model inference
api.factory.input.create() InputManaged Video/data input
api.factory.tracker.create() TrackerManaged Object tracking
api.factory.mqtt.create() MQTTManaged MQTT messaging
api.factory.writedata.create() WritedataManaged File output
api.factory.zone.create() ZoneManaged Area analytics
api.factory.tripwire.create() TripwireManaged Line crossing

Documentation Levels

1. Plugin Documentation (High Level)

  • Overview and use cases
  • Configuration examples
  • Integration patterns
  • Troubleshooting guides

2. Lua Interface Reference (Low Level)

  • Exact method signatures
  • Parameter types and descriptions
  • Return value specifications
  • Usage examples for individual methods

3. C++ API Documentation (Implementation Level)

  • Class definitions and inheritance
  • Method implementations
  • Advanced configuration options
  • Performance considerations

See Also


Note: The Lua interfaces on this page are automatically generated from the C++ source code. For manual edits or corrections, modify the source code comments in the corresponding plugin's C++ files.