Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -79,7 +79,6 @@ class YouTubeDownloader:
|
|
79 |
- Visual effects, text overlays, or graphics
|
80 |
- Mood, tone, and atmosphere
|
81 |
- Camera movements or angles (if apparent)
|
82 |
-
|
83 |
2. Dialogue Emphasis:
|
84 |
- Include short dialogue lines in **every scene** wherever plausible.
|
85 |
- Write lines like: Character: "Actual or inferred line..."
|
@@ -98,7 +97,6 @@ class YouTubeDownloader:
|
|
98 |
|
99 |
|
100 |
5. Write descriptions as if you're watching the video in real-time, noting everything visible and audible.
|
101 |
-
|
102 |
|
103 |
Based on the title and description, intelligently infer what would likely happen in each time segment. Consider the video type and create contextually appropriate, detailed descriptions.
|
104 |
"""
|
@@ -347,7 +345,6 @@ class YouTubeDownloader:
|
|
347 |
report = f"""
|
348 |
π¬ YOUTUBE VIDEO ANALYSIS REPORT
|
349 |
{'='*50}
|
350 |
-
|
351 |
π BASIC INFORMATION
|
352 |
{'β'*25}
|
353 |
πΉ **Title:** {title}
|
@@ -355,29 +352,24 @@ class YouTubeDownloader:
|
|
355 |
π
**Upload Date:** {formatted_date}
|
356 |
β±οΈ **Duration:** {duration_str}
|
357 |
π **Video ID:** {video_info.get('id', 'Unknown')}
|
358 |
-
|
359 |
π PERFORMANCE METRICS
|
360 |
{'β'*25}
|
361 |
π **Views:** {self.format_number(view_count)} ({view_count:,})
|
362 |
π **Likes:** {self.format_number(like_count)} ({like_count:,})
|
363 |
π¬ **Comments:** {self.format_number(comment_count)} ({comment_count:,})
|
364 |
π **Engagement Rate:** {engagement_rate:.2f}%
|
365 |
-
|
366 |
π― CONTENT ANALYSIS
|
367 |
{'β'*25}
|
368 |
π **Video Type:** {video_type}
|
369 |
π΅ **Background Music:** {background_music}
|
370 |
π **Creator Status:** {influencer_status}
|
371 |
-
|
372 |
π¬ DETAILED SCENE BREAKDOWN
|
373 |
{'β'*30}
|
374 |
{chr(10).join(scene_descriptions)}
|
375 |
-
|
376 |
π DESCRIPTION PREVIEW
|
377 |
{'β'*25}
|
378 |
{video_info.get('description', 'No description available')[:500]}
|
379 |
{'...(truncated)' if len(video_info.get('description', '')) > 500 else ''}
|
380 |
-
|
381 |
{'='*50}
|
382 |
π **Analysis completed:** {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
|
383 |
π€ **AI Enhancement:** {'Gemini AI' if self.gemini_model else 'Standard Analysis'}
|
|
|
79 |
- Visual effects, text overlays, or graphics
|
80 |
- Mood, tone, and atmosphere
|
81 |
- Camera movements or angles (if apparent)
|
|
|
82 |
2. Dialogue Emphasis:
|
83 |
- Include short dialogue lines in **every scene** wherever plausible.
|
84 |
- Write lines like: Character: "Actual or inferred line..."
|
|
|
97 |
|
98 |
|
99 |
5. Write descriptions as if you're watching the video in real-time, noting everything visible and audible.
|
|
|
100 |
|
101 |
Based on the title and description, intelligently infer what would likely happen in each time segment. Consider the video type and create contextually appropriate, detailed descriptions.
|
102 |
"""
|
|
|
345 |
report = f"""
|
346 |
π¬ YOUTUBE VIDEO ANALYSIS REPORT
|
347 |
{'='*50}
|
|
|
348 |
π BASIC INFORMATION
|
349 |
{'β'*25}
|
350 |
πΉ **Title:** {title}
|
|
|
352 |
π
**Upload Date:** {formatted_date}
|
353 |
β±οΈ **Duration:** {duration_str}
|
354 |
π **Video ID:** {video_info.get('id', 'Unknown')}
|
|
|
355 |
π PERFORMANCE METRICS
|
356 |
{'β'*25}
|
357 |
π **Views:** {self.format_number(view_count)} ({view_count:,})
|
358 |
π **Likes:** {self.format_number(like_count)} ({like_count:,})
|
359 |
π¬ **Comments:** {self.format_number(comment_count)} ({comment_count:,})
|
360 |
π **Engagement Rate:** {engagement_rate:.2f}%
|
|
|
361 |
π― CONTENT ANALYSIS
|
362 |
{'β'*25}
|
363 |
π **Video Type:** {video_type}
|
364 |
π΅ **Background Music:** {background_music}
|
365 |
π **Creator Status:** {influencer_status}
|
|
|
366 |
π¬ DETAILED SCENE BREAKDOWN
|
367 |
{'β'*30}
|
368 |
{chr(10).join(scene_descriptions)}
|
|
|
369 |
π DESCRIPTION PREVIEW
|
370 |
{'β'*25}
|
371 |
{video_info.get('description', 'No description available')[:500]}
|
372 |
{'...(truncated)' if len(video_info.get('description', '')) > 500 else ''}
|
|
|
373 |
{'='*50}
|
374 |
π **Analysis completed:** {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
|
375 |
π€ **AI Enhancement:** {'Gemini AI' if self.gemini_model else 'Standard Analysis'}
|