Convert Figma logo to code with AI

ozmartian logovidcutter

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

1,779
134
1,779
279

Top Related Projects

Video Editor for Linux

The swiss army knife of lossless video/audio editing

10,740

cross-platform (Qt), open-source (GPLv3) 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.

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

8,129

Free open-source non-linear video editor

Quick Overview

VidCutter is an open-source video trimmer and joiner application. It provides a simple and intuitive interface for cutting, splitting, and joining video files, supporting a wide range of video formats.

Pros

  • User-friendly interface with a timeline-based editor
  • Supports a wide variety of video formats
  • Cross-platform compatibility (Windows, macOS, Linux)
  • Fast processing with minimal quality loss

Cons

  • Limited advanced editing features compared to full-fledged video editors
  • Occasional stability issues reported by some users
  • Lack of frequent updates and maintenance in recent years
  • Some users report difficulties with installation on certain systems

Getting Started

To get started with VidCutter:

  1. Download the appropriate installer for your operating system from the GitHub releases page.
  2. Install the application following the standard installation process for your OS.
  3. Launch VidCutter and open a video file using the "Open media" button or by dragging and dropping a file into the application window.
  4. Use the timeline and cutting tools to trim your video as desired.
  5. Click the "Save media" button to export your edited video.

Note: As VidCutter is a standalone application and not a code library, there are no code examples or quick start instructions for programming use.

Competitor Comparisons

Video Editor for Linux

Pros of Flowblade

  • More comprehensive video editing features, including multi-track editing
  • Supports a wider range of video formats and codecs
  • Offers advanced color grading and compositing tools

Cons of Flowblade

  • Steeper learning curve due to more complex interface
  • Requires more system resources for optimal performance
  • Less frequent updates compared to VidCutter

Code Comparison

Flowblade (Python):

def _get_track_counts():
    audio_tracks_count = len(get_track_objects("audio"))
    video_tracks_count = len(get_track_objects("video"))
    return (video_tracks_count, audio_tracks_count)

VidCutter (Python):

def videoInfo(self) -> bool:
    if self.mediaPlayer.isVideoAvailable():
        vinfo = self.mediaPlayer.videoSink().videoFrame().toImage()
        return vinfo.width() > 0 and vinfo.height() > 0
    return False

Both projects use Python, but Flowblade's codebase is more extensive due to its broader feature set. VidCutter's code focuses on simpler video cutting operations, while Flowblade handles more complex editing tasks.

The swiss army knife of lossless video/audio editing

Pros of Lossless-Cut

  • Cross-platform support (Windows, macOS, Linux)
  • Supports a wider range of video formats
  • Offers more advanced features like batch processing and timeline zooming

Cons of Lossless-Cut

  • Less intuitive user interface for beginners
  • Slower processing speed for some operations
  • Requires more system resources

Code Comparison

VidCutter (Python):

def updateMediaInfo(self):
    if self.mediaPlayer.isVideoAvailable():
        self.videoWidget.setVisible(True)
        self.frameCounter.setVisible(True)
    else:
        self.videoWidget.setVisible(False)
        self.frameCounter.setVisible(False)

Lossless-Cut (JavaScript):

function getFrameCount({ width, height, framerateStr, duration }) {
  if (!width || !height || !framerateStr || !duration) return undefined;
  const match = framerateStr.match(/(?<fps>[0-9.]+)/);
  if (!match) return undefined;
  const { fps } = match.groups;
  return Math.round(fps * duration);
}

Both projects aim to provide video cutting functionality, but they differ in their implementation and feature sets. VidCutter focuses on simplicity and ease of use, while Lossless-Cut offers more advanced features at the cost of a steeper learning curve. The code snippets demonstrate their different approaches to handling video information and frame counting.

10,740

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

Pros of Shotcut

  • More comprehensive video editing features, including multi-track editing and advanced filters
  • Supports a wider range of video formats and codecs
  • Offers a more robust and feature-rich user interface

Cons of Shotcut

  • Steeper learning curve due to its more complex interface and features
  • Larger file size and potentially higher system requirements
  • May be overkill for simple video cutting tasks

Code Comparison

VidCutter (Python):

def updateMediaInfo(self):
    if self.mediaPlayer.isVideoAvailable():
        self.videoWidget.setVisible(True)
        self.frameCounter.setVisible(True)
        self.setGeometry(self.frameGeometry())

Shotcut (C++):

void MainWindow::onProducerOpened()
{
    m_player->setIn(-1);
    m_player->setOut(-1);
    m_playlistDock->setVisible(true);
    m_timelineDock->setVisible(true);
}

Both projects use different programming languages and frameworks, making direct code comparison challenging. VidCutter is primarily written in Python, while Shotcut uses C++ with Qt framework. The code snippets show how each project handles media-related operations, but their overall structure and implementation differ significantly due to the language and feature set differences.

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 comprehensive video editing features, including multi-track editing and advanced effects
  • Larger and more active community, leading to frequent updates and better support
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons of OpenShot

  • Steeper learning curve due to more complex interface and features
  • Potentially slower performance on lower-end hardware due to advanced features

Code Comparison

VidCutter (Python):

def updateMediaInfo(self):
    if self.mediaPlayer.isVideoAvailable():
        self.videoWidget.setVisible(True)
        self.frameCounter.setVisible(True)
        self.setGeometry(self.frameGeometry().x(), self.frameGeometry().y(), 800, 600)

OpenShot (Python):

def update_untracked_changes(self):
    if self.project.has_unsaved_changes():
        self.actionSave.setEnabled(True)
        self.actionUndo.setEnabled(True)
        self.actionRedo.setEnabled(False)
    else:
        self.actionSave.setEnabled(False)

Both projects use Python and Qt for their user interfaces. VidCutter focuses on simple video cutting operations, while OpenShot provides a more comprehensive set of video editing tools. OpenShot's codebase is larger and more complex, reflecting its broader feature set. VidCutter's code is more streamlined, focusing on core functionality for quick video trimming and joining operations.

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

Pros of kdenlive

  • More comprehensive video editing features, including multi-track editing and advanced effects
  • Larger community and more frequent updates
  • Better integration with KDE desktop environment

Cons of kdenlive

  • Steeper learning curve due to more complex interface
  • Heavier resource usage, potentially slower on older hardware
  • Larger installation size and more dependencies

Code Comparison

kdenlive (C++):

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

vidcutter (Python):

def addMedia(self, filepath: str) -> None:
    if self.mediaPlayer.isVideoAvailable():
        self.mediaPlayer.stop()
    self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile(filepath)))
    self.initMediaControls()

Both projects handle adding media to the editor, but kdenlive's approach is more complex, reflecting its broader feature set. vidcutter's implementation is simpler, focusing on basic video cutting functionality.

8,129

Free open-source non-linear video editor

Pros of Olive

  • More comprehensive video editing features, including multi-track editing and effects
  • Active development with frequent updates and new features
  • Larger community and more contributors

Cons of Olive

  • Steeper learning curve due to more complex interface and features
  • Potentially higher system requirements for smooth operation
  • Longer rendering times for complex projects

Code Comparison

VidCutter (Python):

def updateMediaInfo(self):
    if self.mediaPlayer.isVideoAvailable():
        self.videoWidget.setVisible(True)
        self.frameCounter.setVisible(True)
        self.setGeometry(self.frameGeometry())

Olive (C++):

void TimelineWidget::SetScale(const double& scale)
{
  scale_ = scale;
  viewport()->update();
  UpdateSceneRect();
}

While both projects are open-source video editors, Olive offers more advanced features suitable for complex editing tasks. VidCutter, on the other hand, focuses on simpler cutting and joining operations, making it more accessible for basic video trimming needs. The code snippets show that VidCutter uses Python with a focus on media player functionality, while Olive employs C++ for performance-critical timeline operations.

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

VidCutter

AUR-GIT Build Status Build Status Codacy Badge

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

flatpak (Linux)

Install via Flathub

or via the terminal:

$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
  (to enable the flathub repo if not already)
  
$ flatpak install flathub com.ozmartians.VidCutter
$ flatpak run com.ozmartians.VidCutter

snap (Linux)

Install via Snap store

or via the terminal:

$ sudo snap install vidcutter

Arch Linux (incl. Manjaro/etc.)

Users can install the stable version directly from the Arch Linux community repo packages or via AUR for the development version.

LATEST STABLE RELEASE:

    $ sudo pacman -S vidcutter

Using an AUR helper like yay (replace yay with any other AUR helper):

LATEST DEVELOPMENT RELEASE:

    $ yay -S vidcutter-git

Ubuntu (incl. Mint/Debian/KDE Neon/etc.)

Users can install the latest release via:

ppa:ozmartian/apps

The following set of commands will get you up and running:

$ sudo add-apt-repository ppa:ozmartian/apps
$ sudo apt update
$ sudo apt install vidcutter

openSUSE

VidCutter is available from openSUSE's official repos for Tumbleweed, Leap versions will be supported soon. Community built packages can be found @ https://software.opensuse.org/package/vidcutter.

VidCutter is also available from the popular Packman repository. Instructions to enable it can be found @ https://en.opensuse.org/Additional_package_repositories#Packman.

Fedora

Fedora 34 & Rawhide builds via copr @ https://copr.fedorainfracloud.org/coprs/suspiria/VidCutter

$ dnf copr enable suspiria/VidCutter

Also available at United RPMs at https://unitedrpms.github.io and https://github.com/UnitedRPMs/unitedrpms


Microsoft Windows

Download the latest Windows installer by clicking the button below.

Latest Releases

Chocolatey package

VidCutter is available from Chocolatey (its a package manager like in Linux but for Windows).

To install VidCutter, run the following command from the command line or PowerShell:

C:\> choco install vidcutter

To upgrade VidCutter, run the following command from the command line or PowerShell:

C:\> choco upgrade vidcutter

macOS

Only macOS Catalina and below is currently supported. Big Sur is unstable until further notice.

Download the latest macOS installer by clicking the button below.

Latest Releases

Homebrew package

VidCutter is available from Homebrew as a cask.

To install VidCutter, run the following command in a terminal:

$ brew install --cask vidcutter

Running from Python source

In order to run from source code you need to first build a Python extension and then run the app as follows, from within the source code folder:

$ python3 setup.py build_ext -i
$ python3 -m vidcutter

Working installations of libmpv and ffmpeg must be pre-installed for your specific OS. For Linux, package names are usually named libmpv1 or mpv and ffmpeg. For the media information option to work you'll also need a working install of mediainfo.

You will need Python packages pyopengl and simplejson pre-installed, via pip install pyopengl simplejson or distro packages, and a working PyQt5 + Qt5 libraries installation. Windows users can simply pip install PyQt5 to be up and running, Linux users should install a relevant PyQt5 package from their Linux distribution's package manager. Linux package names for PyQt5 are usually named python-pyqt5 or python3-pyqt5 and will take care of the Qt5 side of things too.


Command-line for debugging (Linux/macOS only)

$ vidcutter --help

Usage: vidcutter [options] [video] [project]

VidCutter - the simplest + fastest video cutter & joiner

Options:
  --debug        debug mode; verbose console output & logging. This will
                 basically output what is being logged to file to the console
                 stdout. Mainly useful for debugging problems with your system
                 video and/or audio stack and codec configuration.
  --dev          developer mode; disables the use of compiled resource files so
                 that all app resources & assets are accessed directly from the
                 file system allowing you to see UI changes immediately. this
                 typically relates to changes made to Qt stylesheets (.qss),
                 layout/templates, content includes and images. basically all
                 assets defined in .qrc files throughout the codebase.
  -v, --version  Displays version information.
  -h, --help     Displays this help.

Arguments:
  video          Preload video file
  project        Open VidCutter project file (.vcp)