The common questions about the engine, the timeline, GPU playback, transitions, proxies, export and getting started. Still stuck? Contact us or ask on the forum.
PyEncoder is a desktop video editor built on libopenshot and Qt6, with a multi-track timeline, GPU-accelerated playback, keyframe animation, and a proper export queue - all driven by readable Python. It pairs the proven OpenShot C++ engine with a focused, modular Qt6 front end.
PyEncoder is built on libopenshot, the same C++ engine that powers OpenShot. That gives it proven, FFmpeg-backed media handling, while the interface and application logic are written in clean, modular Python on top of it.
PyEncoder runs on Windows 10 and 11 (64-bit). It is a Windows-first build today, shipped with bundled Qt6 and libopenshot DLLs so there is no separate runtime to chase down.
No. PyEncoder is self-bootstrapping: the first launch attempts to install PySide6, numpy and FFmpeg automatically, then opens with empty video and audio tracks. There is nothing to install by hand.
Minimum is Windows 10 (64-bit), a dual-core x86-64 CPU, 8 GB RAM, any OpenGL-capable GPU, and 2 GB of free disk. Recommended is Windows 11, a quad-core or better CPU, 16 GB RAM, a discrete GPU for 4K preview, and an SSD with headroom for proxies and cache. It does not demand a workstation GPU.
The timeline is a real native Qt widget - a TimelineView with a backing model - not an HTML canvas in a browser. You get unlimited stacked video and audio tracks, trim/slip/split and ripple edits, a media pool, a per-clip inspector, snap-to-FPS, a frame-accurate playhead, and waveform-backed audio tracks.
Yes. Playback runs through libopenshot's openshot.QtPlayer GPU path - the player binds a Qt widget directly and drives Play(), Speed() and Position() on the engine - so you get smooth scrubbing, J/K/L-style transport, frame-accurate seeking, and live preview of effects and transitions.
Yes. You can animate position, scale, rotation, opacity and volume with editable keyframe curves in the inspector. The KeyframeScaler handles rescale_fps, retime, stretch and snap-to-FPS, so animated properties survive a project frame-rate change.
PyEncoder ships 18 built-in transition kinds via TransitionKind with generated FFmpeg filter_complex, SVG title templates with FFmpeg overlay compositing, and an effects panel covering color, blur/sharpen, transform/crop and chroma-key effects.
Heavy footage stays smooth thanks to a real background queue: the ProxyService runs a TranscodeQueue with full job lifecycle, an LRU cache and Qt signals to generate and reuse proxies. For final output, the export queue dialog lets you batch multiple renders - H.264, ProRes and other FFmpeg-backed formats - while you keep editing.
Launch with python main.py, drag files into the Media Pool, build a sequence on the timeline (trim, stack tracks, drop transitions), animate with keyframes in the inspector, then open the export queue, pick a format such as H.264 or ProRes, and queue the render. It processes in the background while you keep working.
You can request the latest build or report a bug through the contact form at /contact.php, by phone at (724) 431-5207, or by email at trenttompkins@gmail.com. You can also ask the community on the PyEncoder forum at forum.pyencoder.net.
Grab the latest Windows build, or read the step-by-step getting started guide.
Download PyEncoder