Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -36,7 +36,7 @@ def frame_to_timecode(frame_num, original_fps, desired_fps):
|
|
| 36 |
seconds = int(total_seconds % 60)
|
| 37 |
milliseconds = int((total_seconds - int(total_seconds)) * 1000)
|
| 38 |
return f"{hours:02d}:{minutes:02d}:{seconds:02d}.{milliseconds:03d}"
|
| 39 |
-
|
| 40 |
def get_face_embedding_and_emotion(face_img):
|
| 41 |
face_tensor = torch.tensor(face_img).permute(2, 0, 1).unsqueeze(0).float() / 255
|
| 42 |
face_tensor = (face_tensor - 0.5) / 0.5
|
|
@@ -92,6 +92,8 @@ def extract_frames(video_path, output_folder, fps):
|
|
| 92 |
print(f"FFmpeg output: {e.output}")
|
| 93 |
raise
|
| 94 |
|
|
|
|
|
|
|
| 95 |
def extract_and_align_faces_from_video(video_path, aligned_faces_folder, desired_fps):
|
| 96 |
print(f"Processing video: {video_path}")
|
| 97 |
|
|
@@ -111,7 +113,10 @@ def extract_and_align_faces_from_video(video_path, aligned_faces_folder, desired
|
|
| 111 |
]
|
| 112 |
ffprobe_output = subprocess.check_output(ffprobe_command, universal_newlines=True).strip().split(',')
|
| 113 |
frame_count = int(ffprobe_output[0])
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
| 115 |
|
| 116 |
print(f"Total frames: {frame_count}, Original FPS: {original_fps}, Desired FPS: {desired_fps}")
|
| 117 |
|
|
|
|
| 36 |
seconds = int(total_seconds % 60)
|
| 37 |
milliseconds = int((total_seconds - int(total_seconds)) * 1000)
|
| 38 |
return f"{hours:02d}:{minutes:02d}:{seconds:02d}.{milliseconds:03d}"
|
| 39 |
+
|
| 40 |
def get_face_embedding_and_emotion(face_img):
|
| 41 |
face_tensor = torch.tensor(face_img).permute(2, 0, 1).unsqueeze(0).float() / 255
|
| 42 |
face_tensor = (face_tensor - 0.5) / 0.5
|
|
|
|
| 92 |
print(f"FFmpeg output: {e.output}")
|
| 93 |
raise
|
| 94 |
|
| 95 |
+
import fractions
|
| 96 |
+
|
| 97 |
def extract_and_align_faces_from_video(video_path, aligned_faces_folder, desired_fps):
|
| 98 |
print(f"Processing video: {video_path}")
|
| 99 |
|
|
|
|
| 113 |
]
|
| 114 |
ffprobe_output = subprocess.check_output(ffprobe_command, universal_newlines=True).strip().split(',')
|
| 115 |
frame_count = int(ffprobe_output[0])
|
| 116 |
+
|
| 117 |
+
# Convert fractional frame rate to float
|
| 118 |
+
frac = fractions.Fraction(ffprobe_output[1])
|
| 119 |
+
original_fps = float(frac.numerator) / float(frac.denominator)
|
| 120 |
|
| 121 |
print(f"Total frames: {frame_count}, Original FPS: {original_fps}, Desired FPS: {desired_fps}")
|
| 122 |
|