Help for Python script /u/Former_Bar_5581 Python Education

So i’ve been trying to clip a large video into some shorter videos to post online. The script is in an notepad and i am trying to run it by cmd: from moviepy import VideoFileClip, TextClip, concatenate_videoclips import os import random import speech_recognition as sr from moviepy.video.fx import resize # Corectat importul pentru Resize

Setare calea fișierului video și destinația pentru salvare

video_path = r”path/to/your/video.mp4″ # Înlocuit cu cale generică output_folder = r”path/to/output/folder” # Înlocuit cu cale generică

Încarcă fișierul video

clip = VideoFileClip(video_path)

Funcție pentru a recunoaște textul din audio (speech-to-text)

def get_audio_text(audio_file): recognizer = sr.Recognizer() with sr.AudioFile(audio_file) as source: audio_data = recognizer.record(source) try: return recognizer.recognize_google(audio_data) except sr.UnknownValueError: return “Audio nerecunoscut” except sr.RequestError: return “Eroare la conectarea la Google Speech Recognition”

Funcția de a adăuga subtitrări (text la video)

def add_subtitles(clip, text): txt_clip = TextClip(text, fontsize=24, color=’white’, bg_color=’black’, size=(clip.w, None)) txt_clip = txt_clip.set_pos((‘bottom’)).set_duration(clip.duration) return concatenate_videoclips([clip, txt_clip])

Tăierea unui clip de la un interval random între 61 și 180 secunde

def cut_video(clip, min_duration=61, max_duration=180): start_time = random.randint(0, int(clip.duration – max_duration)) end_time = start_time + random.randint(min_duration, max_duration) return clip.subclipped(start_time, end_time) # Corectare aici

Redimensionare pentru TikTok 9:16

def resize_for_tiktok(clip): return resize(clip, height=1920, width=1080).crop(x1=0, x2=1080, y1=0, y2=1920)

Creare videoclipuri mai mici pentru TikTok

def create_tiktok_clips(clip, output_folder): # Asigură-te că folderul de ieșire există if not os.path.exists(output_folder): os.makedirs(output_folder)

clips = [] for i in range(5): # Poți ajusta numărul de clipuri generate subclip = cut_video(clip) subclip_resized = resize_for_tiktok(subclip) # Recunoaștem audio și adăugăm subtitrări audio_file = "temp_audio.wav" subclip.audio.write_audiofile(audio_file) text = get_audio_text(audio_file) subclip_with_subtitles = add_subtitles(subclip_resized, text) # Salvăm clipul final output_path = os.path.join(output_folder, f"tiktok_clip_{i+1}.mp4") subclip_with_subtitles.write_videofile(output_path, codec="libx264", audio_codec="aac") clips.append(output_path) os.remove(audio_file) # Șterge fișierul audio temporar return clips 

Rulează procesul de creare clipuri pentru TikTok

createdclips = create_tiktok_clips(clip, output_folder) print(f”Clipuri create: {created_clips}”) And i am getting this error (venv) C:Usersusername>python video_edit.py Traceback (most recent call last): File “C:Usersusernamevideo_edit.py”, line 5, in <module> from moviepy.video.fx import resize # Corectat importul pentru Resize ImportError: cannot import name ‘resize’ from ‘moviepy.video.fx’ (C:UsersusernamevenvLibsite-packagesmoviepyvideofxinit_.py). Did you mean: ‘Resize’?

(venv) C:Usersusername> If you spot any other problem in the script please tell me, any advice is welcomed because i am a begginer. Thanks in advance!

submitted by /u/Former_Bar_5581
[link] [comments]

​r/learnpython So i’ve been trying to clip a large video into some shorter videos to post online. The script is in an notepad and i am trying to run it by cmd: from moviepy import VideoFileClip, TextClip, concatenate_videoclips import os import random import speech_recognition as sr from moviepy.video.fx import resize # Corectat importul pentru Resize Setare calea fișierului video și destinația pentru salvare video_path = r”path/to/your/video.mp4″ # Înlocuit cu cale generică output_folder = r”path/to/output/folder” # Înlocuit cu cale generică Încarcă fișierul video clip = VideoFileClip(video_path) Funcție pentru a recunoaște textul din audio (speech-to-text) def get_audio_text(audio_file): recognizer = sr.Recognizer() with sr.AudioFile(audio_file) as source: audio_data = recognizer.record(source) try: return recognizer.recognize_google(audio_data) except sr.UnknownValueError: return “Audio nerecunoscut” except sr.RequestError: return “Eroare la conectarea la Google Speech Recognition” Funcția de a adăuga subtitrări (text la video) def add_subtitles(clip, text): txt_clip = TextClip(text, fontsize=24, color=’white’, bg_color=’black’, size=(clip.w, None)) txt_clip = txt_clip.set_pos((‘bottom’)).set_duration(clip.duration) return concatenate_videoclips([clip, txt_clip]) Tăierea unui clip de la un interval random între 61 și 180 secunde def cut_video(clip, min_duration=61, max_duration=180): start_time = random.randint(0, int(clip.duration – max_duration)) end_time = start_time + random.randint(min_duration, max_duration) return clip.subclipped(start_time, end_time) # Corectare aici Redimensionare pentru TikTok 9:16 def resize_for_tiktok(clip): return resize(clip, height=1920, width=1080).crop(x1=0, x2=1080, y1=0, y2=1920) Creare videoclipuri mai mici pentru TikTok def create_tiktok_clips(clip, output_folder): # Asigură-te că folderul de ieșire există if not os.path.exists(output_folder): os.makedirs(output_folder) clips = [] for i in range(5): # Poți ajusta numărul de clipuri generate subclip = cut_video(clip) subclip_resized = resize_for_tiktok(subclip) # Recunoaștem audio și adăugăm subtitrări audio_file = “temp_audio.wav” subclip.audio.write_audiofile(audio_file) text = get_audio_text(audio_file) subclip_with_subtitles = add_subtitles(subclip_resized, text) # Salvăm clipul final output_path = os.path.join(output_folder, f”tiktok_clip_{i+1}.mp4″) subclip_with_subtitles.write_videofile(output_path, codec=”libx264″, audio_codec=”aac”) clips.append(output_path) os.remove(audio_file) # Șterge fișierul audio temporar return clips Rulează procesul de creare clipuri pentru TikTok createdclips = create_tiktok_clips(clip, output_folder) print(f”Clipuri create: {created_clips}”) And i am getting this error (venv) C:Usersusername>python video_edit.py Traceback (most recent call last): File “C:Usersusernamevideo_edit.py”, line 5, in <module> from moviepy.video.fx import resize # Corectat importul pentru Resize ImportError: cannot import name ‘resize’ from ‘moviepy.video.fx’ (C:UsersusernamevenvLibsite-packagesmoviepyvideofxinit_.py). Did you mean: ‘Resize’? (venv) C:Usersusername> If you spot any other problem in the script please tell me, any advice is welcomed because i am a begginer. Thanks in advance! submitted by /u/Former_Bar_5581 [link] [comments] 

So i’ve been trying to clip a large video into some shorter videos to post online. The script is in an notepad and i am trying to run it by cmd: from moviepy import VideoFileClip, TextClip, concatenate_videoclips import os import random import speech_recognition as sr from moviepy.video.fx import resize # Corectat importul pentru Resize

Setare calea fișierului video și destinația pentru salvare

video_path = r”path/to/your/video.mp4″ # Înlocuit cu cale generică output_folder = r”path/to/output/folder” # Înlocuit cu cale generică

Încarcă fișierul video

clip = VideoFileClip(video_path)

Funcție pentru a recunoaște textul din audio (speech-to-text)

def get_audio_text(audio_file): recognizer = sr.Recognizer() with sr.AudioFile(audio_file) as source: audio_data = recognizer.record(source) try: return recognizer.recognize_google(audio_data) except sr.UnknownValueError: return “Audio nerecunoscut” except sr.RequestError: return “Eroare la conectarea la Google Speech Recognition”

Funcția de a adăuga subtitrări (text la video)

def add_subtitles(clip, text): txt_clip = TextClip(text, fontsize=24, color=’white’, bg_color=’black’, size=(clip.w, None)) txt_clip = txt_clip.set_pos((‘bottom’)).set_duration(clip.duration) return concatenate_videoclips([clip, txt_clip])

Tăierea unui clip de la un interval random între 61 și 180 secunde

def cut_video(clip, min_duration=61, max_duration=180): start_time = random.randint(0, int(clip.duration – max_duration)) end_time = start_time + random.randint(min_duration, max_duration) return clip.subclipped(start_time, end_time) # Corectare aici

Redimensionare pentru TikTok 9:16

def resize_for_tiktok(clip): return resize(clip, height=1920, width=1080).crop(x1=0, x2=1080, y1=0, y2=1920)

Creare videoclipuri mai mici pentru TikTok

def create_tiktok_clips(clip, output_folder): # Asigură-te că folderul de ieșire există if not os.path.exists(output_folder): os.makedirs(output_folder)

clips = [] for i in range(5): # Poți ajusta numărul de clipuri generate subclip = cut_video(clip) subclip_resized = resize_for_tiktok(subclip) # Recunoaștem audio și adăugăm subtitrări audio_file = "temp_audio.wav" subclip.audio.write_audiofile(audio_file) text = get_audio_text(audio_file) subclip_with_subtitles = add_subtitles(subclip_resized, text) # Salvăm clipul final output_path = os.path.join(output_folder, f"tiktok_clip_{i+1}.mp4") subclip_with_subtitles.write_videofile(output_path, codec="libx264", audio_codec="aac") clips.append(output_path) os.remove(audio_file) # Șterge fișierul audio temporar return clips 

Rulează procesul de creare clipuri pentru TikTok

createdclips = create_tiktok_clips(clip, output_folder) print(f”Clipuri create: {created_clips}”) And i am getting this error (venv) C:Usersusername>python video_edit.py Traceback (most recent call last): File “C:Usersusernamevideo_edit.py”, line 5, in <module> from moviepy.video.fx import resize # Corectat importul pentru Resize ImportError: cannot import name ‘resize’ from ‘moviepy.video.fx’ (C:UsersusernamevenvLibsite-packagesmoviepyvideofxinit_.py). Did you mean: ‘Resize’?

(venv) C:Usersusername> If you spot any other problem in the script please tell me, any advice is welcomed because i am a begginer. Thanks in advance!

submitted by /u/Former_Bar_5581
[link] [comments] 

Leave a Reply

Your email address will not be published. Required fields are marked *