summaryrefslogtreecommitdiff
path: root/dot/local/bin/twmp4
blob: 9b80425984a4b07e3d9645b587f81ee583062330 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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"