একটা ইমন সিস্টেম বানাবো যাতে localhost:8080 এ গিয়ে ইউটিউব লিংক দিলেই ডাউনলোড হবে এমপি4 , এমপি3 Python Server: python -m http.server 8080 লিখে আপনার ফোনের ব্রাউজারে localhost:8080 এ গেলে আপনার ফোনের ফাইলগুলো দেখতে পাবেন।
৩. ইউটিউব ভিডিও ডাউনলোড (yt-dlp)
ইউটিউব যেকোনো ভিডিও সরাসরি টার্মাক্স দিয়ে হাই-কোয়ালিটিতে ডাউনলোড করা যায়।
কমান্ড: pip install yt-dlp
ডাউনলোড: yt-dlp [ভিডিও লিঙ্ক]
আপনি যেটা চাচ্ছেন সেটা বেশ অ্যাডভান্সড এবং ইন্টারেস্টিং! পাইথনের সাধারণ http.server শুধু ফাইল শেয়ার করতে পারে, কিন্তু এটি লিঙ্ক ইনপুট নিতে পারে না। তাই আপনার জন্য একটি ছোট **Python Flask Web App** তৈরি করে দিচ্ছি যা ব্রাউজারে ইনপুট বক্স দেখাবে এবং সেখানে লিঙ্ক দিলে সেটি ডাউনলোড করে দেবে।
নিচে ধাপে ধাপে কোডগুলো দেওয়া হলো:
### ১. প্রয়োজনীয় লাইব্রেরি ইন্সটল করুন
প্রথমে টার্মাক্সে Flask এবং yt-dlp ইন্সটল করে নিন:
```bash
pkg install python ffmpeg -y
pip install flask yt-dlp
```
### ২. একটি ডাউনলোড স্ক্রিপ্ট তৈরি করুন
এখন একটি ফাইল তৈরি করুন (যেমন: app.py):
```bash
nano app.py
```
এরপর নিচের কোডটি কপি করে সেখানে পেস্ট করুন:
```python
from flask import Flask, request, render_template_string
import yt_dlp
import os
app = Flask(__name__)
# ইন্টারফেস (HTML)
HTML = '''
<!DOCTYPE html>
<html>
<head><title>YT Downloader</title></head>
<body style="text-align: center; padding: 50px; font-family: Arial;">
<h2>YouTube Video Downloader</h2>
<form method="POST">
<input type="text" name="url" placeholder="Paste link here..." style="width: 80%; padding: 10px;" required><br><br>
<button type="submit" name="format" value="mp4" style="padding: 10px 20px;">Download MP4</button>
<button type="submit" name="format" value="mp3" style="padding: 10px 20px;">Download MP3</button>
</form>
{% if msg %}<p>{{ msg }}</p>{% endif %}
</body>
</html>
'''
@app.route('/', methods=['GET', 'POST'])
def index():
msg = ""
if request.method == 'POST':
url = request.form.get('url')
fmt = request.form.get('format')
# ডাউনলোডের লোকেশন (Downloads ফোল্ডার)
save_path = '/sdcard/Download/%(title)s.%(ext)s'
ydl_opts = {
'outtmpl': save_path,
}
if fmt == 'mp3':
ydl_opts.update({
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
})
else:
ydl_opts['format'] = 'bestvideo+bestaudio/best'
try:
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
msg = "Download Completed! Check your Downloads folder."
except Exception as e:
msg = f"Error: {str(e)}"
return render_template_string(HTML, msg=msg)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
```
*(কোড পেস্ট করা হলে CTRL+O, Enter, এবং CTRL+X দিয়ে সেভ করে বের হয়ে আসুন।)*
### ৩. সার্ভারটি চালু করুন
এখন নিচের কমান্ড দিয়ে আপনার কাস্টম সার্ভারটি রান করুন:
```bash
python app.py
```
### ৪. কিভাবে ব্যবহার করবেন?
1. আপনার ফোনের যেকোনো ব্রাউজার (Chrome/Via) ওপেন করুন।
2. অ্যাড্রেস বারে লিখুন: localhost:8080
3. এখন সেখানে আপনার ইউটিউব লিঙ্কটি দিন।
4. **MP4** বা **MP3** বাটনে ক্লিক করুন।
5. টার্মাক্সে ডাউনলোড শুরু হবে এবং ফাইলটি আপনার ফোনের **Downloads** ফোল্ডারে সেভ হবে।
### ৫. কাজ না করলে যা করবেন:
যদি কাজ না করে, তবে নিশ্চিত করুন আপনি টার্মাক্সকে স্টোরেজ পারমিশন দিয়েছেন:
```bash
termux-setup-storage
```
এই সিস্টেমটি আপনার নিজের বানানো একটি **Web-UI Downloader** হিসেবে কাজ করবে। ট্রাই করে দেখুন!
অভিনন্দন! আপনার স্ক্রিনশট দেখে বোঝা যাচ্ছে আপনার **Flask Server** সফলভাবে রান করছে। আপনি একদম ঠিক পথে আছেন।
এখন এটিকে ব্যবহার করার জন্য নিচের ধাপগুলো অনুসরণ করুন:
### ১. ব্রাউজারে প্রবেশ করুন
টার্মাক্স বন্ধ করবেন না (এটি ব্যাকগ্রাউন্ডে চলতে দিন)। আপনার ফোনের যেকোনো ব্রাউজার (যেমন: Chrome বা Via) ওপেন করুন।
### ২. অ্যাড্রেস টাইপ করুন
ব্রাউজারের ওপরের বারে নিচের যেকোনো একটি লিখে এন্টার দিন:
* http://127.0.0.1:8080
* অথবা সহজভাবে লিখুন: localhost:8080
### ৩. ইন্টারফেস ব্যবহার করুন
আপনি যদি আমার দেওয়া কোডটি app.py তে সেভ করে থাকেন, তবে ব্রাউজারে একটি ইনপুট বক্স এবং দুটি বাটন (MP4 ও MP3) দেখতে পাবেন।
* সেখানে ইউটিউব লিঙ্ক পেস্ট করুন।
* বাটনে ক্লিক করুন।
* টার্মাক্সে ফিরে তাকালে দেখবেন সেখানে ডাউনলোড প্রসেস দেখাচ্ছে।
### কিছু জরুরি বিষয়:
* **সার্ভার বন্ধ করতে চাইলে:** টার্মাক্সে ফিরে গিয়ে কিবোর্ড থেকে CTRL + C চাপুন।
* **যদি ফাইল সেভ না হয়:** নিশ্চিত করুন আপনি termux-setup-storage কমান্ডটি দিয়ে গ্যালারির পারমিশন এলাউ করেছেন।
* **ডাউনলোড কোথায় হবে:** কোড অনুযায়ী ফাইলটি আপনার ফোনের প্রধান **Download** ফোল্ডারে জমা হবে।
**একটি টিপস:** আপনি যদি একই ওয়াইফাইয়ে থাকা অন্য কোনো মোবাইল বা ল্যাপটপ থেকে এটি ব্যবহার করতে চান, তবে ওই ডিভাইসের ব্রাউজারে গিয়ে আপনার স্ক্রিনশটে থাকা আইপিটি লিখুন: http://100.97.221.112:8080 (এটি আপনার লোকাল নেটওয়ার্ক আইপি)।
এখন ব্রাউজারে গিয়ে চেক করে দেখুন তো ইন্টা
রফেসটি আসছে কি না?

Comments
Post a Comment