#!/bin/sh INPUT=$1 set -ex [ -f "$INPUT" ] case "$INPUT" in *.mp4) OUTPUT=${INPUT%.mp4}.twitter.mp4 ;; *.*) OUTPUT=${INPUT%.*}.twitter.mp4 ;; *) OUTPUT=${INPUT}.twitter.mp4 ;; esac # source: https://gist.github.com/nikhan/26ddd9c4e99bbf209dd7 if [ ! -e "$OUTPUT" ] then ffmpeg -i "$INPUT" -vcodec libx264 \ -vf 'scale=640:trunc(ow/a/2)*2' \ -acodec aac \ -vb 1024k \ -minrate 1024k -maxrate 1024k \ -bufsize 1024k -ar 44100 \ -strict experimental \ -r 30 \ "$OUTPUT" fi # source: https://unix.stackexchange.com/questions/1670/how-can-i-use-ffmpeg-to-split-mpeg-video-into-10-minute-chunks/212518#212518 CHUNKS=${OUTPUT%.mp4}.%03d.mp4 ffmpeg -i "$OUTPUT" \ -c copy \ -map 0 \ -segment_time 2:15 -f segment -reset_timestamps 1 "$CHUNKS"