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'}
|