I have several 100 videos that I need to remove the first 20 seconds and the last 30 seconds of.
Obviously not practical to do this one at a time. Can I automate this somehow, maybe in an OS X Automator script?
Assuming you run *nix and Bash, download an ffmpeg static build for your operating system. Then, take the
Now you can run this shell script in Bash — should be enough to copy-paste it in the folder where the videos are.
Note: Remove the
What the script will do is calculate the total running time of the input, subtract the start time and the time you want to remove from the end, and then tell ffmpeg to do a stream-copy from your specified start time to the newly calculated end time. This will not harm the video and audio quality in any way. It should run within less then a few seconds even for large files.
If you're comfortable with command line, I would recommend FFmpeg
Another option is a small shell script which loops through your files and runs a single-file FFmpeg job for each of them. Then again, I never used a Mac shell :)
Hope this helps a little bit.