Convert Figma logo to code with AI

mltframework logoshotcut

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

10,740
1,113
10,740
49

Top Related Projects

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.

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.

The Light Table IDE ⛺

Quick Overview

Shotcut is a free, open-source, cross-platform video editing software. It supports a wide range of formats and features a modern, intuitive interface for both beginners and advanced users. Shotcut is built on the MLT Multimedia Framework, providing a robust foundation for video editing tasks.

Pros

  • Cross-platform compatibility (Windows, macOS, and Linux)
  • Extensive format support, including 4K and 8K resolutions
  • Non-destructive editing with a flexible timeline
  • Built-in audio and video filters with real-time preview

Cons

  • Steeper learning curve compared to some consumer-level video editors
  • Occasional stability issues, especially with complex projects
  • Limited built-in effects and transitions compared to some commercial alternatives
  • Resource-intensive, may require a powerful computer for smooth performance

Getting Started

To get started with Shotcut:

  1. Visit the official website: https://shotcut.org/
  2. Download the appropriate version for your operating system
  3. Install Shotcut following the provided instructions
  4. Launch the application and start a new project
  5. Import your media files using the "Open File" or drag-and-drop functionality
  6. Add clips to the timeline and begin editing using the available tools and filters

For detailed tutorials and documentation, refer to the official Shotcut user guide: https://shotcut.org/tutorials/

Competitor Comparisons

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.

Pros of OpenShot

  • More user-friendly interface, making it easier for beginners to start editing
  • Wider range of built-in transitions and effects
  • Better support for 3D animated titles and effects

Cons of OpenShot

  • Less stable performance, especially with larger projects
  • Fewer advanced editing features compared to Shotcut
  • Limited color grading and correction tools

Code Comparison

Both OpenShot and Shotcut use Python for various aspects of their codebase. Here's a brief comparison:

OpenShot (Python):

class Timeline(QObject):
    def __init__(self, *args):
        QObject.__init__(self)
        self.clips = []
        self.effects = []

Shotcut (C++):

class Timeline : public QObject
{
    Q_OBJECT
public:
    explicit Timeline(QObject *parent = nullptr);
    QList<Clip*> m_clips;
    QList<Effect*> m_effects;
};

While OpenShot primarily uses Python for its codebase, Shotcut is mainly written in C++. This difference in programming languages can affect performance and extensibility. Shotcut's use of C++ may contribute to its better performance with larger projects, while OpenShot's Python-based architecture might make it easier for developers to contribute or create plugins.

Video Editor for Linux

Pros of Flowblade

  • More lightweight and faster performance on lower-end hardware
  • Stronger focus on keyboard-driven editing workflow
  • Better support for complex multi-track compositing

Cons of Flowblade

  • Less intuitive interface for beginners
  • Smaller community and fewer third-party resources
  • Limited cross-platform support (primarily Linux-focused)

Code Comparison

Flowblade (Python):

def _get_track_counts():
    audio_tracks = 0
    video_tracks = 0
    for i in range(len(current_sequence().tracks) - 1, -1, -1):
        track = current_sequence().tracks[i]
        if track.type == appconsts.VIDEO:
            video_tracks += 1
        elif track.type == appconsts.AUDIO:
            audio_tracks += 1
    return (video_tracks, audio_tracks)

Shotcut (C++):

void TimelineDock::onNewTrackRequest()
{
    QString trackName = QString("Track %1").arg(m_model.rowCount() + 1);
    int trackNumber = m_model.rowCount();
    emit addTrackRequested(trackName, trackNumber);
}

The code snippets demonstrate different approaches to track management. Flowblade uses Python for a more concise track counting function, while Shotcut employs C++ for adding new tracks to the timeline.

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

Pros of Kdenlive

  • More feature-rich with advanced editing tools and effects
  • Stronger community support and regular updates
  • Better integration with KDE desktop environment

Cons of Kdenlive

  • Steeper learning curve for beginners
  • Can be resource-intensive on lower-end systems
  • Occasional stability issues, especially with complex projects

Code Comparison

Kdenlive (C++):

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

Shotcut (C++):

void MainWindow::openVideo()
{
    QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::homePath());
    if (!filename.isEmpty())
        m_player->open(filename);
}

Both projects use C++ and Qt framework, but Kdenlive's codebase is generally more complex due to its broader feature set. Shotcut's code tends to be more straightforward, reflecting its focus on simplicity and ease of use.

8,129

Free open-source non-linear video editor

Pros of Olive

  • More modern and intuitive user interface
  • Better support for high-resolution video editing
  • Faster rendering times for complex projects

Cons of Olive

  • Less mature project with fewer features compared to Shotcut
  • Smaller community and less documentation available
  • Limited plugin ecosystem

Code Comparison

Olive (C++):

void TimelineWidget::mousePressEvent(QMouseEvent *event)
{
    if (event->button() == Qt::LeftButton) {
        m_dragging = true;
        m_dragStartPosition = event->pos();
    }
}

Shotcut (C++):

void TimelineDock::mousePressEvent(QMouseEvent* event)
{
    if (event->button() == Qt::LeftButton) {
        m_selection.reset(new TimelineSelectionModel);
        m_selectionStart = event->pos();
    }
}

Both projects use C++ and Qt for their user interfaces. Olive's code tends to be more modern and object-oriented, while Shotcut's codebase is older and more procedural in some areas. Olive makes use of more recent C++ features and has a cleaner overall structure, which can make it easier for new contributors to understand and modify the code. However, Shotcut's codebase is more extensive and battle-tested, providing a wider range of features and better stability for users.

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, suitable for professional VFX work
  • Node-based workflow, offering greater flexibility and control
  • Extensive plugin support, including OpenFX compatibility

Cons of Natron

  • Steeper learning curve, especially for beginners
  • Less frequent updates and potentially slower development cycle
  • Smaller community and fewer readily available tutorials

Code Comparison

Natron (Python script example):

# Create a basic compositing node
read_node = app.createReader("input.exr")
blur_node = app.createNode("net.sf.openfx.GaussianBlur")
blur_node.connectInput(0, read_node)
write_node = app.createWriter("output.exr")
write_node.connectInput(0, blur_node)

Shotcut (MLT XML example):

<mlt>
  <producer id="producer0">
    <property name="resource">input.mp4</property>
  </producer>
  <filter>
    <property name="mlt_service">blur</property>
    <property name="start">0</property>
    <property name="end">100</property>
  </filter>
</mlt>

Both Natron and Shotcut are open-source video editing and compositing tools, but they cater to different user needs. Natron is more suited for advanced compositing and VFX work, while Shotcut focuses on simpler video editing tasks. The code examples showcase their different approaches: Natron uses a node-based system with Python scripting, while Shotcut relies on MLT XML for project configuration.

The Light Table IDE ⛺

Pros of LightTable

  • Innovative IDE with real-time code evaluation and inline documentation
  • Highly customizable and extensible through plugins
  • Supports multiple programming languages

Cons of LightTable

  • Less active development and community support
  • Limited features compared to more established IDEs
  • Steeper learning curve for new users

Code Comparison

While a direct code comparison between LightTable and Shotcut is not relevant due to their different purposes (IDE vs. video editor), we can look at how they might be extended:

LightTable (ClojureScript):

(behavior ::on-close-destroy
          :triggers #{:close}
          :reaction (fn [this]
                      (object/destroy! this)))

Shotcut (C++):

void MyFilter::close()
{
    m_producer.reset();
    delete m_filter;
}

LightTable focuses on functional programming and extensibility, while Shotcut emphasizes video processing functionality. LightTable's code is more concise due to ClojureScript, while Shotcut's C++ code is more verbose but potentially more performant for video editing tasks.

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

build-shotcut-linux build-shotcut-macos build-shotcut-windows

Shotcut - a free, open source, cross-platform video editor

screenshot

Install

Binaries are regularly built and are available at https://www.shotcut.org/download/.

Contributors

Dependencies

Shotcut's direct (linked or hard runtime) dependencies are:

See https://shotcut.org/credits/ for a more complete list including indirect and bundled dependencies.

License

GPLv3. See COPYING.

How to build

Warning: building Shotcut should only be reserved to beta testers or contributors who know what they are doing.

Qt Creator

The fastest way to build and try Shotcut development version is through Qt Creator.

From command line

First, check dependencies are satisfied and various paths are correctly set to find different libraries and include files (Qt, MLT, frei0r and so forth).

Configure

In a new directory in which to make the build (separate from the source):

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ /path/to/shotcut

We recommend using the Ninja generator by adding -GNinja to the above command line.

Build

cmake --build .

Install

If you do not install, Shotcut may fail when you run it because it cannot locate its QML files that it reads at run-time.

cmake --install .

Translation

If you want to translate Shotcut to another language, please use Transifex.