মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Python দিয়ে YouTube ভিডিওকে AI-তৈরি শর্টসে রূপান্তর করুন

AI Shorts Generator ইনস্টল ও ব্যবহারের পদ্ধতি শিখুন। এটি একটি ওপেন-সোর্স Python টুল, যা YouTube বা স্থানীয় ভিডিওকে ট্রান্সক্রিপশন, AI-র‌্যাঙ্ক করা হাইলাইট, স্বয়ংক্রিয় ক্রপিং, সাবটাইটেল এবং ঐচ্ছিক হুকসহ উল্লম্ব ক্লিপে রূপান্তর করে।

Python দিয়ে YouTube ভিডিওকে AI-তৈরি শর্টসে রূপান্তর করুন

AI Shorts Generator কী?

AI Shorts Generator হলো OpusClip এবং Vidyo.ai-এর মতো স্বল্পদৈর্ঘ্য ভিডিও SaaS পণ্যের একটি বিনামূল্যের, ওপেন-সোর্স বিকল্প। এটি YouTube URL বা স্থানীয় ভিডিও ফাইল গ্রহণ করে, সম্ভাবনাময় মুহূর্ত খুঁজে বের করে এবং ওয়াটারমার্ক বা ক্লিপ তৈরির আগে ক্রেডিট ছাড়াই পোস্ট করার জন্য প্রস্তুত স্বল্পদৈর্ঘ্য ভিডিও তৈরি করে।

প্রকল্পটি স্থানীয় ট্রান্সক্রিপশনকে একটি LLM প্রদানকারীর সঙ্গে যুক্ত করে। faster-whisper টাইমস্ট্যাম্পসহ ট্রান্সক্রিপ্ট তৈরি করে, আর OpenAI, Gemini বা MuAPI সেই ট্রান্সক্রিপ্ট বিশ্লেষণ করে সম্ভাব্য সেরা মুহূর্তগুলো শনাক্ত ও র‍্যাঙ্ক করে।

প্রক্রিয়াকৃত উল্লম্ব শর্টের উদাহরণ

প্রক্রিয়াকরণ পাইপলাইন যেভাবে কাজ করে

  1. ডাউনলোড বা লোড: অ্যাপ্লিকেশনটি YouTube ভিডিও ডাউনলোড করে অথবা স্থানীয় ভিডিওর পাথ পড়ে।
  2. ট্রান্সক্রাইব: faster-whisper স্থানীয়ভাবে টাইমস্ট্যাম্পসহ ট্রান্সক্রিপ্ট তৈরি করে।
  3. শ্রেণিবদ্ধ: নির্বাচিত LLM কনটেন্টের ধরন ও গতি শনাক্ত করে, যেমন সাক্ষাৎকার, পডকাস্ট, টিউটোরিয়াল বা ভ্লগ।
  4. হাইলাইট র‍্যাঙ্ক: LLM শক্তিশালী হুক, আবেগের চূড়া, প্রকাশ, দ্বন্দ্ব, উদ্ধৃতিযোগ্য বক্তব্য, গল্পের চূড়ান্ত মুহূর্ত এবং ব্যবহারিক মূল্যসহ বিভিন্ন সংকেত ব্যবহার করে মুহূর্তগুলো মূল্যায়ন করে।
  5. ওভারল্যাপ সরানো: স্কোর অনুযায়ী ওভারল্যাপ করা প্রার্থীগুলো থেকে পুনরাবৃত্তি সরানো হয়।
  6. ক্লিপ নির্বাচন: --n অপশন অনুযায়ী সর্বোচ্চ র‍্যাঙ্কের প্রার্থীগুলো বেছে নেওয়া হয়।
  7. রেন্ডার: প্রতিটি নির্বাচন স্বয়ংক্রিয়ভাবে অনুরোধ করা অ্যাসপেক্ট রেশিওতে ক্রপ করা হয়। নিষ্ক্রিয় না করা হলে শুরুতে প্রসঙ্গ-সচেতন AI হুক যোগ করা হয়।

মূল বৈশিষ্ট্য

  • YouTube ও স্থানীয় ভিডিও সমর্থন: ভিডিও URL বা আপনার কম্পিউটারে আগে থেকে সংরক্ষিত ফাইল প্রক্রিয়া করুন।
  • স্বয়ংক্রিয় হাইলাইট নির্বাচন: স্বল্পদৈর্ঘ্য কনটেন্টের জন্য সম্ভাবনাময় মুহূর্ত খুঁজে বের করুন।
  • উল্লম্ব রেন্ডারিং: স্বল্পদৈর্ঘ্য ভিডিও প্ল্যাটফর্মের জন্য উপযোগী 9:16 ভিডিও তৈরি করুন।
  • একাধিক আউটপুট: --n ব্যবহার করে একটি উৎস থেকে একাধিক হাইলাইট রেন্ডার করুন।
  • AI-তৈরি হুক: প্রসঙ্গ-সচেতন উদ্বোধনী হুক যোগ করুন অথবা --no-hook দিয়ে তা নিষ্ক্রিয় করুন।
  • সাবটাইটেল, অনুবাদ ও ভয়েসওভার: প্রকল্পটি এই কনটেন্ট-প্রক্রিয়াকরণ সক্ষমতাগুলোকে একটি ওয়ার্কফ্লোতে একত্র করেছে।
  • স্থানীয় ওয়েব ইন্টারফেস: একাধিক ভিডিও কিউ করুন এবং দৃশ্যমানভাবে রেন্ডারিং অপশন কনফিগার করুন।
  • API সুবিধা: API-এর মাধ্যমে জেনারেটরটিকে অন্যান্য প্রকল্পে যুক্ত করা যায়।

প্রয়োজনীয়তা

শুরু করার আগে নিশ্চিত করুন যে আপনার পরিবেশে নিচের বিষয়গুলো রয়েছে:

  • Python 3.10 বা পরবর্তী সংস্করণ
  • OpenAI, Gemini বা MuAPI-এর একটি API key
  • রিপোজিটরি ক্লোন করার জন্য Git
  • requirements.txt-এ তালিকাভুক্ত Python প্যাকেজগুলো

Gemini দৈনিক সীমাসহ একটি বিনামূল্যের স্তর প্রদান করে। OpenAI পেইড, আর MuAPI সাবস্ক্রিপশন ছাড়াই পেইড, ব্যবহারের ভিত্তিতে পরিশোধের সুবিধা দেয়। Google AI Studio, OpenAI Platform অথবা MuAPI থেকে key সংগ্রহ করুন।

ইনস্টলেশন ও সেটআপ

১. রিপোজিটরি ক্লোন করুন

git clone https://github.com/pierrenade/short-video-generator-AI.git
cd short-video-generator-AI

২. ভার্চুয়াল পরিবেশ তৈরি করুন

একটি বিচ্ছিন্ন Python পরিবেশ তৈরি করুন, যাতে প্রকল্পের প্যাকেজগুলো অন্য ইনস্টলেশনের সঙ্গে দ্বন্দ্বে না জড়ায়।

python -m venv venv

Windows-এ এটি সক্রিয় করতে:

venv\Scripts\activate

Linux বা macOS-এ এটি সক্রিয় করতে:

source venv/bin/activate

৩. নির্ভরতা ইনস্টল করুন

pip install -r requirements.txt

৪. পরিবেশ ফাইল কনফিগার করুন

প্রকল্প ডিরেক্টরিতে .env ফাইল তৈরি বা সম্পাদনা করুন। LLM_PROVIDER-এর মান openai, gemini বা muapi নির্ধারণ করুন, তারপর সংশ্লিষ্ট API key দিন।

LLM_PROVIDER=openai

OPENAI_API_KEY=your_openai_key_here
OPENAI_MODEL=gpt-4o-mini

GEMINI_API_KEY=your_gemini_key_here
GEMINI_MODEL=gemini-2.5-flash

MUAPI_API_KEY=your_muapi_key_here

LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto

LLM_PROVIDER দিয়ে নির্বাচিত প্রদানকারীর জন্যই কেবল একটি বৈধ API key প্রয়োজন। OpenAI ও Gemini-এর মডেল সেটিং ঐচ্ছিক।

Whisper সেটিং নির্বাচন

LOCAL_WHISPER_MODEL-এ tiny, base, small, medium অথবা large-v3 ব্যবহার করা যায়। README-তে প্রাথমিক কনফিগারেশন হিসেবে base ব্যবহার করা হয়েছে।

LOCAL_WHISPER_DEVICE-এ auto, cpu অথবা cuda ব্যবহার করা যায়। CPU বা CUDA প্রক্রিয়াকরণ জোর করে নির্ধারণের নির্দিষ্ট প্রয়োজন না থাকলে auto রাখুন।

আপনার প্রথম শর্ট তৈরি করুন

main.py-এ একটি YouTube URL দিন:

python main.py "https://www.youtube.com/watch?v=video_id"

প্রক্রিয়াকরণ শেষ হলে রেন্ডার করা ক্লিপগুলো output ডিরেক্টরিতে সংরক্ষিত হবে।

AI-তৈরি স্বল্পদৈর্ঘ্য ভিডিওর ফলাফল

আউটপুট নিয়ন্ত্রণ করুন

নিচের উদাহরণটি তিনটি উল্লম্ব ক্লিপ তৈরি করে এবং উৎস ভিডিও ডাউনলোডের রেজোলিউশন 1080 নির্ধারণ করে:

python main.py "https://www.youtube.com/watch?v=video_id" \
  --n 3 \
  --ratio 9:16 \
  --resolution 1080

উপলভ্য কমান্ড-লাইন অপশন

  • --n: কতটি ক্লিপ রেন্ডার করা হবে তা নির্ধারণ করে। ডিফল্ট হলো 3।
  • --ratio: আউটপুটের অ্যাসপেক্ট রেশিও নির্ধারণ করে। ডিফল্ট হলো 9:16; বর্গাকার আউটপুটের জন্য 1:1 ব্যবহার করুন অথবা অন্য কোনো রেশিও দিন।
  • --resolution: সোর্স ভিডিও ডাউনলোডের রেজোলিউশন নির্ধারণ করে। প্রজেক্টে সমর্থিত মানগুলো হলো 360, 480, 720 এবং 1080। ডিফল্ট হলো 720।
  • --language: en-এর মতো একটি Whisper ভাষা কোড নির্ধারণ করে। ডিফল্ট আচরণ হলো স্বয়ংক্রিয় শনাক্তকরণ।
  • --no-hook: প্রতিটি ক্লিপের শুরুতে AI-জেনারেটেড হুক যোগ করা বন্ধ করে।

স্থানীয় ভিডিও প্রক্রিয়া করুন

YouTube URL-এর পরিবর্তে স্থানীয় ফাইলের পথ ব্যবহার করা যায়। এই উদাহরণে 720 রেজোলিউশনে চারটি ভার্টিক্যাল ক্লিপ তৈরি করা হবে এবং চীনা ট্রান্সক্রিপশন নির্ধারণ করা হবে:

python main.py "/Users/Admin/Folder/video.mp4" \
  --n 4 \
  --ratio 9:16 \
  --resolution 720 \
  --language zh

আপনার অপারেটিং সিস্টেম অনুযায়ী সঠিক অ্যাবসোলিউট বা রিলেটিভ পথ ব্যবহার করুন। ফোল্ডার বা ফাইলের নামে স্পেস থাকলে পথটি উদ্ধৃতির মধ্যে রাখা সুবিধাজনক।

স্থানীয় ওয়েব ইন্টারফেস ব্যবহার করুন

ওয়েব সংস্করণটি একাধিক ভিডিও কিউতে যোগ করা এবং রেন্ডারিং ফ্ল্যাগ পরিবর্তনের জন্য একটি ভিজ্যুয়াল উপায় দেয়। প্রোভাইডার নির্বাচন এবং API ক্রেডেনশিয়াল এখনও .env থেকে নেওয়া হয়; ইন্টারফেস ভিডিও ইনপুট ও রেন্ডার অপশন পরিচালনা করে।

1. ব্যাকএন্ড চালু করুন

python3 server.py

2. ফ্রন্টএন্ড পরিবেশন করুন

আরেকটি টার্মিনাল খুলে ওয়েব ডিরেক্টরিতে যান এবং একটি স্ট্যাটিক HTTP সার্ভার চালু করুন:

cd web
python3 -m http.server 8000

3. ইন্টারফেস খুলুন

ব্রাউজারে http://localhost:8000/shorts-generator-ui.html খুলুন।

উন্নত টিপস

আপনার গন্তব্য অনুযায়ী অ্যাসপেক্ট রেশিও মিলিয়ে নিন

প্রচলিত ভার্টিক্যাল শর্ট ভিডিওর জন্য --ratio 9:16 ব্যবহার করুন। বর্গাকার ক্লিপের প্রয়োজন হলে --ratio 1:1 ব্যবহার করুন। প্রজেক্টটি অন্যান্য রেশিওও গ্রহণ করে।

শনাক্তকরণ অনিশ্চিত হলে ভাষা নির্ধারণ করুন

ডিফল্টভাবে স্বয়ংক্রিয় ভাষা শনাক্তকরণ চালু থাকে। কথ্য ভাষা জানা থাকলে --language-এর মাধ্যমে তার Whisper ভাষা কোড দিন, যেমন --language en।

কতজন প্রার্থী রেন্ডার করা হবে তা নির্বাচন করুন

ডিফল্ট --n 3 তিনটি নির্বাচিত হাইলাইট তৈরি করে। দীর্ঘ সোর্স ভিডিও থেকে আরও বেশি প্রার্থী চাইলে সংখ্যা বাড়ান, অথবা সবচেয়ে শক্তিশালী ফলাফলটিই প্রয়োজন হলে সংখ্যা কমান।

মূল ভিডিওর শুরু যথেষ্ট হলে হুক বন্ধ করুন

জেনারেটেড হুক ঐচ্ছিক। প্রতিটি ক্লিপ নির্বাচিত সোর্স অংশ দিয়ে সরাসরি শুরু করতে চাইলে --no-hook যোগ করুন:

python main.py "https://www.youtube.com/watch?v=video_id" --n 2 --no-hook

ট্রান্সক্রিপশন রিসোর্সের ভারসাম্য বজায় রাখুন

উপলভ্য Whisper মডেলগুলো tiny থেকে large-v3 পর্যন্ত বিস্তৃত। আপনার মেশিনের উপযোগী একটি মডেল নির্বাচন করুন এবং সামঞ্জস্যপূর্ণ CUDA পরিবেশ উপলভ্য থাকলেই LOCAL_WHISPER_DEVICE=cuda ব্যবহার করুন। অন্যথায়, auto অ্যাপ্লিকেশনকে ডিভাইস নির্বাচন করতে দেয়।

ক্রেডেনশিয়াল কমান্ডের বাইরে রাখুন

প্রোভাইডার কী সরাসরি টার্মিনাল কমান্ড বা সোর্স কোডে না দিয়ে .env-এ সংরক্ষণ করুন। রিপোজিটরি ফর্ক বা এতে অবদান রাখার সময় পূরণ করা এনভায়রনমেন্ট ফাইল কমিট করা এড়িয়ে চলুন।

উপসংহার

AI Shorts Generator দীর্ঘ YouTube বা স্থানীয় ভিডিওকে শর্ট-ফর্ম ক্লিপে রূপান্তরের জন্য একটি স্থানীয়, ওপেন-সোর্স ওয়ার্কফ্লো প্রদান করে। Python, একটি LLM প্রোভাইডার এবং স্থানীয় Whisper সেটিংস কনফিগার করার পর, আপনি কমান্ড লাইন থেকে স্বয়ংক্রিয়ভাবে নির্বাচিত একাধিক ক্লিপ তৈরি করতে পারেন অথবা ইনপুট ও রেন্ডারিং অপশন পরিচালনার জন্য ব্রাউজার-ভিত্তিক ইন্টারফেস ব্যবহার করতে পারেন।

প্রজেক্টটি MIT লাইসেন্সের অধীনে উপলভ্য। আপনি সমস্যার প্রতিবেদন করতে, পরিবর্তনে অবদান রাখতে অথবা এর GitHub রিপোজিটরি থেকে ফর্ক করতে পারেন।