diff --git a/src/devedeng/avconv.py b/src/devedeng/avconv.py index 9b34c56..14183c2 100644 --- a/src/devedeng/avconv.py +++ b/src/devedeng/avconv.py @@ -180,25 +180,25 @@ class avconv(devedeng.avbase.avbase): if (file_project.prerotation == 90): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," cmd_line += "transpose=1" elif (file_project.prerotation == -90) or (file_project.prerotation == 270): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," cmd_line += "transpose=2" elif (file_project.prerotation == 180): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," vflip = not vflip hflip = not hflip if (file_project.rotation == "rotation_90"): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," cmd_line += "transpose=1" elif (file_project.rotation == "rotation_270"): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," cmd_line += "transpose=2" elif (file_project.rotation == "rotation_180"): vflip = not vflip @@ -211,16 +211,16 @@ class avconv(devedeng.avbase.avbase): if (vflip): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," cmd_line += "vflip" if (hflip): if (cmd_line != ""): - cmd_line += "," + cmd_line += ",fifo," 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 += ",fifo," x = int((file_project.width_midle - file_project.original_width) / 2) y = int((file_project.height_midle - @@ -234,7 +234,7 @@ class avconv(devedeng.avbase.avbase): 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 += ",fifo," if self.major_version < 11: cmd_line += "scale=" + \ str(file_project.width_final) + ":" + \ diff --git a/src/devedeng/ffmpeg.py b/src/devedeng/ffmpeg.py index 283c1b7..45ac3d5 100644 --- a/src/devedeng/ffmpeg.py +++ b/src/devedeng/ffmpeg.py @@ -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)