Better check

This commit is contained in:
Sergio Costas 2024-08-13 23:23:27 +02:00
parent a959d120cc
commit 668be31105
2 changed files with 35 additions and 18 deletions

View file

@ -111,6 +111,23 @@ class ffmpeg(devedeng.executor.executor):
devedeng.executor.executor.__init__(self)
self.config = devedeng.configuration_data.configuration.get_config()
try:
version_number = 0
handle = subprocess.Popen(
["ffmpeg", "-version"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = handle.communicate()
if 0 == handle.wait():
for line in stdout.decode("latin-1").split("\n"):
line = line.strip()
if line.startswith("ffmpeg version "):
version_number = int(line[15:].split(".")[0])
except:
pass
print(version_number)
if version_number <= 6:
self._filter_sep = ",fifo,"
else:
self._filter_sep = ","
def convert_file(self, file_project, output_file, video_length, pass2=False):
@ -180,25 +197,25 @@ class ffmpeg(devedeng.executor.executor):
if (file_project.prerotation == 90):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "transpose=1"
elif (file_project.prerotation == -90) or (file_project.prerotation == 270):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "transpose=2"
elif (file_project.prerotation == 180):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
vflip = not vflip
hflip = not hflip
if (file_project.rotation == "rotation_90"):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "transpose=1"
elif (file_project.rotation == "rotation_270"):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "transpose=2"
elif (file_project.rotation == "rotation_180"):
vflip = not vflip
@ -211,16 +228,16 @@ class ffmpeg(devedeng.executor.executor):
if (vflip):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "vflip"
if (hflip):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "hflip"
if (file_project.width_midle != file_project.original_width) or (file_project.height_midle != file_project.original_height):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
x = int((file_project.width_midle - file_project.original_width) / 2)
y = int((file_project.height_midle - file_project.original_height) / 2)
if (x > 0) or (y > 0):
@ -230,7 +247,7 @@ class ffmpeg(devedeng.executor.executor):
if (file_project.width_final != file_project.width_midle) or (file_project.height_final != file_project.height_midle):
if (cmd_line != ""):
cmd_line += ","
cmd_line += self._filter_sep
cmd_line += "scale=" + \
str(file_project.width_final) + ":" + \
str(file_project.height_final)