Atharv91/audio_video_module
0
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 