From 3fe692e8fa3cabff85ba46c79439678a42259629 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 13 Apr 2021 10:44:59 +0200 Subject: [PATCH] set oiio and ffmpeg environments in the start --- start.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/start.py b/start.py index a892d3de8e..f963c3be7a 100644 --- a/start.py +++ b/start.py @@ -95,6 +95,7 @@ Attributes: import os import re import sys +import platform import traceback import subprocess import site @@ -144,6 +145,31 @@ def set_openpype_global_environments() -> None: if "QT_AUTO_SCREEN_SCALE_FACTOR" not in os.environ: os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1" + # --- Set environment variables to vendorized binaries(FFmpeg and OIIO) --- + # TODO add validations of existing binaries + # Prepare path to bin vendor directory + bin_vendor_dir = os.path.join( + os.path.dirname(os.path.abspath(__file__)), + "vendor", + "bin" + ) + # Prepare platform name + platform_name = platform.system().lower() + + # FFmpeg path + ffmpeg_path_parts = [bin_vendor_dir, "ffmpeg", platform_name] + # Windows version has executables in `bin` directory + if platform_name == "windows": + ffmpeg_path_parts.append("bin") + + ffmpeg_path = os.path.join(ffmpeg_path_parts) + + os.environ["OPENPYPE_FFMPEG_PATH"] = ffmpeg_path + + # OIIO path + oiio_path = os.path.join(bin_vendor_dir, "oiio", platform_name) + os.environ["OPENPYPE_OIIO_PATH"] = oiio_path + def run(arguments: list, env: dict = None) -> int: """Use correct executable to run stuff.