CoolFace
Apppublic

Atharv91/audio_video_module

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
1import os2import sys3 4# Add the parent directory to sys.path so we can import from the module5sys.path.append(os.path.dirname(os.path.abspath(__file__)))6 7from .youtube_api import fetch_metadata8from .category_mapper import map_category_id9from .text_preprocessing import get_raw_tokens10from .keyword_extraction import extract_keywords11from .topic_generator import generate_topic12 13def analyze_video_no_ai(video_id: str, transcript: str = ""):14    """15    Analyzes video category and topic using rule-based logic and classical NLP.16    """17    # 1. Fetch Metadata18    metadata = fetch_metadata(video_id)19    if not metadata:20        return {21            "video_id": video_id,22            "error": "Could not fetch metadata"23        }24    25    # 2. Category Detection (Rule-based)26    category = map_category_id(metadata["categoryId"])27    28    # 3. Keyword Extraction (Classical NLP)29    tokens = get_raw_tokens(metadata["title"], metadata["description"], transcript)30    keywords = extract_keywords(tokens, top_n=10)31    32    # 4. Topic Generation (Rule-based)33    topic = generate_topic(keywords)34    35    return {36        "video_id": video_id,37        "category": category,38        "topic": topic,39        "keywords": keywords # Optional but useful for debugging40    }41 42if __name__ == "__main__":43    if len(sys.argv) < 2:44        print("Usage: python main.py <VIDEO_ID>")45    else:46        vid = sys.argv[1]47        result = analyze_video_no_ai(vid)48        print(result)49