|
13 | 13 | """ |
14 | 14 |
|
15 | 15 | TODO: |
16 | | -- convert all string paths into os.path objects |
17 | 16 | - allow comma-separated string for --preset, e.g. medium,slow,slower, map to list |
18 | | -- add compression ratio / space saved to log + screen output |
19 | 17 | - ~~if presets.json does not exist, download from github~~ |
20 | 18 |
|
21 | 19 | """ |
@@ -125,11 +123,11 @@ def signal_handler(self, sig, frame): |
125 | 123 | """ |
126 | 124 | self.cleanup() |
127 | 125 |
|
128 | | - def log(self, elapsed_time, fps): |
| 126 | + def log(self, elapsed_time, fps, compression_ratio): |
129 | 127 | """ Summarizes transcode session for screen and log |
130 | 128 | """ |
131 | 129 | with open(self.path["log"], "w") as logfile: |
132 | | - summary = str(elapsed_time) + "\n" + str(fps) + " fps" |
| 130 | + summary = "{elapsed_time}\n{fps} fps\n{compression_ratio}% reduction".format(elapsed_time=elapsed_time, fps=fps, compression_ratio=compression_ratio) |
133 | 131 | logfile.write(summary + "\n\n" + session.args + "\n\n") |
134 | 132 | pprint(vars(self), logfile) |
135 | 133 | print(summary) |
@@ -213,8 +211,11 @@ def cleanup(self): |
213 | 211 | session_end_time = datetime.now() |
214 | 212 | session_elapsed_time = session_end_time - session_start_time |
215 | 213 | fps = session.source["frames"] / session_elapsed_time.seconds |
| 214 | + source_file_size = session.source["filesize"] / 1000000 |
| 215 | + output_file_size = os.path.getsize(session.path["output"] / 1000000 |
| 216 | + compression_ratio = int(100 - (output_file_size / source_file_size * 100)) |
216 | 217 | print("\n{date}: Finished {output_file}".format(date=str(session_end_time), output_file=session.path["output"])) |
217 | | - session.log(session_elapsed_time, fps) |
| 218 | + session.log(session_elapsed_time, fps, compression_ratio) |
218 | 219 | print("\n\n\n\n\n") |
219 | 220 | if args.delete: |
220 | 221 | session.cleanup() |
|
0 commit comments