Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import ffmpeg
- import sys
- from more_itertools import chunked
- ins = sys.argv[1:-1]
- out = sys.argv[-1]
- # pure grid
- #subs = [ffmpeg.input(f).video.filter('subtitles', filename=f).filter('scale',384,216) for f in ins]
- #hstacks = [ffmpeg.filter(chunk, 'hstack', inputs=5) for chunk in chunked(subs, 5)]
- #vstack = ffmpeg.filter(hstacks, 'vstack', inputs=len(hstacks))
- #audio = ffmpeg.filter([ffmpeg.input(f).audio for f in ins], 'amix', inputs=len(ins))
- columns = 3
- horiz = 1920 / columns
- vert = 1080 / columns
- subs = [ffmpeg.input(f).video.filter('subtitles', filename=f).filter('scale',horiz,vert) for f in ins]
- hstacks = [ffmpeg.filter(chunk, 'hstack', inputs=columns) for chunk in chunked(subs, columns)]
- vstack = ffmpeg.filter(hstacks, 'vstack', inputs=len(hstacks))
- audio = [ffmpeg.input(f).audio for f in ins]
- opts = {
- 'c:v': 'libx264',
- 'preset': 'veryfast',
- 'tune': 'animation',
- 'movflags': 'faststart',
- 'crf': '28',
- 'c:a': 'aac',
- 'b:a': '160k',
- 'ac': '1',
- #'t': '60'
- }
- ffmpeg.output(vstack, *audio, out, **opts).run()
Advertisement
Add Comment
Please, Sign In to add comment