Guest User

Untitled

a guest
Oct 13th, 2020
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import ffmpeg
  3. import sys
  4. from more_itertools import chunked
  5.  
  6. ins = sys.argv[1:-1]
  7. out = sys.argv[-1]
  8.  
  9. # pure grid
  10. #subs = [ffmpeg.input(f).video.filter('subtitles', filename=f).filter('scale',384,216) for f in ins]
  11. #hstacks = [ffmpeg.filter(chunk, 'hstack', inputs=5) for chunk in chunked(subs, 5)]
  12. #vstack = ffmpeg.filter(hstacks, 'vstack', inputs=len(hstacks))
  13. #audio = ffmpeg.filter([ffmpeg.input(f).audio for f in ins], 'amix', inputs=len(ins))
  14.  
  15. columns = 3
  16. horiz = 1920 / columns
  17. vert = 1080 / columns
  18. subs = [ffmpeg.input(f).video.filter('subtitles', filename=f).filter('scale',horiz,vert) for f in ins]
  19. hstacks = [ffmpeg.filter(chunk, 'hstack', inputs=columns) for chunk in chunked(subs, columns)]
  20. vstack = ffmpeg.filter(hstacks, 'vstack', inputs=len(hstacks))
  21. audio = [ffmpeg.input(f).audio for f in ins]
  22.  
  23. opts = {
  24.         'c:v': 'libx264',
  25.         'preset': 'veryfast',
  26.         'tune': 'animation',
  27.         'movflags': 'faststart',
  28.         'crf': '28',
  29.         'c:a': 'aac',
  30.         'b:a': '160k',
  31.         'ac': '1',
  32.         #'t': '60'
  33.         }
  34. ffmpeg.output(vstack, *audio, out, **opts).run()
  35.  
Advertisement
Add Comment
Please, Sign In to add comment