From f6639c87ed008356496a8fdbc0c6ae54c87ff617 Mon Sep 17 00:00:00 2001 From: David Tippett <17506770+dtaivpp@users.noreply.github.com> Date: Wed, 7 Oct 2020 09:29:41 -0400 Subject: [PATCH 1/4] created requirements, and ignoring a tmp folder --- .gitignore | 3 +++ requirements.txt | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 894a44c..729e9c7 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,6 @@ venv.bak/ # mypy .mypy_cache/ + +# Ignore output files +fvid_frames/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7aa7962 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +numpy +bitstring +pillow +ffmpeg-python +python-magic +tqdm \ No newline at end of file From ee078031e0d9b0258cad3f3c06eb03baab7ec9bf Mon Sep 17 00:00:00 2001 From: David Tippett <17506770+dtaivpp@users.noreply.github.com> Date: Wed, 7 Oct 2020 10:19:45 -0400 Subject: [PATCH 2/4] Fixed #8 Output file naming not working correctly --- fvid.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/fvid.py b/fvid.py index 9a68f12..65d11e6 100644 --- a/fvid.py +++ b/fvid.py @@ -115,8 +115,15 @@ def save_bits_to_file(filepath, bits): mime = Magic(mime=True) mime_type = mime.from_buffer(bitstring.tobytes()) + # If filepath not passed in use defualt + # otherwise used passed in filepath + if file_path == None: + filepath = f"file{mimetypes.guess_extension(type=mime_type)}" + else: + filepath = file_path + with open( - f"{filepath}/file{mimetypes.guess_extension(type=mime_type)}", "wb" + filepath, "wb" ) as f: bitstring.tofile(f) @@ -158,12 +165,18 @@ def make_image_sequence(bitstring, resolution=(1920, 1080)): def make_video(output_filepath, image_sequence): + if output_filepath == None: + outputfile = "file.mp4" + else: + outputfile = output_filepath + + frames = glob.glob(f"{FRAMES_DIR}encoded_frames*.png") # for one frame if len(frames) == 1: ffmpeg.input(frames[0], loop=1, t=1).output( - output_filepath, vcodec="libx264rgb" + outputfile, vcodec="libx264rgb" ).run(quiet=True) else: @@ -171,7 +184,7 @@ def make_video(output_filepath, image_sequence): f"{FRAMES_DIR}encoded_frames*.png", pattern_type="glob", framerate="1/5", - ).output(output_filepath, vcodec="libx264rgb").run(quiet=True) + ).output(outputfile, vcodec="libx264rgb").run(quiet=True) def cleanup(): @@ -208,14 +221,12 @@ if __name__ == "__main__": if args.decode: bits = get_bits_from_video(args.input) - file_path = "" + file_path = None if args.output: file_path = args.output - else: - file_path = "./" - save_bits_to_file("./", bits) + save_bits_to_file(file_path, bits) elif args.encode: # get bits from file @@ -230,12 +241,10 @@ if __name__ == "__main__": f"{FRAMES_DIR}encoded_frames_{index}.png" ) - video_file_path = "" + video_file_path = None if args.output: video_file_path = args.output - else: - video_file_path = "./file.mp4" make_video(video_file_path, image_sequence) From 312bff2836a483836d0f4f874552dd4482d252a6 Mon Sep 17 00:00:00 2001 From: David Tippett <17506770+dtaivpp@users.noreply.github.com> Date: Wed, 7 Oct 2020 11:25:10 -0400 Subject: [PATCH 3/4] Delete requirements.txt --- requirements.txt | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 7aa7962..0000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -numpy -bitstring -pillow -ffmpeg-python -python-magic -tqdm \ No newline at end of file From b8c751186a64f727867e62cc963c61d896a2db36 Mon Sep 17 00:00:00 2001 From: David Tippett <17506770+dtaivpp@users.noreply.github.com> Date: Wed, 7 Oct 2020 19:47:50 -0400 Subject: [PATCH 4/4] Updated function definition for save bits to file --- fvid/fvid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fvid/fvid.py b/fvid/fvid.py index 93d0f1a..0748ddb 100644 --- a/fvid/fvid.py +++ b/fvid/fvid.py @@ -107,7 +107,7 @@ def get_bits_from_video(video_filepath): return bits -def save_bits_to_file(filepath, bits): +def save_bits_to_file(file_path, bits): # get file extension bitstring = Bits(bin=bits)