When we talk about “cutting a video”, we mean a highly automated process how the intro and outro get added to a recorded lecture using the CRS Ticket Tracker. Cutting in our case bascially only consists of setting the actual start and end of the lecture. Everything else is an automated process.
This page is meant to describe the steps involved when everything else is already prepared. See Intro-Outro-Generator for a way to generate intros based on a talk schedule and Project setup for the steps to set up a new tracker project (which is usually done by the “VOC event lead/ resposible person”).
There are two main ways of cutting a video: Using the KDEnlive or Shotcut open source video editors or by manually writing frame numbers to obtained from a video player like mpv the in- and outframe files.
General preconditions:
cifs-utils
(or similar) to mount the SMB share
Note: The following commands will use storage.lan.c3voc.de as a placeholder for the machine with the FUSE mounts. Small events may use encoderX.lan.c3voc.de or minionX.lan.c3voc.de as storage share.
First of all, you need to mount the storage device's SMB file share to access the files:
mkdir -p /video mount -t cifs -o uid=$USER,password=,ro "//storage.lan.c3voc.de/video" /video mount -t cifs -o uid=$USER,password=,rw "//storage.lan.c3voc.de/tmp" /video/tmp mount -t cifs -o uid=$USER,password=,rw "//storage.lan.c3voc.de/fuse" /video/fuse
If you can see files in fuse/<EVENT>/<ROOM>/<Talk-ID>
, you're ready to go.
To cut a lecture:
/video/fuse/<EVENT>/<ROOM>/<Talk-ID>/
in some file exploreruncut.ts
with VLC:
Open the project.kdenlive
project file to start cutting:
If you have a poor connection to the storage, deactivate the video and audio thumbnails using the buttons on the right side of the lower window border.
Open the project_shotcut.mlt
project file to start cutting:
<space>
for play/pause)i
o
More shortcuts:
i
: Set start/ in-pointo
: Set end/ out-point<space>
: play/ pause<page-up> <page-down>
: Jump +/- 1 second (combine <Ctrl> or <ALT> to jump 2 or 5 seconds)<ALT>+<arrow-left>
: Jump to start<ALT>+<arrow-right>
: Jump to end<arrow-left> <arrow-right>
: Jump 1 frame back/ forwardsj / l
: Fast back/ forwards (gets faster, if pressed multiple times)Possible issues at installation:
apt-get install libQt5Gui
If you like the command line, you can also configure mpv to show frame numbers by adding these settings in ~/.config/mpv/mpv.conf
:
osd-level=3 osd-status-msg=${playback-time/full} / ${duration} (${percent-pos}%)\nframe: ${estimated-frame-number} / ${estimated-frame-count}
Open the uncut.ts
in mpv to start cutting:
inframe
file using echo <FRAME> > /video/fuse/<EVENT>/<ROOM>/<Talk-ID>/inframe
outframe
fileUsing “echo” works best since some text editors like to create temporary lock files which isn't allowed on the FUSE file system.
Additional keyboard shortcuts: See https://mpv.io/manual/master/#keyboard-control
uncut.ts
has broken timestamps because the recording was stopped to early or started to late. See defekte_timestamps.uncut.ts
has broken timestamps because the recording was stopped to early or started to late. See defekte_timestamps.voc
user with smbpasswd -a voc
to that one can be used instead of the guest user
The uncut.ts
can get quite large as we're still recording using the MPEG2 codec. If you need to cut via the VPN, it may be useful to generate smaller low-resolution “proxy” files and cut based on that:
/video/fuse/…/uncut.ts
: webcut_lores_mp4cat meinfile.mlt > /video/fuse/…/project_shotcut.mlt
(or similar for KDEnlive)