mirror of https://github.com/AlfredoSequeida/fvid
Merge pull request #10 from dtaivpp/master
fixed output file naming issue
This commit is contained in:
commit
ae1e53a899
|
@ -102,3 +102,6 @@ venv.bak/
|
|||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
|
||||
# Ignore output files
|
||||
fvid_frames/
|
||||
|
|
31
fvid/fvid.py
31
fvid/fvid.py
|
@ -108,7 +108,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)
|
||||
|
@ -116,8 +116,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)
|
||||
|
||||
|
@ -159,12 +166,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:
|
||||
|
@ -172,7 +185,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 @@ def 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 @@ def 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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue