Skip to content

Commit

Permalink
add video cutters
Browse files Browse the repository at this point in the history
  • Loading branch information
couleurm committed Feb 26, 2024
1 parent 33386f8 commit 1f86d7e
Show file tree
Hide file tree
Showing 13 changed files with 214 additions and 4,841 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
89 changes: 89 additions & 0 deletions docs/video/cutters/avidemux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
icon: custom/avidemux
---

# Avidemux
<div class="grid cards" markdown>

- [![](https://upload.wikimedia.org/wikipedia/commons/d/d9/Avidemux-logo.png){align=right}](https://commons.wikimedia.org/wiki/File:Avidemux-logo.png)

User interface for converting video files

This program has lots of features but this page focuses on it's A/B cutting feature

[:octicons-home-16: Homepage](https://avidemux.sourceforge.net){ .md-button }
[:octicons-book-16:](https://sourceforge.net/p/avidemux/wiki/Home/){ .card-link title=Wiki}
[:material-forum:](https://www.avidemux.org/admForum/){ .card-link title=Forums}
[:octicons-code-16:](https://github.com/mean00/avidemux2){ .card-link title="Source Code" }

=== ":octicons-download-24:{ .green } Download"

You can get builds on the sourceforge page:

<https://avidemux.sourceforge.net/download.html>

=== ":custom-scoop: Scoop"
`scoop install avidemux`{data-clipboard-text="scoop.cmd install main/avidemux"}
|
[`avidemux.json`](https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/avidemux.json)
=== ":custom-chocolatey: Chocolatey"
`choco install avidemux -y`{data-clipboard-text="choco install avidemux -y"}
|
[package page](https://community.chocolatey.org/packages/avidemux)
=== ":simple-archlinux:{ .archblue } pacman"
`sudo pacman -Sy avidemux-qt`{data-clipboard-text="sudo pacman -Sy avidemux-qt"}
|
[`arch package`](https://archlinux.org/packages/extra/x86_64/avidemux-qt/)

</div>

![](../../../assets/images/video/ffmpeg/video-cutters/avidemux/avidemux-ui.png)
> See more screenshots [here](https://avidemux.sourceforge.net/screenshots.html)
<br>

## Features

Unlike LosslessCut it's very snappy but does not have as much cutting features.

It can be used like so:

1. Open the app
1. Drag in a video
1. Play back to where you wanna make the cuts
1. Press the <kbd>A</kbd> and <kbd>B</kbd> start/end time buttons
1. <kbd>CTRL+S</kbd> opens a file save dialog

## Video tutorial

tutorial by [skyler](https://twitter.com/skylerfrags) ([wallpaper](https://github.com/Atlas-OS/branding/blob/1fbcad1a8d474ba2c31b3b66528451c764585f32/wallpapers/16_9/v0.3/v2/Wallpapper%2016_9%20-%20v0.3%20v7.png))

<video width="688" height="387" controls="true" preload="auto">
<source src="/assets/videos/video/ffmpeg/video-cutters/avidemux-tutorial.mp4">
</video>


## Custom keybindings

If you prefer using the <kbd>I</kbd> and <kbd>O</kbd> keys to set in and out points,

you can create named `settings.json` in the same directory that holds `avidemux.exe`(1)
{ .annotate }

1. search it up in your start menu, right click it -> open file location

=== ":octicons-file-code-16: `settings.json`"
```json
"keyboard_shortcuts" : {
"use_alternate_kbd_shortcuts" : true,
"swap_up_down_keys" : false,
"alt_mark_a" : "I",
"alt_mark_b" : "O",
"alt_reset_markers" : "R",
"alt_goto_mark_a" : "A",
"alt_goto_mark_b" : "B",
"alt_begin" : "S",
"alt_end" : "E",
"alt_delete" : "Delete"
}
```
31 changes: 31 additions & 0 deletions docs/video/cutters/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
icon: material/movie-cog
---

# Video cutters vs NLEs

VEGAS, Premiere, After Effects, Davinci Resolve.. all these NLEs re-encode your videos upon exporting your project.

This is because they need to decode it in order to perform the actual "editing" of the video you've fed it.

In specific edgecases that do not require all the bells and whistles of a video editor, video cutters can be a life saver:

| Ops & cons | NLE re-encoding | Video cutters |
|--------------------|------------------------------------------------------------------------|------------------------------------|
| Render times | Will always be slower | Lightning fast |
| What can be edited | Literally everything | You can only cut from point A to B |
| Format | Unless encoding in lossless you'll always lose a little bit of quality | Lossless! |

e.g you have videos with very little parts of them actually relevant (e.g archiving highlights from stream VODs)

### :material-format-list-checks: What video cutters are there?

A lot more of them exists, but I'll cover both ends of the spectrums in terms of UI-snappiness to feature ratio:

* [LosslessCut](./losslesscut.md) is an electron-based user interface for cutting videos,
* [Avidemux](./avidemux.md) is much snappier and acts as a basic front-end to cutting from the command-line with FFmpeg

not documented on [ctt.cx](#):

* [suckless-cut](https://github.com/couleur-tweak-tips/suckless-cut): mpv lua script that replicates LosslessCut, I designed it to export directly to smoothie-rs
* [vidcutter](https://github.com/ozmartian/vidcutter): python gui which uses mpv?? todo: add a proper description, i (couleur) never used it much
84 changes: 84 additions & 0 deletions docs/video/cutters/losslesscut.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
icon: custom/losslesscut
---

<div class="grid cards" markdown>

- # :custom-losslesscut: LosslessCut

electron-based user interface for cutting videos

[:octicons-home-16: Homepage](https://mifi.no/losslesscut/){ .md-button }
[:material-tag-text:](https://github.com/mifi/lossless-cut/releases/latest){ .card-link title="GitHub releases"}
[:octicons-code-16:](https://github.com/mifi/lossless-cut/tree/HEAD){ .card-link title="Source Code" }
[:material-heart:](https://mifi.no/thanks){ .card-link title="Support" }

=== ":simple-windowsxp:{.archblue} Windows"

Mifi distributes Lossless-Cut as a portable 7-Zip archive

[:custom-7z: Portable .7z archive](https://github.com/mifi/lossless-cut/releases/latest/download/LosslessCut-win-x64.7z)

You can alternatively also get it for $20 from the Microsoft Store, sorry normies there's no installer.

[:simple-microsoftstore: Microsoft Store](https://apps.microsoft.com/detail/9P30LSR4705L)

Winget: See [microsoft/winget-pkgs#7204](https://github.com/microsoft/winget-pkgs/issues/72074)


=== ":custom-scoop: Scoop"

??? "You will need the "extras" bucket"

If you've just installed [Scoop](https://scoop.sh), you'll need to execute the following in the cmd:

```PowerShell
scoop.cmd update git 7zip
scoop.cmd bucket add extras
```

`scoop install losslesscut`{data-clipboard-text="scoop.cmd install extras/losslesscut"}
|
[`losslesscut.json`](https://raw.githubusercontent.com/ScoopInstaller/Extras/master/bucket/losslesscut.json)

=== ":custom-chocolatey: Chocolatey"

`choco install losslesscut `{data-clipboard-text="choco install lossless-cut -y"}
|
[package page](https://community.chocolatey.org/packages/losslesscut)

=== ":simple-archlinux:{ .archblue } pacman"

* [Snapcraft](https://snapcraft.io/losslesscut): `losslesscut`

* [Flathub](https://flathub.org/apps/no.mifi.losslesscut): `no.mifi.losslesscut`

AUR:

* [`losslesscut-bin`](https://aur.archlinux.org/packages/losslesscut-bin)

* [`losslesscut-git`](https://aur.archlinux.org/packages/losslesscut-git)


</div>

![](../../../assets/images/video/ffmpeg/video-cutters/losslesscut/losslesscut-ui.png)

It has the following notable features:

* Upon dragging multiple files you can select a "batch mode" which lets you run through multiple video files at once
* Smart-cutting (experimental) lets you have frame-accurate cuts by only re-encoding the two outer edge keyframes
* It supports Send To / dragging multiple files on a shortcut to it
* You can select a different output codec
* You can chose to export as an audio-only / video-only file
* Cuts can be joined in one output video or split into multiple ones

## :material-export: Export page

![](../../../assets/images/video/ffmpeg/video-cutters/losslesscut/losslesscut-export.png)

If you mind the long filenames it gives to your export, you can click on the output filename (underlined in blue) and set it to this:
```
${FILENAME}-cut${EXT}
```
Though note if you make multiple exports you'll have a file conflict, you see fit.
5 changes: 5 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ nav:
- video/ffmpeg/index.md
- Upscaling: video/ffmpeg/upscaling.md

- Video cutters:
- video/cutters/index.md
- Avidemux: video/cutters/avidemux.md
- LosslessCut: video/cutters/losslesscut.md

- Smoothie:
- video/smoothie/index.md
- Installation: video/smoothie/installation.md
Expand Down
Loading

0 comments on commit 1f86d7e

Please sign in to comment.