1 Commits

Author SHA1 Message Date
90a43e2491 codecVis: support DejaVu font on macOS 2023-02-24 16:18:13 +01:00

View File

@ -7,9 +7,11 @@
""" """
import os import os
import platform
import sys import sys
import time import time
import subprocess import subprocess
import shlex
import shutil import shutil
import glob import glob
import PIL import PIL
@ -49,12 +51,17 @@ def get_codec(filename):
return str(result.stdout.decode("utf-8")).rstrip("\n") return str(result.stdout.decode("utf-8")).rstrip("\n")
def extract_frame(video_file, time_offset, output_file): def extract_frame(video_file, time_offset, output_file):
cmd = ["ffmpeg", "-y", "-ss", time.strftime('%H:%M:%S', time.gmtime(time_offset)) + ".00", cmd = "ffmpeg -y -ss " + time.strftime('%H:%M:%S', time.gmtime(time_offset)) + ".00 -i " + str(video_file) + " -frames:v 1 " + str(output_file)
"-i", str(video_file), "-frames:v", "1", str(output_file)]
devnull = open(os.devnull, 'w') devnull = open(os.devnull, 'w')
subprocess.call(cmd, stdout=devnull, stderr=devnull) subprocess.call(shlex.split(cmd),stdout=devnull, stderr=devnull)
def get_font_path(): def get_font_path():
if platform.system() == "Darwin":
# Assume DejaVu to be installed in the user library
path = "~/Library/Fonts/DejaVuSans-Bold.ttf"
return os.path.expanduser(path)
# Default platform: Linux
path = "/usr/share/fonts" path = "/usr/share/fonts"
files = glob.glob(path + "/**/DejaVuSans-Bold.ttf", recursive = True) files = glob.glob(path + "/**/DejaVuSans-Bold.ttf", recursive = True)
return files[0] return files[0]