If you only want to get a few seconds from a lengthy video clip - VLC can do the trick. I see no reason in keeping a video clip on my computer when I only need a short portion of it. I was using VLC to extract only the incident of interest instead of opening my slow editor, but I found a much better way.
. All i need is the ability to crop, combine videos and add text.
FFmpeg, which is a command line tool and not an a graphical editor, can do one out of three of what your are asking for and its result time is very fast. You can combine several one minute clips together and get a result seconds later. However it can also extract video from specified time frame and also do so in a matter of seconds.
Extracting a time frame
ffmpeg -i InputName -ss HH:MM:SS.mm -to HH:MM:SS.mmm -c copy -copyts outputName
Where
- InputName is the source file
- Outputname is the output file
- -ss the startTime
- -to the end time
- HH – 2 digit hour (1 hour is 01)
- MM – 2 digit Minutes(0 to 59)
- SS – 2 digit seconds (0 to 59)
- mm (lower case) – 3 digit microseconds
- c copy -copyts is used to improve the performance of the command.
Code:
ffmpeg -i 2017_0711_064055_128.MP4 -ss 00:00:46.00 -to 00:00:54.00 -c copy -copyts 2017_0711_064055_128_cutsInMylaneduringTurn.MP4
If I have several files that I want to trim out down only to the video I need, I would redirect
Code:
(for %i in (*.MP4) do @echo ffmpeg –i %i –ss 00:00:00.0 –to 00:00:00.0 –c copy –copyts output\%i) > timecut.bat
You may need to substitute MP4 for avi.
An edited version of timecut.bat would look something like this.
Code:
ffmpeg -i 2017_0711_160417_164.MP4 -ss 00:00:19.00 -to 00:00:34.00 -c copy -copyts output\2017_0711_160417_164_crossFromLeft2exitat401.MP4
ffmpeg -i 2017_0711_160517_165.MP4 -ss 00:00:38.00 -to 00:00:58.50 -c copy -copyts output\2017_0711_160517_165_shoulderDriverGainsNothing.MP4
ffmpeg -i 2017_0711_160816_168.MP4 -ss 00:00:00.00 -to 00:00:21.00 -c copy -copyts output\2017_0711_160816_168_crossFromLeft2lanesBrakesExit.MP4
ffmpeg -i 2017_0711_160917_169.MP4 -ss 00:00:02.00 -to 00:00:10.00 -c copy -copyts output\2017_0711_160917_169_exit.MP4
ffmpeg -i 2017_0711_161816_178.MP4 -ss 00:00:22.00 -to 00:00:47.00 -c copy -copyts output\2017_0711_161816_178_lastMinuteEntry401.MP4
ffmpeg -i 2017_0711_165033_211.MP4 -ss 00:00:35.00 -to 00:00:40.00 -c copy -copyts output\2017_0711_165033_211_mc_laneSplit.MP4
ffmpeg -i 2017_0712_061018_288.MP4 -ss 00:00:23.00 -to 00:00:42.00 -c copy -copyts output\2017_0712_061018_288_recklessPass.MP4
I extracted video from 47 video files to produce
In addition to 47 videos, it consumed 8.29 gb of hard drive space. I was able to produce files with clips I wanted in 58 seconds and consumed 1.54 gb of hard drive space. However that was on my Linux box. Linux and Mac has ffmpeg. I find my Linux box can produce results faster than my Windows Laptop. However, I still find most ffmpeg command can produce a result on my Windows box in a short period of time.
Combining videos
In a folder with containing the video you want to join together
Code:
(for %f in (*.MP4) do @echo file ‘%f’) > input.txt
The above will take all MP4 in the folder make a file called input.txt and put the word file and a single quote. In your cases, as your files are AVI,
Code:
(for %f in (*.avi) do @echo file ‘%f’) > input.txt
That will produce something like this
Code:
file '2017_0605_154644_761-RunsREdfromGasStation.MP4'
file '2017_0607_160234_072-ShoulderDRiver.MP4'
file '2017_0608_063335_204-DistractedDriversInWhiteVan.MP4'
Above is an actual example from my A119. Edit input.txt and run the following commands depending on whether you want MP4 or AVI
Code:
ffmpeg -f concat -i input.txt -c copy output.mp4
ffmpeg -f concat -i input.txt -c copy output.avi