image and audio mix, video prepare.


---------------

 !pip install yt-dlp moviepy ffmpeg-python


import yt_dlp

from moviepy.editor import ImageClip, AudioFileClip

import glob, os


# -------- USER INPUTS --------

image_file = "/content/ima1.png"   # your image

audio_url = "https://www.youtube.com/watch?v=me8uai5nV9c"  # audio url

audio_start = "39:03"              # mm:ss (example wrong input)

audio_end   = "39:30"              # mm:ss

output_path = "/content/output.mp4"

# -----------------------------


def download_from_youtube(url, filename, audio_only=True):

    ydl_opts = {

        'format': 'bestaudio/best',

        'outtmpl': filename + ".%(ext)s",

        'quiet': False,

    }

    with yt_dlp.YoutubeDL(ydl_opts) as ydl:

        ydl.download([url])


def time_to_seconds(t):

    mm, ss = t.split(":")

    return int(mm) * 60 + int(ss)


# Download audio

download_from_youtube(audio_url, "/content/audio", audio_only=True)

audio_files = glob.glob("/content/audio.*")

audio_file = audio_files[0]


# Load full audio first

full_audio = AudioFileClip(audio_file)

print(f"🎵 Downloaded audio duration: {full_audio.duration:.2f} sec ({full_audio.duration/60:.1f} min)")


# Convert input times

a_start = time_to_seconds(audio_start)

a_end   = time_to_seconds(audio_end)


# Safety check: clamp to available duration

if a_start >= full_audio.duration:

    print("⚠️ Start time is beyond audio length. Resetting to 0.")

    a_start = 0

if a_end > full_audio.duration:

    print("⚠️ End time is beyond audio length. Resetting to end of audio.")

    a_end = full_audio.duration


# Trim audio

audio_clip = full_audio.subclip(a_start, a_end)


# Make static image into a video

image_clip = ImageClip(image_file, duration=audio_clip.duration)


# Set audio

final_clip = image_clip.set_audio(audio_clip)


# Export

final_clip.write_videofile(output_path, codec="libx264", audio_codec="aac", fps=24)


print(f"✅ Final video saved as {output_path}")


Popular posts from this blog

SAP CPI : camle expression in sap cpi , cm, router, filter and groovy script. format

SAP CPI camel conditions and xpath conditions

oauth call to cpi integraiton suite from sap apim