Spaces:
Sleeping
Sleeping
Commit ·
fd02e16
1
Parent(s): 15e0f2b
Update app.py
Browse files
app.py
CHANGED
|
@@ -16,15 +16,15 @@ def session(info_list):
|
|
| 16 |
if len(info_list) == 5:
|
| 17 |
st.text(f"Duration: {info_list[3]} - {info_list[4]} seconds")
|
| 18 |
|
| 19 |
-
def random_cuts_dubbed(video_file, title, num_cuts=1,
|
| 20 |
clip = VideoFileClip(video_file)
|
| 21 |
|
| 22 |
total_duration = clip.duration
|
| 23 |
cuts = []
|
| 24 |
|
| 25 |
for _ in range(num_cuts):
|
| 26 |
-
start_time = random.uniform(0, max(total_duration -
|
| 27 |
-
end_time = min(start_time +
|
| 28 |
|
| 29 |
if cuts and start_time < cuts[-1][1]:
|
| 30 |
start_time = cuts[-1][1]
|
|
@@ -42,8 +42,6 @@ def random_cuts_dubbed(video_file, title, num_cuts=1, duration=60, speed_factor=
|
|
| 42 |
|
| 43 |
clipped_clip = clip.subclip(start_time, end_time)
|
| 44 |
|
| 45 |
-
clipped_clip = clipped_clip.fx(vfx.speedx, speed_factor)
|
| 46 |
-
|
| 47 |
if use_9_16:
|
| 48 |
original_width, original_height = clip.size
|
| 49 |
target_width = int(original_height * (9 / 16))
|
|
@@ -102,13 +100,11 @@ if seleccionado:
|
|
| 102 |
|
| 103 |
if choice == 'Cut Video':
|
| 104 |
num_cuts = st.slider('Select number of cuts', 1, 10, 2)
|
| 105 |
-
duration_slider = st.slider('Select cut duration', 10, 900, 60)
|
| 106 |
-
speed_factor = st.slider('Select video speed', -2.0, 3.0, 1.0)
|
| 107 |
|
| 108 |
if st.button(f"Download and Cut {seleccionado}"):
|
| 109 |
video_file, title_video, video_info, thumbnail_file = funcion(video_link)
|
| 110 |
|
| 111 |
-
cut_files, cuts = random_cuts_dubbed(video_file, title_video, num_cuts=num_cuts,
|
| 112 |
|
| 113 |
for i, video_file in enumerate(cut_files):
|
| 114 |
output_file = f"{title_video}_cut_{i+1}_merged.mp4"
|
|
|
|
| 16 |
if len(info_list) == 5:
|
| 17 |
st.text(f"Duration: {info_list[3]} - {info_list[4]} seconds")
|
| 18 |
|
| 19 |
+
def random_cuts_dubbed(video_file, title, num_cuts=1, use_9_16=False, dub_segments=False):
|
| 20 |
clip = VideoFileClip(video_file)
|
| 21 |
|
| 22 |
total_duration = clip.duration
|
| 23 |
cuts = []
|
| 24 |
|
| 25 |
for _ in range(num_cuts):
|
| 26 |
+
start_time = random.uniform(0, max(total_duration - 60, 0))
|
| 27 |
+
end_time = min(start_time + 60, total_duration)
|
| 28 |
|
| 29 |
if cuts and start_time < cuts[-1][1]:
|
| 30 |
start_time = cuts[-1][1]
|
|
|
|
| 42 |
|
| 43 |
clipped_clip = clip.subclip(start_time, end_time)
|
| 44 |
|
|
|
|
|
|
|
| 45 |
if use_9_16:
|
| 46 |
original_width, original_height = clip.size
|
| 47 |
target_width = int(original_height * (9 / 16))
|
|
|
|
| 100 |
|
| 101 |
if choice == 'Cut Video':
|
| 102 |
num_cuts = st.slider('Select number of cuts', 1, 10, 2)
|
|
|
|
|
|
|
| 103 |
|
| 104 |
if st.button(f"Download and Cut {seleccionado}"):
|
| 105 |
video_file, title_video, video_info, thumbnail_file = funcion(video_link)
|
| 106 |
|
| 107 |
+
cut_files, cuts = random_cuts_dubbed(video_file, title_video, num_cuts=num_cuts, use_9_16=True, dub_segments=True)
|
| 108 |
|
| 109 |
for i, video_file in enumerate(cut_files):
|
| 110 |
output_file = f"{title_video}_cut_{i+1}_merged.mp4"
|