add_captions.sh 791 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/env bash
  2. if [ $# -lt 2 ]
  3. then
  4. echo "Need at least 2 arguments."
  5. echo "$0 InputVideo InputSRT [OutputFilename]"
  6. exit 1
  7. fi
  8. VIDEO=$1
  9. SRT=$2
  10. if [ -z "$3" ]
  11. then
  12. OUTFILE="out.flv"
  13. else
  14. OUTFILE="$3"
  15. fi
  16. echo "Video=$VIDEO"
  17. echo "Captions=$SRT"
  18. echo "Outfile=$OUTFILE"
  19. # ffmpeg -i $VIDEO -acodec copy -vcodec copy -f flv - | ./flv+srt - $SRT - | ffmpeg -i - -acodec copy -vcodec copy $OUTFILE
  20. ffmpeg -i $VIDEO -threads 0 -vcodec libx264 -profile:v main -preset:v medium \
  21. -r 30 -g 60 -keyint_min 60 -sc_threshold 0 -b:v 4000k -maxrate 4000k \
  22. -bufsize 4000k -filter:v scale="trunc(oh*a/2)*2:720" \
  23. -sws_flags lanczos+accurate_rnd -strict -2 -acodec aac -b:a 96k -ar 48000 -ac 2 \
  24. -f flv - | ./flv+srt - $SRT - | ffmpeg -i - -acodec copy -vcodec copy -y $OUTFILE