Guest User

Untitled

a guest
Jun 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. inFile=""
  4. I='false'
  5. outFile="film.mkv"
  6. idA=1
  7. A='false'
  8. idS=2
  9. S='false'
  10. quiet='false'
  11. cmd=""
  12.  
  13. while getopts 'hi:a:s:o:q' flag; do
  14. case "${flag}" in
  15. h) echo "permet de transcoder un fichier mkv dts to ac3"
  16. echo "et de supprimer les accents des sous-titres"
  17. echo "options:"
  18. echo "-h montre l\'aide"
  19. echo "-a <id> transcode le flux id en ac3"
  20. echo "-s <id> supprime les accents du flux de sous-titre id"
  21. echo "-o <file> nom de sortie"
  22. echo "-q be quiet"
  23. exit 0
  24. ;;
  25. i) I='true'
  26. inFile="${OPTARG}"
  27. ;;
  28. a) idA="${OPTARG}"
  29. A='true'
  30. ;;
  31. s) idS="${OPTARG}"
  32. S='true'
  33. ;;
  34. o) outFile="${OPTARG}";;
  35. q) quiet='true';;
  36. esac
  37. done
  38.  
  39. sedsub () {
  40. cat $1 | sed 'y/áàâäçéèêëîïìôöóûùúüñÂÀÄÇÉÈÊËÎÏÔÖÙÜÑ/aaaaceeeeiiiooouuuunAAACEEEEIIOOUUN/'
  41. }
  42.  
  43. if [ $I = 'false' ]; then
  44. echo "besoin d'un fichier en entrée"
  45. exit 1
  46. fi
  47.  
  48. if [ $A = 'false' ] && [ $S = 'false' ]; then
  49. echo "rien à faire"
  50. exit 0
  51. fi
  52.  
  53. cmd="mkvextract tracks $inFile"
  54.  
  55. if [ $A = 'true' ]; then
  56. cmd="$cmd $idA:audio.dts"
  57. fi
  58. if [ $I = 'true' ]; then
  59. cmd="$cmd $idS:sub.srt"
  60. fi
  61. if [ $quiet = 'true' ]; then
  62. cmd="$cmd -r /dev/null"
  63. fi
  64.  
  65. $cmd
  66.  
  67. if [ $A = 'true' ]; then
  68. cmd="ffmpeg -i audio.dts -acodec ac3 -ac 6 -ar 48000 -ab 640k audio.ac3"
  69. if [ $quiet = 'true' ]; then
  70. cmd="$cmd -v quiet"
  71. fi
  72. $cmd
  73. fi
  74.  
  75. if [ $S = 'true' ]; then
  76. sedsub sub.srt > subtitle.srt
  77. fi
  78.  
  79. cmd="mkvmerge -o $outFile"
  80.  
  81. if [ $A = 'true' ]; then
  82. cmd="$cmd -A"
  83. fi
  84. if [ $I = 'true' ]; then
  85. cmd="$cmd -S"
  86. fi
  87.  
  88. cmd="$cmd $inFile"
  89.  
  90. if [ $A = 'true' ]; then
  91. cmd="$cmd audio.ac3"
  92. fi
  93. if [ $I = 'true' ]; then
  94. cmd="$cmd subtitle.srt"
  95. fi
  96. if [ $quiet = 'true' ]; then
  97. cmd="$cmd -q"
  98. fi
  99.  
  100. $cmd
  101.  
  102. rm -f audio.* sub*srt
Add Comment
Please, Sign In to add comment