Advertisement
Guest User

Untitled

a guest
Mar 8th, 2014
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.54 KB | None | 0 0
  1. #!/bin/sh
  2. infile='001.MOV'
  3. workingdir='/tmp/ram'
  4. mkdir $workingdir/scores
  5. minutein0='0'
  6. secondin0='7'
  7. ms0=008333
  8. intime0=$minutein0':'$secondin0'.'$ms0
  9. logo0='/tmp/ram/scores/p1.00.png'
  10. logo1='/tmp/ram/scores/p1.01.png'
  11. cp scores/p1.00.png $workingdir/scores/
  12. cp scores/p1.01.png $workingdir/scores/
  13. minutein1='0'
  14. secondin1='3'
  15. ms1=003333
  16. intime1=$minutein1':'$secondin1'.'$ms1
  17. logo2='/tmp/ram/scores/p1.02.png'
  18. cp scores/p1.02.png $workingdir/scores/
  19. minutein2='0'
  20. secondin2='12'
  21. ms2=013333
  22. intime2=$minutein2':'$secondin2'.'$ms2
  23. logo3='/tmp/ram/scores/p1.12.png'
  24. cp scores/p1.12.png $workingdir/scores/
  25. minutein3='6'
  26. secondin3='55'
  27. ms3=030000
  28. intime3=$minutein3':'$secondin3'.'$ms3
  29. logo4='/tmp/ram/scores/p1.13.png'
  30. cp scores/p1.13.png $workingdir/scores/
  31. cp input/$infile $workingdir/
  32. #Split Files
  33. ffmpeg -y -i /tmp/ram/$infile -t $intime0 -c copy $workingdir/smallfile0b.mp4 -ss $intime0 -c copy $workingdir/smallfile0e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  34. ffmpeg -y -i $workingdir/smallfile0e.mp4 -t $intime1 -c copy $workingdir/smallfile1b.mp4 -ss $intime1 -c copy $workingdir/smallfile1e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  35. ffmpeg -y -i $workingdir/smallfile1e.mp4 -t $intime2 -c copy $workingdir/smallfile2b.mp4 -ss $intime2 -c copy $workingdir/smallfile2e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  36. ffmpeg -y -i $workingdir/smallfile2e.mp4 -t $intime3 -c copy $workingdir/smallfile3b.mp4 -ss $intime3 -c copy $workingdir/smallfile3e.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  37. #Limpar RAM (ficheiro original)
  38. rm /tmp/ram/$infile
  39. #Coloca overlay nos vídeos repartidos
  40. ffmpeg -y -i $workingdir/smallfile0b.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo0" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid0.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  41. ffmpeg -y -i $workingdir/smallfile1b.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo1" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid1.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  42. ffmpeg -y -i $workingdir/smallfile2b.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo2" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid2.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  43. ffmpeg -y -i $workingdir/smallfile3b.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo3" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid3.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  44. ffmpeg -y -i $workingdir/smallfile3e.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "movie="$logo4" [watermark]; [in][watermark] overlay=0:0 [out]" $workingdir/overlaid4.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  45. #Limpar RAM (smallfiles)
  46. rm $workingdir/smallfile*
  47. #Aplica fade out final
  48. iss=$(mediainfo $workingdir/overlaid4.mp4 | grep -m 1 Duration | awk '{print $3}' | grep 's')
  49. if [ $iss > 0 ]
  50. then
  51. s=$(mediainfo /tmp/ram/overlaid4.mp4 | grep -m 1 Duration | awk '{print substr( $3, 0, 3 )}' | tr -d 's')
  52. f=`expr $s \* 30`
  53. frames=`expr $f - 100`
  54. else
  55. mn=$(mediainfo /tmp/ram/overlaid4.mp4 | grep -m 1 Duration | awk '{print substr( $3, 0, 3 )}' | tr -d 'mn')
  56. s=$(mediainfo /tmp/ram/overlaid4.mp4 | grep -m 1 Duration | awk '{print substr( $4, 0, 3 )}' | tr -d 's')
  57. mtosec=`expr $mn \* 60`
  58. sum=`expr $s + $mtosec`
  59. f=`expr $sum \* 30`
  60. frames=`expr $f - 100`
  61. fi
  62. ffmpeg -y -i $workingdir/overlaid4.mp4 -acodec copy -vcodec libx264 -crf 20 -vf "fade=out:"$frames":90" $workingdir/outfade.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  63. mv $workingdir/outfade.mp4 $workingdir/overlaid4.mp4
  64. #Limpar RAM (clear config)
  65. rm $workingdir/config
  66. #Agrega os fragmentos num vídeo só
  67. echo "file '/tmp/ram/overlaid0.mp4'" >> /tmp/ram/config
  68. echo "file '/tmp/ram/overlaid1.mp4'" >> /tmp/ram/config
  69. echo "file '/tmp/ram/overlaid2.mp4'" >> /tmp/ram/config
  70. echo "file '/tmp/ram/overlaid3.mp4'" >> /tmp/ram/config
  71. echo "file '/tmp/ram/overlaid4.mp4'" >> /tmp/ram/config
  72. ffmpeg -y -f concat -i /tmp/ram/config -c copy /tmp/ram/out.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  73. #Aplica imagem inicial
  74. cp scores/parte*png /tmp/ram/scores/
  75. ffmpeg -y -i $workingdir/out.mp4 -r 29.97 -loop 1 -i $workingdir/scores/parte1.png -vcodec libx264 -crf 20 -filter_complex "[1:v] fade=out:st=3:d=1:alpha=1 [ov]; [0:v][ov] overlay=0:0 [v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy -shortest $workingdir/lo.mp4 </dev/null >/dev/null 2>/var/log/ffmpeg.log
  76. mv /tmp/ram/lo.mp4 /tmp/ram/out.mp4
  77. mv $workingdir/out.mp4 results/001.MOV.mp4
  78. rm $workingdir/*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement