Skip to content

Instantly share code, notes, and snippets.

@karthik20522
Created July 28, 2015 22:01
Show Gist options
  • Save karthik20522/deb3d7938d62a6381c68 to your computer and use it in GitHub Desktop.
Save karthik20522/deb3d7938d62a6381c68 to your computer and use it in GitHub Desktop.
preview.sh
#!/bin/bash
FFMPEG=$1
INPUT_FILE=$2
OUTPUT_FILE=$3
STREAM_INDEX=$4
START_TIME=$5
DURATION=$6
if [[ -z $START_TIME || -z $DURATION ]]; then
$FFMPEG -nostdin -v info -threads 0 -y -i $INPUT_FILE -filter_complex "[0:$STREAM_INDEX]yadif=0:-1:0,scale=iw*sar:ih,split=2[target0][target1]; [target0]scale='trunc(360*dar/2)*2:360',unsharp=5:5:.7:5:5:.7 [target0a]; [target1]scale='if(lt(dar,1.7),if(lt(trunc(43/dar/2)*2,32),-1,43),if(lt(trunc(57/dar/2)*2,32),-1,57))':'if(lt(dar,1.7),if(lt(trunc(43/dar/2)*2,32),32,-1),if(lt(trunc(57/dar/2)*2,32),32,-1))',crop='if(lt(dar,1.7),43,57)':32,unsharp=3:3:.8:3:3:.8 [target1a]" -metadata comment="This video is subject to copyright." -metadata artist="" -metadata description="" -metadata copyright="" -metadata title="" -map "[target0a]" -map 0:a -map_metadata -1 -f mp4 -vcodec libx264 -pix_fmt yuvj420p -profile:v main -level 3.1 -preset veryslow -b:v 2048k -g 150 -c:a aac -strict experimental -b:a 128k -movflags faststart -refs 6 $OUTPUT_FILE -map "[target1a]" -ss 00:00:45.149 -vframes 1 -f image2 /tmp/ffmpeg_farm_preview.jpg
else
$FFMPEG -nostdin -v info -threads 0 -y -copyts -ss $START_TIME -t $DURATION -i $INPUT_FILE -filter_complex "[0:$STREAM_INDEX]yadif=0:-1:0,scale=iw*sar:ih,split=2[target0][target1]; [target0]scale='trunc(360*dar/2)*2:360',unsharp=5:5:.7:5:5:.7 [target0a]; [target1]scale='if(lt(dar,1.7),if(lt(trunc(43/dar/2)*2,32),-1,43),if(lt(trunc(57/dar/2)*2,32),-1,57))':'if(lt(dar,1.7),if(lt(trunc(43/dar/2)*2,32),32,-1),if(lt(trunc(57/dar/2)*2,32),32,-1))',crop='if(lt(dar,1.7),43,57)':32,unsharp=3:3:.8:3:3:.8 [target1a]" -metadata comment="This video is subject to copyright." -metadata artist="" -metadata description="" -metadata copyright="" -metadata title="" -map "[target0a]" -map 0:a -map_metadata -1 -f mp4 -vcodec libx264 -pix_fmt yuvj420p -profile:v main -level 3.1 -preset veryslow -b:v 2048k -g 150 -c:a aac -strict experimental -b:a 128k -movflags faststart -refs 6 -t $DURATION $OUTPUT_FILE -map "[target1a]" -ss 00:00:45.149 -vframes 1 -f image2 /tmp/ffmpeg_farm_preview.jpg
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment