If just need to crop Audio/Video from a longer track, what can I use? I tried OpenShot, but I find the export video slow, perhaps its compling all the "layers" into a new movie? Perhaps I just need a simple "crop" tool for audio/video will surfice?
22 Answers
- Avidemux (From PPA) - http://avidemux.sourceforge.net/
- OpenShot:
sudo apt install openshot-qt- PPA: https://launchpad.net/openshot/ http://www.openshot.org/ppa/
- Pitivi:
sudo apt install pitivi- PPA: http://www.pitivi.org/?go=download
I was going to mention commands like ffmpeg or avconv (The new one) which can OBVIOUSLY split files into groups. For example:
FFMPEG
ffmpeg -ss 00:00:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output1.avi
ffmpeg -ss 00:30:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output2.avi
ffmpeg -ss 01:00:00 -t 00:30:00 -i input.avi -vcodec copy -acodec copy output3.avi
Or
ffmpeg -ss 0 -t 100 -i source.m4v -vcodec copy -acodec copy part1.m4v
ffmpeg -ss 100 -t 100 -i source.m4v -vcodec copy -acodec copy part2.m4v
ffmpeg -ss 200 -t 100 -i source.m4v -vcodec copy -acodec copy part3.m4v
ffmpeg -ss 300 -t 100 -i source.m4v -vcodec copy -acodec copy part4.m4v
AVCONV
avconv -i input.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:30:00 output1.avi
avconv -i input.avi -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi
avconv -i input.avi -vcodec copy -acodec copy -ss 01:00:00 -t 00:30:00 output3.avi
Or
avconv -ss 0 -i source.m4v -t 100 -vcodec copy -acodec copy part1.m4v
avconv -ss 100 -i source.m4v -t 100 -vcodec copy -acodec copy part2.m4v
avconv -ss 200 -i source.m4v -t 100 -vcodec copy -acodec copy part3.m4v
avconv -ss 300 -i source.m4v -t 100 -vcodec copy -acodec copy part4.m4v
Or do some script like here: http://icephoenix.us/notes-for-myself/auto-splitting-video-file-in-equal-chunks-with-ffmpeg-and-python/
- 31,312
- 216,643
With new version from ubuntu avconv
avconv -i srcFileName -c:a copy -c:v copy -ss 00:03:40 -t 00:01:12 targetFileName
- First argument time is from time
- Second argument is duration (not end time) duration may be either in seconds or in "hh:mm:ss[.xxx]" form.
To specify end time instead, use the option -to [end time].
Please refer to ffmpeg documentation for more informations
- 6,120
kdenlive is (in my experience) the easiest software which will allow you to perform that task in a few steps and without problems. Even so, the OpenShot Video Editor project is also useful but it yet needs lots of hard work to get closer to the kdenlive.
Here are a screenshot of the kdenlive and openshot respectively:


Good luck!
- 19,772
LosslessCut is focused entirely on clipping/cutting, is simple to use and does not re-encode, meaning exporting is fast:
sudo snap install losslesscut
To ensure audio remains synced with image, use the keyframe cut option.
- 31,312
- 809
I like kdenlive for finishing up as well or clipping out small chunks...but if he wants to split a LARGE lecture into smaller pieces he could try:
ffmpeg -i input.mpg -ss 00:00:10 -t 00:00:30 out1.mpg -ss 00:00:35 -t 00:00:30 out2.mpg
discussion of the command is here: http://ubuntuforums.org/showthread.php?t=480343
- 59,332
- 30,112
OpenShot Video Editor looks promising. Have you checked it?. Checkout the features: http://www.openshot.org/features/
The official installation method is via AppImage available at https://www.openshot.org/download/
To install it just open a terminal and run the following commands:
sudo add-apt-repository ppa:jonoomph/openshot-edge
sudo apt-get update
sudo apt-get install openshot openshot-doc
Just give a try.

- 1,260
- 30,949
I'm using ffmpeg CLI interface for that. It's very easy and fast:
to cut video:
ffmpeg -i InputFile -vcodec copy -acodec copy -ss 00:00:00 -t 00:01:32 OutPutFileto cut audio:
ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutPutFile
In both of these -ss is the start point, while -t is the duration of the piece.
You can calculate duration e.g. using LibreOffice Calc or python's dateutil package, or you can use the -to option which accepts the end time directly.
My preference for easy video clipping has always been avidemux.

Just set the video and audio encoding to Copy and choose the container format you want, within reason.
Installation:
sudo apt-get install avidemux
- 1,260
- 17,823
Try Avidemux (Ubuntu 14.04 and earlier).
sudo apt-get install avidemux
or LiVES
sudo apt install lives
- 122,292
- 133
- 301
- 332
- 653
For cutting, merging, scaling etc one can use … Blender (yes, this 3D editor, but it has also video editing part). You need workout some 20-min tutorial to survive the interface, but then it appears to be unexpectedly pleasant to use.
- 536
Use this
I've written it to cut out ads from recorded TV videos. Using the included remuxer you do not even to have to recode it. There is nothing fancy about it. Just fast.
- 7,426
I use Kdenlive, but I wouldn't be surprised if you could even slice video this way in PiTiVi:
- Create a new project with your full lecture.
- Set your start and end points for the first "manageable chunk" in the clip monitor.
- Drag from the video in the clip monitor down to your timeline. It will be just the chunk you chose.
- Set new start and end points in the clip monitor and repeat as needed.
- 331
To just crop without trans-coding
(copying instead), I suggest a yad script to be run from a desktop file launcher.
I have found the script here.
I have modified it a bit to include video formats and to avoid transcoding.
It looks like this:
#!/bin/bash
INPUT=$(yad --width=600 --height=400 --file-selection --file-filter='.mp3 .mp4 .avi .m4a .ogg .flac .aac .opus')
eval $(yad --width=400 --form --field=start --field=end --field=output:SFL "00:00:00" "00:00:00" "${INPUT/%.}-out.${INPUT##.}" | awk -F'|' '{printf "START=%s\nEND=%s\nOUTPUT="%s"\n", $1, $2, $3}')
[[ -z $START || -z $END || -z $OUTPUT ]] && exit 1
DIFF=$(($(date +%s --date="$END")-$(date +%s --date="$START")))
OFFSET=""$(($DIFF / 3600)):$(($DIFF / 60 % 60)):$(($DIFF % 60))
ffmpeg -ss "$START" -t "$OFFSET" -i "$INPUT" -c copy -map 0 "$OUTPUT"
So, install yad, save the script as cut_audio-video.sh and make it executable.
Than create the file ~/.local/share/applications/cut-audio-video.desktop similar to:
[Desktop Entry]
Name=Cut audio & video
Exec=/PATH/TO/cut_audio-video.sh
Icon=/SOME/AUDIO/ICON/Audio-icon.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Settings;HardwareSettings;X-GNOME-Settings-Panel;System;
Change Exec and Icon lines.
Then it can be run with an app launcher like Synapse:
Select the file, then enter the time for start and end of the cut/crop
- 4,066
- 4
- 47
- 106
In PiTiVi 0.13.5 (Ubuntu 10.10) I was able to simply select a clip and go to Timeline > Split (or just press "S").
- 4,755
For quickly cutting I have used MythTV. I recorded some show, let it automatically search for the commercial breaks and fine-tuned the found markers. After this I started the Myth archiving function and burned all to DVD, without the commercials.
I have to admit, it worked gread from about 2006 or such. Somewhere in 2008 or 2009 some update ruined it all, my markers where somehow shifted.
Right now, I'm in the progress of re-installing this myth stuff, just to see if I can get the trimmer/editor and archiver working.
- 11
- 1
Yesterday I just found that I can do it online, With a youtube account:) If you are in a hurry, and do not have enough time to try which ubuntu software works for you, then do it online.
Go to youtube account, upload your video, then select Video Manager, there is a Enhancement option, at the bottom right corner there lies Trim option
Watch this 1 minute tutorial if you still can not find it

- 11
If you want a GUI application you can use dmMediaConverter, a ffmpeg frontend, which has a split function, without reencoding, fast. Just add the split points and press Run. Also, it can do a lot of other stuff.
http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html

- 680
vidcutter is a very useful tool for cutting, trimming and merging videos in ubuntu:
Install vidcutter:
sudo add-apt-repository ppa:ozmartian/apps
sudo apt update
sudo apt install vidcutter
works in ubuntu 17.10
I wrote a helper for ffmpeg that mimics substr() syntax.
Usage
ffslice infile [start [duration [outfile [ffmpeg-args]]]]
Examples
# Get the last 5 minutes of an MP3
ffslice input.mp3 -5:00
# Get the first 30 seconds of a webm
ffslice input.webm 0 30
# Get 5 minutes of video starting at 2 minutes in
ffslice input.mp4 2:00 5:00
Code
#!/bin/bash
# substr() for MPEG-encoded files
infile="$1"; shift
start="$1"; shift
end="$1"; shift
outfile="$1"; shift
args=()
# Convert time to seconds
# https://unix.stackexchange.com/questions/412868/bash-reverse-an-array
timetosec() {
rev="$(<<< "$1" tr ':' '\n' | sed 's/^0\+\([0-9]+\)/$1/' | tac | tr '\n' ' ')"
IFS=' ' read -a times <<< "$rev"
let secs="${times[0]:-0} + (${times[1]:-0} * 60) + (${times[2]:-0} * 3600)"
printf '%i' "$secs"
}
# Input file requred
if [ -z "$infile" ]; then
echo "Usage: $(basename -- "$0") infile [start [end [outfile [ffmpeg-args]]]]" >&2
echo "Example: $(basename -- "$0") input.mp3 -5:00" >&2
exit 1
fi
# Start (negative starts from the end)
if [ "${start:0:1}" = "-" ]; then args+=('-sseof' "$start")
elif [ -n "$start" ]; then args+=('-ss' "$start")
fi
# Input
args+=('-i' "$infile")
# End (use + or - to specify relative to the starting point)
if [ "${end:0:1}" = "+" ]; then args+=('-to' "$end")
elif [ "${end:0:1}" = "-" ]; then args+=('-sseof' "$end")
elif [ -n "$end" ]; then
let dur="$(timetosec "$end") - $(timetosec "$start")"
args+=('-to' "$dur")
fi
# Default output filename
filename=$(basename -- "$infile")
extension="${filename##*.}"
filename="${filename%.*}"
defaultOutfile="${filename}-${start}-${end}.${extension}"
if [ -z "$outfile" ]; then
outfile="$defaultOutfile"
elif [ -d "$outfile" ]; then
outfile="${outfile}/${defaultOutfile}"
fi
# Cannot have colon in the filename with ffmpeg
# https://unix.stackexchange.com/questions/412519/ffmpeg-protocol-not-found-for-normal-file-name
outfile="$(printf '%s' "$outfile" | sed 's/:/./g')"
# Slice audio
ffmpeg "${args[@]}" -c copy "$@" "$outfile" 1>&2
# Output the final location
printf '%s' "$(readlink -f "$outfile")"
Caveat
Note that ffmpeg will only split on keyframes. This usually works well enough for most cases, but if you need precise video segments, see How to extract time-accurate video segments with ffmpeg?. You can force all the needed keyframes before segmenting.
- 216
I always use Kdenlive. Just import the video, drag it onto the timeline, click on the spot where you want to split it, right-click it, and choose cut. Then remove the part you don't need.
- 5,870
- 9,020
I've struggled with this same issue, having a large video file that I want to cut and save as separate scenes. After trying to do this in the usual suspects all listed by others here I ended up using Kino.
You will have to import the file as Kino needs it in dv format (whatever that is) and you can then specify start and end point for each clip on the Edit tab, then export each clip individually on the Export tab. Works great and is fast, the slowest part is the initial import of the video file. You can even add effects like titles to each clip.
I found that it is hard to find the exact spot to cut the scene in Kino and when I play the vid in the built in player there is no sound (there is when exported) and it plays too fast so I play the video in avidemux, find the time or frame number where I want to cut it, then use this info in Kino.
I do find it crashes a fair bit (I use Ubuntu 15.04 Kino v1.3.4) but it will recover where you were upon restart.
Update on the Kino webpage:
Kino is a dead project
( 05.08.2013 14:15 )
Kino has not been actively maintained since 2009. We encourage you to try other Linux video editors such as Shotcut, Kdenlive, Flowblade, OpenShot, PiTiVi, LiVES, and LightWorks.





