This is a portable / multi-platform application that helps you trim videos. Say you have 4 cameras shooting a scene simultaneously, video loom can cut these videos by timestamps and combine them into the dynamic final product, try it out!
Before start using the software, be sure to have following softwares installed on your local machine.
windows -
chocolatey
andffmpeg
- for NVidia graphics cards users, the minimum required Nvidia driver for nvenc is 522.25 or newer
- python v3.9+
mac -
ffmpeg
-
Open
powershell
on windows w/ administration access -
In
powershell
, typeSet-ExecutionPolicy AllSigned
then click enter -
Execute this command
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- open
powershell
on windows w/ administration access - In
powershell
, typechoco install ffmpeg-full
, then click enter - wait till the installation process is complete
- (optional) to verify
ffmpeg
is installed, reopen anotherpowershell
terminal and typeffmpeg
and click enter. You should not see any error messages.
- in terminal. run
brew install ffmpeg
-
download the .exe (windows) or .app (macOS) file here
-
open the application
-
click on "Import files" button and start importing videos (up to 4)
-
click on "Play all videos" and "Pause all videos" to play all video files simutaneously
- use skip -5 / +5 buttons to skip backward and forward
- (optional) if you want to play video with audio. Choose an audio track, then click on "generate preview" button under "Audio settings"
-
In the text box, type in the segments of the videos you want to trim
- e.g. If you'd like to use 0:00:00 - 0:10:00 from video 1, and 0:10:00 - 0:15:05 from video 2. Then the text would look like (as shown below):
1,0:00:00,0:10:00 2,0:10:00,0:15:05
-
select the audio you would like to use for the final video
-
then click "generate video" to start generating the final output. The output file will be in
.mp4
format and named after the current timestamp
-
In order to allow rendering in WSL2. We need to ensure Xming is installed.
-
Before starting development, launch application "XLaunch"
-
Follow below steps, for
Additional parameters for VcXsrv
, type-ac
-
After above steps, click
Finish
and launch Xming -
Once Xming is launched, we'll need to configure the
$DISPLAY
variable to point to the local machine's IP. To do that, open a terminal and follow below steps:
$cat /etc/resolv.conf
# this is what you will see
# # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# # [network]
# # generateResolvConf = false
# nameserver 172.27.176.1
$export DISPLAY=172.27.176.1:0 # ensure :0 appended in the end
-
(optional) If you are running application using
code-runner
inVSCode
. You can configure"code-runner.runInTerminal": true
insettings.json
. As well as settingpython
command aspython3 -m
. See below(If you are seeing errors related to
$DISPLAY
, make sure to runexport DISPLAY=172.27.176.1:0
in your VSCode terminal) -
Now you can run
python3 <app_name>.py
to execute programs.
# ensure python3.10+ is installed
# install pip dependencies
$pip3 install -r requirements.txt
# running tests
$pytest -vvs
# Generate executables
# note: executables will automatically be determined by the OS. e.g. '.exe' for Windows and '.app' for MacOS
$cd src
$./bundle.sh <app.win32.spec | app.macos.spec> <v_[major][minor][patch]>
# e.g. ./bundle.sh app.win32.spec v1.9.13
change logs can be found here