2 samples with backgroundMusic and without it
This commit is contained in:
1 parent
5a103e76cd
commit
1abfc4b321
3 files changed
+37
-10
No files matched your search
@@ -34,7 +34,7 @@ resolution_h = { optional = false, default = 1920, example = 2560, explantation
|
||||
|
||||
[settings.background]
|
||||
background_video = { optional = true, default = "minecraft", example = "rocket-league", options = ["minecraft", "gta", "rocket-league", "motor-gta", "csgo-surf", "cluster-truck", "minecraft-2","multiversus","fall-guys","steep", ""], explanation = "Sets the background for the video based on game name" }
|
||||
background_audio = { optional = true, type = "bool", default = false, example = false, options = ["minecraft","lofi"], explanation = "Sets a audio to play in the background (put a background.mp3 file in the assets/backgrounds directory for it to be used.)" }
|
||||
background_audio = { optional = true, default = "lofi", example = "minecraft", options = ["minecraft","lofi","undertale"], explanation = "Sets a audio to play in the background (put a background.mp3 file in the assets/backgrounds directory for it to be used.)" }
|
||||
background_audio_volume = { optional = true, type = "float", default = 0.1, example = 0.05, explanation="Sets the volume of the background audio. Warning: if you set more than 1.0, the volume will be increased" }
|
||||
background_thumbnail = { optional = true, type = "bool", default = false, example = false, options = [true, false,], explanation = "Generate a thumbnail for the video (put a thumbnail.png file in the assets/backgrounds directory.)" }
|
||||
background_thumbnail_font_family = { optional = true, default = "arial", example = "arial", explanation = "Font family for the thumbnail text" }
|
||||
|
||||
@@ -98,16 +98,18 @@ def download_background_audio(background_config: Tuple[str, str, str]):
|
||||
)
|
||||
print_substep("Downloading the backgrounds audio... please be patient 🙏 ")
|
||||
print_substep(f"Downloading {filename} from {uri}")
|
||||
YouTube(uri, on_progress_callback=on_progress).streams.filter(only_audio=True).first().download("assets/backgrounds/audio", filename=f"{credit}-{filename}")
|
||||
YouTube(uri, on_progress_callback=on_progress).streams.filter(
|
||||
only_audio=True
|
||||
).first().download("assets/backgrounds/audio", filename=f"{credit}-{filename}")
|
||||
print_substep("Background audio downloaded successfully! 🎉", style="bold green")
|
||||
|
||||
def chop_background(
|
||||
background_config: Dict[str,Tuple[str, str, str, Any]], video_length: int, reddit_object: dict
|
||||
background_config: Dict[str,Tuple], video_length: int, reddit_object: dict
|
||||
):
|
||||
"""Generates the background footage to be used in the video and writes it to assets/temp/background.mp4
|
||||
"""Generates the background audio and footage to be used in the video and writes it to assets/temp/background.mp3 and assets/temp/background.mp4
|
||||
|
||||
Args:
|
||||
background_config (Tuple[str, str, str, Any]) : Current background configuration
|
||||
background_config (Dict[str,Tuple]]) : Current background configuration
|
||||
video_length (int): Length of the clip where the background footage is to be taken out of
|
||||
"""
|
||||
|
||||
@@ -119,10 +121,12 @@ def chop_background(
|
||||
background_audio = AudioFileClip(f"assets/backgrounds/audio/{audio_choice}")
|
||||
start_time_video, end_time_video = get_start_and_end_times(video_length, background_video.duration)
|
||||
start_time_audio, end_time_audio = get_start_and_end_times(video_length, background_audio.duration)
|
||||
background_audio = background_audio.fx(afx.volumex,0.07)
|
||||
# Create a audio clip
|
||||
background_audio_volume = settings.config["settings"]["background"][f"background_audio_volume"]
|
||||
background_audio = background_audio.fx(afx.volumex,background_audio_volume)
|
||||
background_audio = background_audio.subclip(start_time_audio,end_time_audio)
|
||||
background_audio.write_audiofile(f"assets/temp/{id}/background.mp3")
|
||||
background_video.set_audio(background_audio)
|
||||
#background_video.set_audio(background_audio)
|
||||
|
||||
|
||||
try:
|
||||
|
||||
@@ -108,7 +108,7 @@ def make_final_video(
|
||||
number_of_clips: int,
|
||||
length: int,
|
||||
reddit_obj: dict,
|
||||
background_config: Dict[str,Tuple[str, str, str, Any]],
|
||||
background_config: Dict[str,Tuple],
|
||||
):
|
||||
"""Gathers audio clips, gathers all screenshots, stitches them together and saves the final video to assets/temp
|
||||
Args:
|
||||
@@ -262,6 +262,10 @@ def make_final_video(
|
||||
if not exists(f"./results/{subreddit}"):
|
||||
print_substep("The results folder didn't exist so I made it")
|
||||
os.makedirs(f"./results/{subreddit}")
|
||||
|
||||
if not exists(f"./results/{subreddit}/{filename}"):
|
||||
print_substep("The results folder didn't exist so I made it")
|
||||
os.makedirs(f"./results/{subreddit}/{filename}")
|
||||
|
||||
# create a thumbnail for the video
|
||||
settingsbackground = settings.config["settings"]["background"]
|
||||
@@ -324,13 +328,32 @@ def make_final_video(
|
||||
|
||||
path = f"results/{subreddit}/{filename}"
|
||||
path = path[:251]
|
||||
path = path + ".mp4"
|
||||
#path = path + ".mp4"
|
||||
|
||||
with ProgressFfmpeg(length, on_update_example) as progress:
|
||||
ffmpeg.output(
|
||||
background_clip,
|
||||
final_audio,
|
||||
path,
|
||||
path+f"/{filename}.mp4",
|
||||
f="mp4",
|
||||
**{
|
||||
"c:v": "h264",
|
||||
"b:v": "20M",
|
||||
"b:a": "192k",
|
||||
"threads": multiprocessing.cpu_count(),
|
||||
},
|
||||
).overwrite_output().global_args("-progress", progress.output_file.name).run(
|
||||
quiet=True,
|
||||
overwrite_output=True,
|
||||
capture_stdout=False,
|
||||
capture_stderr=False,
|
||||
)
|
||||
|
||||
with ProgressFfmpeg(length, on_update_example) as progress:
|
||||
ffmpeg.output(
|
||||
background_clip,
|
||||
audio,
|
||||
path+"/NoBackgroundAudio.mp4",
|
||||
f="mp4",
|
||||
**{
|
||||
"c:v": "h264",
|
||||
|
||||
Reference in new issue
Block a user