summaryrefslogtreecommitdiff
path: root/tasks/nat_vlc/video.py
blob: b192787eb6cae084ecceb063b04c8ec281186451 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# SPDX-License-Identifier: AGPL-3.0-or-later

import string, random, os
#You need to find PIL library on the internet. Just GOOGLE it!!! Other imports are standard.
from PIL import Image, ImageDraw, ImageFont

#Method for generating random string
def randomString():
	return ''.join(random.choice(string.lowercase) for i in range(30))


image = Image.new("RGBA", (600,150), (255,255,255))
draw = ImageDraw.Draw(image)

#Font option is optional. If you don't want to use it figure out how to increase font size, because default is veeeeery small.

font = ImageFont.truetype("georgia.ttf", 36)
txt = randomString()

draw.text((20,50), txt, (20,100,0), font)
img_resized = image.resize((600,80), Image.ANTIALIAS)
img_resized.save("out.png")

#Creates .mp4 video from image out.png. Video is 1 second long.
bashCommand = "avconv -r 1/5 -i out.png -b:v 1000k video.mp4"
os.system(bashCommand)

# Converts .mp4 video to .avi format. Still 1 second long. ( 2x )
bashCommand = "avconv -i video.mp4 -c:a copy video.avi"
os.system(bashCommand)

bashCommand = "avconv -i video.mp4 -c:a copy video1.avi"
os.system(bashCommand)

# This loop will increas videos length by adding more picesec of the original video.
last = int(input("Set video length in seconds: "))
bashCommand = "avconv -i concat:video.avi\|video1.avi -c copy video.avi"
for i in range(0, last-2):
	os.system(bashCommand)