ayon-core/openpype/plugins/publish/validate_ffmpeg_installed.py
2021-04-01 18:54:46 +02:00

34 lines
1,007 B
Python

import pyblish.api
import os
import subprocess
import openpype.lib
try:
import os.errno as errno
except ImportError:
import errno
class ValidateFFmpegInstalled(pyblish.api.ContextPlugin):
"""Validate availability of ffmpeg tool in PATH"""
order = pyblish.api.ValidatorOrder
label = 'Validate ffmpeg installation'
optional = True
def is_tool(self, name):
try:
devnull = open(os.devnull, "w")
subprocess.Popen(
[name], stdout=devnull, stderr=devnull
).communicate()
except OSError as e:
if e.errno == errno.ENOENT:
return False
return True
def process(self, context):
ffmpeg_path = openpype.lib.get_ffmpeg_tool_path("ffmpeg")
self.log.info("ffmpeg path: `{}`".format(ffmpeg_path))
if self.is_tool("{}".format(ffmpeg_path)) is False:
self.log.error("ffmpeg not found in PATH")
raise RuntimeError('ffmpeg not installed.')