batch.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. # Unofficial Bash Strict Mode http://redsymbol.net/articles/unofficial-bash-strict-mode/
  3. set -euo pipefail
  4. IFS=$'\n\t'
  5. # Get current dir
  6. TOP_DIR=`pwd`
  7. # Change to export dir
  8. cd downloads
  9. for i in *.flv; do
  10. # Get file name without extension
  11. _filename=`basename "${i}" ".flv"`
  12. # Split .flv in .264/.aac files. Needs ffmpeg installed.
  13. echo "Spliting video of file ${_filename}.flv"
  14. ffmpeg -i "${_filename}.flv" -vcodec copy -vbsf h264_mp4toannexb "${_filename}.h264" -acodec copy "${_filename}.aac"
  15. # Merge .264/.aac/.ass files in .mkv. Needs mkvtoolnix installed.
  16. echo "Starting mkvmerge of file ${_filename}"
  17. if [ ! -f ${_filename}.ass ]; then
  18. mkvmerge -o "${_filename}.mkv" "${_filename}.h264" --aac-is-sbr 0 "${_filename}.aac"
  19. else
  20. mkvmerge -o "${_filename}.mkv" "${_filename}.ass" "${_filename}.h264" --aac-is-sbr 0 "${_filename}.aac"
  21. fi
  22. done
  23. # Delete all temporary files
  24. echo "Cleaning temporary files"
  25. find . -type f ! -iname '*.mkv' -delete
  26. # Go back to original dir
  27. cd "${TOP_DIR}"