Convert Figma logo to code with AI

OpenShot logoopenshot-qt

OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.

4,242
528
4,242
246

Top Related Projects

10,740

cross-platform (Qt), open-source (GPLv3) video editor

Video Editor for Linux

Free and open source video editor, based on MLT Framework and KDE Frameworks

8,129

Free open-source non-linear video editor

4,619

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.

A modern yet simple multi-platform video cutter and joiner.

Quick Overview

OpenShot is a free, open-source video editor for Linux, Mac, and Windows. It provides a user-friendly interface for creating and editing videos, with features like trimming, scaling, resizing, snapping, and rotation of video content. OpenShot supports a wide range of video, audio, and image formats.

Pros

  • Cross-platform compatibility (Linux, Mac, Windows)
  • User-friendly interface suitable for beginners
  • Wide range of supported file formats
  • Extensive set of video editing features

Cons

  • Performance can be slow with large or complex projects
  • Limited advanced features compared to some professional video editors
  • Occasional stability issues reported by users
  • Learning curve for some of the more advanced features

Getting Started

To get started with OpenShot:

  1. Visit the official website: https://www.openshot.org/
  2. Download the appropriate version for your operating system
  3. Install the application following the provided instructions
  4. Launch OpenShot and start a new project
  5. Import your media files (video, audio, images) into the project
  6. Drag and drop clips onto the timeline to begin editing
  7. Use the various tools and effects to enhance your video
  8. Export your finished project in your desired format

Note: As OpenShot is a desktop application and not a code library, there are no code examples or quick start code snippets to provide.

Competitor Comparisons

10,740

cross-platform (Qt), open-source (GPLv3) video editor

Pros of Shotcut

  • More advanced features and professional-grade tools
  • Better performance and stability, especially for complex projects
  • Wider range of supported formats and codecs

Cons of Shotcut

  • Steeper learning curve for beginners
  • Less intuitive user interface compared to OpenShot
  • Fewer built-in templates and effects

Code Comparison

Both projects are written in C++ and use Qt for their GUI. Here's a brief comparison of their main window initialization:

OpenShot:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

Shotcut:

MainWindow::MainWindow()
    : QMainWindow(nullptr)
    , ui(new Ui::MainWindow)
    , m_isKiosk(false)
{
    ui->setupUi(this);
    setWindowIcon(windowIcon());
}

Shotcut's initialization includes additional features like kiosk mode and explicitly setting the window icon, while OpenShot's is more straightforward. This reflects Shotcut's more feature-rich nature compared to OpenShot's simplicity.

Video Editor for Linux

Pros of Flowblade

  • More advanced editing features, including multi-track editing and compositing
  • Faster performance, especially for complex projects
  • Better support for professional workflows and color grading

Cons of Flowblade

  • Steeper learning curve, less intuitive for beginners
  • Limited cross-platform support (primarily Linux-focused)
  • Smaller community and fewer resources for learning and troubleshooting

Code Comparison

OpenShot (Python):

class Timeline(QGraphicsScene):
    def __init__(self, *args):
        QGraphicsScene.__init__(self, *args)
        self.scale = 1.0
        self.tracks = []

Flowblade (Python):

class TimelineGuiObject:
    def __init__(self):
        self.track_list = []
        self.visible_track_count = 0
        self.scale = 1.0

Both projects use Python for their core functionality, but Flowblade's codebase tends to be more complex and feature-rich, reflecting its more advanced capabilities. OpenShot's code is generally more straightforward, aligning with its focus on simplicity and ease of use.

Free and open source video editor, based on MLT Framework and KDE Frameworks

Pros of Kdenlive

  • More advanced features and professional-grade editing capabilities
  • Robust multi-track editing with a wide range of effects and transitions
  • Active development with frequent updates and new features

Cons of Kdenlive

  • Steeper learning curve for beginners
  • Heavier resource usage, may not perform well on older hardware
  • Occasional stability issues, especially with complex projects

Code Comparison

Kdenlive (C++):

void MainWindow::slotAddClipToProject(const QUrl &url)
{
    QList<QUrl> urls;
    urls << url;
    pCore->bin()->droppedUrls(urls);
}

OpenShot (Python):

def add_file(self, filepath):
    if not os.path.exists(filepath):
        log.info("Invalid file path passed to add_file: %s" % filepath)
        return
    self.files.append(filepath)

Both projects handle adding files to the project, but Kdenlive's implementation is in C++ and integrated with Qt, while OpenShot uses Python, reflecting their different architectural choices.

8,129

Free open-source non-linear video editor

Pros of Olive

  • More advanced editing features, including keyframe animation and compositing
  • Modern, sleek user interface with customizable layouts
  • Better performance for high-resolution video editing

Cons of Olive

  • Less stable, still in alpha/beta development stage
  • Smaller community and fewer resources for learning/troubleshooting
  • Limited export options compared to OpenShot

Code Comparison

OpenShot (Python):

def update_preview():
    # Update preview window
    self.preview_thread.refresh()

Olive (C++):

void TimelineWidget::UpdateViewport() {
  // Update viewport and redraw timeline
  viewport()->update();
}

Both projects use different programming languages, with OpenShot primarily using Python and Olive using C++. This affects performance and development approaches. Olive's use of C++ potentially contributes to its better performance with high-resolution video editing.

OpenShot has a more established codebase with a focus on stability and ease of use, while Olive's code reflects its more advanced features and modern design philosophy. However, Olive's codebase is less mature and may have more frequent changes due to its ongoing development.

4,619

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.

Pros of Natron

  • More advanced compositing features and node-based workflow
  • Better suited for professional VFX and motion graphics work
  • Supports industry-standard OpenFX plugins

Cons of Natron

  • Steeper learning curve compared to OpenShot's simpler interface
  • Less frequent updates and potentially less stable than OpenShot
  • Smaller community and fewer readily available tutorials

Code Comparison

Natron (C++):

void Node::onInputChanged(int inputNb)
{
    Q_UNUSED(inputNb);
    invalidateHash();
    computeNodeHash();
    Q_EMIT inputChanged(inputNb);
}

OpenShot (Python):

def update_unselected_properties(self, clip_ids):
    """Update all unselected properties of a list of clips"""
    for clip_id in clip_ids:
        c = Clip.get(id=clip_id)
        if c and c.data:
            c.data["selected"] = False
            c.save()

Both projects use different programming languages and paradigms. Natron's C++ code focuses on node-based operations and hashing, while OpenShot's Python code deals with clip selection and property updates. This reflects their different approaches to video editing and compositing.

A modern yet simple multi-platform video cutter and joiner.

Pros of VidCutter

  • Lightweight and focused on quick video trimming and splitting
  • Simple, user-friendly interface for basic video editing tasks
  • Faster processing for simple cuts and joins

Cons of VidCutter

  • Limited features compared to OpenShot's full video editing suite
  • Less flexibility for complex video projects
  • Smaller community and fewer extensions/plugins

Code Comparison

VidCutter (Python):

def keyPressEvent(self, event: QKeyEvent) -> None:
    if event.key() == Qt.Key_Space:
        self.playMedia()
    elif event.key() in {Qt.Key_Left, Qt.Key_Right}:
        self.setPosition(event.key())

OpenShot (Python):

def keyPressEvent(self, event):
    if event.key() == Qt.Key_Space:
        self.actionPlay_trigger()
    elif event.key() == Qt.Key_Left:
        self.actionPrevious_Frame_trigger()
    elif event.key() == Qt.Key_Right:
        self.actionNext_Frame_trigger()

Both projects use Python and Qt for their user interfaces. VidCutter's code appears more concise, while OpenShot's code is more explicit in handling different key events. This reflects VidCutter's focus on simplicity and OpenShot's more comprehensive feature set.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

OpenShot Video Editor

OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.

Build Status

openshot-qt CI Build libopenshot CI Build libopenshot-audio CI Build

Features

  • Cross-platform (Linux, Mac, and Windows)
  • Support for many video, audio, and image formats (based on FFmpeg)
  • Powerful curve-based Key frame animations
  • Desktop integration (drag and drop support)
  • Unlimited tracks / layers
  • Clip resizing, scaling, trimming, snapping, rotation, and cutting
  • Video transitions with real-time previews
  • Compositing, image overlays, watermarks
  • Title templates, title creation, sub-titles
  • 2D animation support (image sequences)
  • 3D animated titles (and effects)
  • SVG friendly, to create and include vector titles and credits
  • Scrolling motion picture credits
  • Advanced Timeline (including Drag & drop, scrolling, panning, zooming, and snapping)
  • Frame accuracy (step through each frame of video)
  • Time-mapping and speed changes on clips (slow/fast, forward/backward, etc...)
  • Audio mixing and editing
  • Digital video effects, including brightness, gamma, hue, greyscale, chroma key, and many more!
  • Experimental hardware encoding and decoding (VA-API, NVDEC, D3D9, D3D11, VTB)
  • Import & Export widely supported formats (EDL, XML)
  • Render videos in many codecs and formats (based on FFmpeg)

Getting Started

The quickest way to get started using OpenShot is to download one of our pre-built installers. On our download page, click the Daily Builds button to view the latest, experimental builds, which are created for each new commit to this repo.

https://www.openshot.org/download/

Tutorial

Watch the official step-by-step video tutorial, or read the official user-guide:

Developers

Are you interested in becoming more involved in the development of OpenShot? Build exciting new features, fix bugs, make friends, and become a hero! Please read the step-by-step instructions for getting source code, configuring dependencies, and building OpenShot.

Documentation

Beautiful HTML documentation can be generated using Sphinx.

cd doc
make html

The documentation for the most recent release can be viewed online at openshot.org/user-guide.

Report a bug

Please report bugs using the official Report a Bug feature on our website. This walks you through the bug reporting process, and helps to create a high-quality bug report for the OpenShot community.

Or you can report a new issue directly on GitHub:

https://github.com/OpenShot/openshot-qt/issues

Translations

Translating OpenShot into other languages is very easy! Please read the step-by-step instructions or login to LaunchPad and get started. All you need is a web browser.

Dependencies

Although installers are much easier to use, if you must build from source, here are some tips:

OpenShot is programmed in Python (version 3+), and thus does not need to be compiled to run. However, be sure you have the following dependencies in order to run OpenShot successfully:

Launch

To run OpenShot from the command line with an installed libopenshot, use the following syntax: (be sure the change the path to match the install or repo location of openshot-qt)

cd [openshot-qt folder]
python3 src/launch.py

To run with a version of libopenshot built from source but not installed, set PYTHONPATH to the location of the compiled Python bindings. e.g.:

cd [libopenshot folder]
cmake -B build -S . [options]
cmake --build build
    
cd [openshot-qt folder]
PYTHONPATH=[libopenshot folder]/build/bindings/python \
python3 src/launch.py

Websites

Copyright & License

Copyright (c) 2008-2022 OpenShot Studios, LLC. This file is part of OpenShot Video Editor (https://www.openshot.org), an open-source project dedicated to delivering high quality video editing and animation solutions to the world.

OpenShot Video Editor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenShot Video Editor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with OpenShot Library. If not, see http://www.gnu.org/licenses/.