Download src/utils_youtube.py from leodeveloper2000/youtubetranslationapi: direct link, hf CLI and curl.
- Browser
- Download file 1.16 kB
-
https://huggingface.co/spaces/leodeveloper2000/youtubetranslationapi/resolve/main/src/utils_youtube.py
- Command line
-
hf download hf://spaces/leodeveloper2000/youtubetranslationapi/src/utils_youtube.py
-
curl -L -o utils_youtube.py https://huggingface.co/spaces/leodeveloper2000/youtubetranslationapi/resolve/main/src/utils_youtube.py
1.16 kB
| from langchain_community.document_loaders import YoutubeLoader | |
| from langchain_community.document_loaders.youtube import TranscriptFormat | |
| import os | |
| import json | |
| def get_youtube_transcript(video_url,src_language, target_language) -> None: | |
| """get youtube transcript""" | |
| try: | |
| loader = YoutubeLoader.from_youtube_url(video_url,add_video_info=True,language=[src_language, "id"],translation=target_language, transcript_format=TranscriptFormat.TEXT) | |
| #docs = loader.load_and_split(text_splitter) | |
| transcript = loader.load() | |
| #no transcript is found | |
| if len(transcript) == 0: | |
| return 'No transcript found', None, None | |
| #metadata = transcript[0].metadata | |
| #title = metadata.get('title') | |
| #metadata['transcript'] = transcript[0].page_content | |
| #metadata['youtubelink']=video_url | |
| if not transcript: | |
| raise ValueError(f"{src_language} transcript not available for this video.") | |
| else: | |
| return transcript[0].page_content | |
| except Exception as e: | |
| print(f"An error occurred: {e}") | |
| return None | |