From 90f22f9d052c11e2e09585b9703bd121b6e17ae7 Mon Sep 17 00:00:00 2001 From: Akash Bora <89206401+Akascape@users.noreply.github.com> Date: Thu, 10 Oct 2024 13:40:49 +0530 Subject: [PATCH] new classic mode added --- .../DatamoshLib/Original/classic_new.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Python Version/DatamoshLib/Original/classic_new.py diff --git a/Python Version/DatamoshLib/Original/classic_new.py b/Python Version/DatamoshLib/Original/classic_new.py new file mode 100644 index 0000000..34a19b4 --- /dev/null +++ b/Python Version/DatamoshLib/Original/classic_new.py @@ -0,0 +1,28 @@ +#Author: Akash Bora +def Datamosh(filename,outfile,s,e,fps): + def mosh_iframe_removal(): + for index, frame in enumerate(frames): + if index < start_frame or end_frame < index or frame[5:8] != iframe: + out_file.write(frame_start + frame) + + start_frame = s + end_frame = e + if end_frame==1: + end_frame=1000 + input_avi = filename + in_file = open(input_avi, 'rb') + output_avi= outfile + in_file_bytes = in_file.read() + out_file = open(output_avi, 'wb') + frame_start = bytes.fromhex('30306463') + frames = in_file_bytes.split(frame_start) + out_file.write(frames[0]) + frames = frames[1:] + iframe = bytes.fromhex('0001B0') + pframe = bytes.fromhex('0001B6') + n_video_frames = len([frame for frame in frames if frame[5:8] == iframe or frame[5:8] == pframe]) + if end_frame < 0: + end_frame = n_video_frames + mosh_iframe_removal() + in_file.close() + out_file.close()