# MPG to MP4 — सेटअप गाइड

> MPG वीडियो को MP4 में बदलें। आपके अपने डिवाइस पर चलता है।

- भाषा: हिन्दी (Hindi)
- यह पेज: https://www.arvish.xyz/apps/mpg-to-mp4
- ऐप का कोड (git clone): https://github.com/Abhishek862009/mpg-to-mp4.git
- सोर्स कोड: https://github.com/Abhishek862009/mpg-to-mp4

MPG to MP4 आपके अपने डिवाइस पर चलता है, किसी सर्वर पर नहीं। नीचे अपना डिवाइस चुनें और स्टेप्स फॉलो करें। पहली बार सेटअप में कुछ मिनट लगते हैं क्योंकि कुछ मुफ़्त प्रोग्राम इंस्टॉल करने होते हैं; उसके बाद ऐप चालू करने के लिए बस एक कमांड चलानी होती है।

वेबसाइट की जगह ऐप क्यों? ब्राउज़र MPG फ़ाइलें भरोसे से न चला पाते हैं, न बदल पाते हैं, और बड़े वीडियो वेबसाइट पर अपलोड करना धीमा है। आपके अपने डिवाइस पर असली ffmpeg प्रोग्राम काम करता है, इसलिए यह तेज़ है और आपका वीडियो आपके डिवाइस से बाहर नहीं जाता। ऐप सिर्फ़ 127.0.0.1 पर सुनता है, यानी उसे सिर्फ़ वही डिवाइस खोल सकता है; आपके Wi-Fi के दूसरे डिवाइस नहीं खोल सकते।

## आपको क्या चाहिए

- पहली बार के सेटअप के लिए इंटरनेट के साथ Windows PC, Mac, Linux कंप्यूटर या Android फ़ोन। iPhone और iPad सपोर्टेड नहीं हैं।
- Git, जो ऐप को GitHub से डाउनलोड करता है। नीचे के स्टेप्स इसे इंस्टॉल करते हैं।
- Python 3.9 या नया। नीचे के स्टेप्स इसे इंस्टॉल करते हैं।
- ffmpeg, वह प्रोग्राम जो असल में कन्वर्ट करता है। स्टेप्स इसे इंस्टॉल करते हैं।

## Windows 10 / 11 (PowerShell या CMD)

PowerShell और Command Prompt (CMD) दोनों में चलता है। winget Windows 10/11 में पहले से होता है।

ℹ️ कन्वर्टर खुद Linux पर टेस्ट किया गया है। ये Windows स्टेप्स winget, Python और ffmpeg के आधिकारिक दस्तावेज़ों से लिखे गए हैं, और लेखक ने इन्हें अभी Windows PC पर चलाकर नहीं देखा है। कोई स्टेप फेल हो तो नीचे “कुछ गड़बड़ हो तो” देखें।

### स्टेप 1: PowerShell या Command Prompt खोलें

Start बटन दबाएँ, PowerShell (या Command Prompt के लिए cmd) लिखें और Enter दबाएँ। एक विंडो खुलेगी। नीचे की कमांड इसी में पेस्ट करनी हैं (Ctrl+V, या राइट-क्लिक)। जहाँ PowerShell और CMD अलग हैं, वहाँ दोनों वर्शन दिए गए हैं।

### स्टेप 2: Git, Python और ffmpeg इंस्टॉल करें

ये तीन लाइनें एक-एक करके चलाएँ (एक लाइन कॉपी करें, पेस्ट करें, Enter दबाएँ, खत्म होने तक रुकें)। ये PowerShell और CMD में एक जैसी हैं।

```powershell
winget install -e --id Git.Git
winget install -e --id Python.Python.3.13
winget install -e --id Gyan.FFmpeg
```

अगर यह शर्तें मानने को कहे, तो Y लिखकर Enter दबाएँ। तीनों हो जाएँ तो विंडो बंद करके दोबारा खोलें। नए प्रोग्राम ढूँढने के लिए Windows को यह चाहिए।

### स्टेप 3: जाँचें कि इंस्टॉल हो गए

```powershell
git --version
py --version
ffmpeg -version
```

git को वर्शन नंबर दिखाना चाहिए, py में Python 3.9 या ऊपर दिखना चाहिए (जैसे 3.13), और ffmpeg को “ffmpeg version” से शुरू होने वाली कुछ लाइनें दिखानी चाहिए।

### स्टेप 4: ऐप का कोड लें

यह GitHub से ऐप को आपके यूज़र फ़ोल्डर में mpg-to-mp4 नाम के फ़ोल्डर में उतारता है और उसके अंदर चला जाता है।

PowerShell:
```powershell
cd $HOME
git clone https://github.com/Abhishek862009/mpg-to-mp4.git
cd mpg-to-mp4
```

Command Prompt (CMD):
```powershell
cd %USERPROFILE%
git clone https://github.com/Abhishek862009/mpg-to-mp4.git
cd mpg-to-mp4
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

PowerShell और CMD में एक जैसी लाइनें।

```powershell
py -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 6: ऐप चालू करें

```powershell
.venv\Scripts\python.exe app.py
```

जब विंडो में “MPG to MP4 is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 7: अगली बार

कुछ दोबारा इंस्टॉल नहीं करना। PowerShell या CMD खोलकर ये चलाएँ:

PowerShell:
```powershell
cd $HOME\mpg-to-mp4
.venv\Scripts\python.exe app.py
```

Command Prompt (CMD):
```powershell
cd %USERPROFILE%\mpg-to-mp4
.venv\Scripts\python.exe app.py
```

ऐप बंद करने के लिए विंडो पर क्लिक करके Ctrl+C दबाएँ।

### कुछ गड़बड़ हो तो

- **ऐप कहता है “Not enough free disk space”**
  आपकी फ़ाइल के साइज़ का लगभग 1.5 गुना टेम्पररी फ़ोल्डर में खाली होना चाहिए। जगह खाली करें, या ऐप को ऐसी ड्राइव के फ़ोल्डर के साथ चालू करें जिसमें ज़्यादा जगह हो (फ़ोल्डर का नाम अपने हिसाब से बदलें; फ़ोल्डर न हो तो ऐप उसे बना देता है)।
  PowerShell:
  ```powershell
  $env:MPG_TEMP_DIR="D:\mpg-temp"
  .venv\Scripts\python.exe app.py
  ```

  Command Prompt (CMD):
  ```powershell
  set MPG_TEMP_DIR=D:\mpg-temp
  .venv\Scripts\python.exe app.py
  ```

- **पेज खुलता है, लेकिन कन्वर्ट करने पर “ffmpeg was not found” आता है**
  ऐप सिर्फ़ वही ffmpeg इस्तेमाल कर सकता है जो यह विंडो ढूँढ पाए। ऐप रोकें (Ctrl+C), इस PowerShell या CMD विंडो को बंद करके नई खोलें। पहली लाइन चलाएँ: अगर “ffmpeg version” छपे, तो ऐप फिर से चालू करें। अगर कमांड न मिले, तो दूसरी लाइन से ffmpeg इंस्टॉल करें, फिर विंडो बंद करके नई खोलें और ऐप फिर से चालू करें।
  ```powershell
  ffmpeg -version
  winget install -e --id Gyan.FFmpeg
  ```

- **“git is not recognized”, “py is not recognized” या “ffmpeg is not recognized”**
  विंडो बंद करके दोबारा खोलें। फिर भी न चले, तो प्रोग्राम को उसकी आधिकारिक साइट से हाथ से इंस्टॉल करें: git-scm.com, python.org (इंस्टॉलर में “Add python.exe to PATH” पर टिक करें) और ffmpeg.org (Windows builds)।
- **“winget is not recognized”**
  Microsoft Store में “App Installer” अपडेट करें, या ऊपर की साइटों से Git, Python और ffmpeg हाथ से इंस्टॉल करें।
- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  PowerShell:
  ```powershell
  $env:PORT=5001
  .venv\Scripts\python.exe app.py
  ```

  Command Prompt (CMD):
  ```powershell
  set PORT=5001
  .venv\Scripts\python.exe app.py
  ```

### अपडेट कैसे करें

ऐप का नया वर्शन समस्याएँ ठीक कर सकता है या सुधार ला सकता है। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो वीडियो आप पहले कन्वर्ट कर चुके हैं, वे वहीं रहते हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसकी विंडो पर क्लिक करके Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

PowerShell:
```powershell
cd $HOME\mpg-to-mp4
git pull
```

Command Prompt (CMD):
```powershell
cd %USERPROFILE%\mpg-to-mp4
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```powershell
.venv\Scripts\python.exe -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```powershell
.venv\Scripts\python.exe app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```powershell
  git stash
  git pull
  ```

## Android फ़ोन (Termux के साथ)

Termux Android के लिए मुफ़्त टर्मिनल ऐप है। यह ऐप उसी के अंदर चलता है।

ℹ️ कन्वर्टर खुद Linux पर टेस्ट किया गया है। ये Termux स्टेप्स Termux की पैकेज लिस्ट और दस्तावेज़ों से लिखे गए हैं, और लेखक ने इन्हें अभी फ़ोन पर चलाकर नहीं देखा है। फ़ोन पर कन्वर्ज़न कंप्यूटर से धीमा होता है, इसलिए पहले कोई छोटा वीडियो आज़माएँ।

### स्टेप 1: Termux को F-Droid या GitHub से इंस्टॉल करें

Google Play वाला वर्शन इस्तेमाल न करें। Termux टीम के अनुसार Google Play आधिकारिक स्रोत नहीं है, और वह वर्शन पुराना है। इन दो जगहों में से किसी से APK डाउनलोड करके इंस्टॉल करें (Android आपके ब्राउज़र से इंस्टॉल की अनुमति माँग सकता है)।

- F-Droid पर Termux: https://f-droid.org/packages/com.termux/
- GitHub पर Termux रिलीज़: https://github.com/termux/termux-app/releases

### स्टेप 2: Termux खोलें और अपडेट करें

```bash
pkg update
```

कोई सवाल पूछे तो Enter दबाएँ (या Y लिखकर Enter)।

### स्टेप 3: Python, ffmpeg और Git इंस्टॉल करें

```bash
pkg install -y python python-pip ffmpeg git
```

### स्टेप 4: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/mpg-to-mp4.git
cd mpg-to-mp4
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

```bash
pip install -r requirements.txt
```

प्रॉम्प्ट वापस आने तक रुकें। एरर के साथ रुक जाए तो नीचे “कुछ गड़बड़ हो तो” खोलें।

### स्टेप 6: ऐप चालू करें

```bash
python app.py
```

जब Termux में “MPG to MP4 is running” दिखे, तो उसी फ़ोन पर Chrome (या कोई भी ब्राउज़र) खोलकर http://127.0.0.1:5000 पर जाएँ। Termux को चालू रखें: नोटिफ़िकेशन एरिया नीचे खींचें और Termux की नोटिफ़िकेशन पर “Acquire wakelock” दबाएँ, ताकि वीडियो बदलते समय Android इसे सुला न दे।

### स्टेप 7: अगली बार

```bash
cd ~/mpg-to-mp4
python app.py
```

ऐप बंद करने के लिए Termux में Ctrl+C दबाएँ (या Termux को स्वाइप करके हटा दें)।

### कुछ गड़बड़ हो तो

- **ऐप कहता है “Not enough free disk space”**
  आपकी फ़ाइल के साइज़ का लगभग 1.5 गुना टेम्पररी फ़ोल्डर में खाली होना चाहिए। जगह खाली करें, या ऐप को ऐसी ड्राइव के फ़ोल्डर के साथ चालू करें जिसमें ज़्यादा जगह हो (फ़ोल्डर का नाम अपने हिसाब से बदलें; फ़ोल्डर न हो तो ऐप उसे बना देता है)।
  ```bash
  MPG_TEMP_DIR=$HOME/mpg-temp python app.py
  ```

- **पेज खुलता है, लेकिन कन्वर्ट करने पर “ffmpeg was not found” आता है**
  ऐप सिर्फ़ वही ffmpeg इस्तेमाल कर सकता है जो यह विंडो ढूँढ पाए। ऐप रोकें (Ctrl+C), फिर Termux में ये लाइनें चलाएँ। पहली लाइन चलाएँ: अगर “ffmpeg version” छपे, तो ऐप फिर से चालू करें। अगर कमांड न मिले, तो दूसरी लाइन से ffmpeg इंस्टॉल करें, फिर विंडो बंद करके नई खोलें और ऐप फिर से चालू करें।
  ```bash
  ffmpeg -version
  pkg install -y ffmpeg
  ```

- **pip कहता है “externally-managed-environment”**
  एक शब्द और जोड़कर इंस्टॉल दोबारा चलाएँ:
  ```bash
  pip install --break-system-packages -r requirements.txt
  ```

- **स्क्रीन बंद होने पर ऐप कुछ देर बाद रुक जाता है**
  Termux की नोटिफ़िकेशन पर “Acquire wakelock” दबाएँ, और Android सेटिंग्स में Termux का बैटरी इस्तेमाल “Unrestricted” करें (शब्द फ़ोन के हिसाब से अलग हो सकते हैं)।
- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```bash
  PORT=5001 python app.py
  ```

### अपडेट कैसे करें

ऐप का नया वर्शन समस्याएँ ठीक कर सकता है या सुधार ला सकता है। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो वीडियो आप पहले कन्वर्ट कर चुके हैं, वे वहीं रहते हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप Termux में चल रहा है, तो Termux में Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/mpg-to-mp4
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

- **pip कहता है “externally-managed-environment”**
  एक शब्द और जोड़कर लाइब्रेरी अपडेट दोबारा चलाएँ:
  ```bash
  pip install --break-system-packages -U -r requirements.txt
  ```

## Linux (Ubuntu, Debian, Fedora, Arch)

टर्मिनल इस्तेमाल होता है। अपने distribution की लाइन चुनें।

✅ सेटअप, स्टार्ट और कन्वर्ज़न के स्टेप्स Linux पर ffmpeg और Flask के साथ एक टेस्ट MPG फ़ाइल से चलाकर देखे गए हैं। पैकेज इंस्टॉल की लाइनें (apt, dnf, pacman) हर distribution की मानक कमांड हैं और लेखक ने इन्हें नहीं चलाया।

### स्टेप 1: टर्मिनल खोलें

ज़्यादातर सिस्टम में शॉर्टकट Ctrl+Alt+T है। नहीं तो अपने एप्लिकेशन में “Terminal” खोजें।

### स्टेप 2: Git, Python और ffmpeg इंस्टॉल करें

Ubuntu / Debian:
```bash
sudo apt update
sudo apt install -y git python3 python3-venv python3-pip ffmpeg
```

Fedora:
```bash
sudo dnf install -y git python3 python3-pip ffmpeg-free
```

Arch:
```bash
sudo pacman -S --needed git python python-pip ffmpeg
```

### स्टेप 3: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/mpg-to-mp4.git
cd mpg-to-mp4
```

### स्टेप 4: सेटअप करें (सिर्फ़ पहली बार)

```bash
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 5: ऐप चालू करें

```bash
.venv/bin/python app.py
```

जब विंडो में “MPG to MP4 is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 6: अगली बार

```bash
cd ~/mpg-to-mp4
.venv/bin/python app.py
```

ऐप बंद करने के लिए टर्मिनल विंडो पर क्लिक करके Ctrl+C दबाएँ।

### कुछ गड़बड़ हो तो

- **ऐप कहता है “Not enough free disk space”**
  आपकी फ़ाइल के साइज़ का लगभग 1.5 गुना टेम्पररी फ़ोल्डर में खाली होना चाहिए। जगह खाली करें, या ऐप को ऐसी ड्राइव के फ़ोल्डर के साथ चालू करें जिसमें ज़्यादा जगह हो (फ़ोल्डर का नाम अपने हिसाब से बदलें; फ़ोल्डर न हो तो ऐप उसे बना देता है)।
  ```bash
  MPG_TEMP_DIR=$HOME/mpg-temp .venv/bin/python app.py
  ```

- **पेज खुलता है, लेकिन कन्वर्ट करने पर “ffmpeg was not found” आता है**
  ऐप सिर्फ़ वही ffmpeg इस्तेमाल कर सकता है जो यह विंडो ढूँढ पाए। ऐप रोकें (Ctrl+C), नई टर्मिनल विंडो खोलें। पहली लाइन चलाएँ: अगर “ffmpeg version” छपे, तो ऐप फिर से चालू करें। अगर कमांड न मिले, तो दूसरी लाइन से ffmpeg इंस्टॉल करें, फिर विंडो बंद करके नई खोलें और ऐप फिर से चालू करें।
  ```bash
  ffmpeg -version
  sudo apt install -y ffmpeg
  ```

- **वर्चुअल एनवायरनमेंट बनाते समय “ensurepip is not available”**
  Ubuntu और Debian पर venv पैकेज इंस्टॉल करें, फिर सेटअप की लाइनें दोबारा चलाएँ:
  ```bash
  sudo apt install -y python3-venv
  ```

- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```bash
  PORT=5001 .venv/bin/python app.py
  ```

### अपडेट कैसे करें

ऐप का नया वर्शन समस्याएँ ठीक कर सकता है या सुधार ला सकता है। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो वीडियो आप पहले कन्वर्ट कर चुके हैं, वे वहीं रहते हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसके टर्मिनल पर क्लिक करके Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/mpg-to-mp4
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
.venv/bin/python -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
.venv/bin/python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

## Mac (macOS)

Terminal और Homebrew इस्तेमाल होता है, जो Mac पर प्रोग्राम इंस्टॉल करने का आम तरीका है।

ℹ️ कन्वर्टर खुद Linux पर टेस्ट किया गया है। ये Mac स्टेप्स Homebrew के आधिकारिक दस्तावेज़ों और पैकेज पेजों से लिखे गए हैं, और लेखक ने इन्हें अभी Mac पर चलाकर नहीं देखा है। कोई स्टेप फेल हो तो नीचे “कुछ गड़बड़ हो तो” देखें।

### स्टेप 1: Terminal खोलें

Command+Space दबाएँ, Terminal लिखें और Enter दबाएँ।

### स्टेप 2: Homebrew इंस्टॉल करें (अगर नहीं है)

पहले जाँचें कि कहीं पहले से तो नहीं है। अगर वर्शन नंबर दिखे, तो दूसरी लाइन छोड़ दें।

```bash
brew --version
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

दूसरी लाइन brew.sh का आधिकारिक इंस्टॉलर है। यह बताता है कि क्या करेगा और आपका Mac पासवर्ड माँगता है। खत्म होने पर यह “Next steps” छापता है: वे लाइनें भी कॉपी करके चलाएँ, ताकि brew कमांड काम करे।

- Homebrew: https://brew.sh/

### स्टेप 3: Git, Python और ffmpeg इंस्टॉल करें

```bash
brew install git python@3.13 ffmpeg
```

### स्टेप 4: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/mpg-to-mp4.git
cd mpg-to-mp4
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

```bash
python3.13 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 6: ऐप चालू करें

```bash
.venv/bin/python app.py
```

जब विंडो में “MPG to MP4 is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 7: अगली बार

```bash
cd ~/mpg-to-mp4
.venv/bin/python app.py
```

ऐप बंद करने के लिए Terminal विंडो पर क्लिक करके Control+C दबाएँ।

### कुछ गड़बड़ हो तो

- **ऐप कहता है “Not enough free disk space”**
  आपकी फ़ाइल के साइज़ का लगभग 1.5 गुना टेम्पररी फ़ोल्डर में खाली होना चाहिए। जगह खाली करें, या ऐप को ऐसी ड्राइव के फ़ोल्डर के साथ चालू करें जिसमें ज़्यादा जगह हो (फ़ोल्डर का नाम अपने हिसाब से बदलें; फ़ोल्डर न हो तो ऐप उसे बना देता है)।
  ```bash
  MPG_TEMP_DIR=$HOME/mpg-temp .venv/bin/python app.py
  ```

- **पेज खुलता है, लेकिन कन्वर्ट करने पर “ffmpeg was not found” आता है**
  ऐप सिर्फ़ वही ffmpeg इस्तेमाल कर सकता है जो यह विंडो ढूँढ पाए। ऐप रोकें (Ctrl+C), नई Terminal विंडो खोलें। पहली लाइन चलाएँ: अगर “ffmpeg version” छपे, तो ऐप फिर से चालू करें। अगर कमांड न मिले, तो दूसरी लाइन से ffmpeg इंस्टॉल करें, फिर विंडो बंद करके नई खोलें और ऐप फिर से चालू करें।
  ```bash
  ffmpeg -version
  brew install ffmpeg
  ```

- **Homebrew इंस्टॉल करने के ठीक बाद “brew: command not found”**
  Homebrew इंस्टॉलर ने अंत में जो “Next steps” लाइनें छापी थीं, उन्हें चलाएँ और फिर नई Terminal विंडो खोलें।
- **“python3.13: command not found”**
  नई Terminal विंडो खोलकर फिर कोशिश करें। फिर भी न चले, तो इंस्टॉल वाली लाइन दोबारा चलाएँ:
  ```bash
  brew install python@3.13
  ```

- **Mac पर port 5000 पहले से इस्तेमाल में है**
  macOS port 5000 को AirPlay Receiver के लिए इस्तेमाल कर सकता है। ऐप को दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```bash
  PORT=5001 .venv/bin/python app.py
  ```

### अपडेट कैसे करें

ऐप का नया वर्शन समस्याएँ ठीक कर सकता है या सुधार ला सकता है। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो वीडियो आप पहले कन्वर्ट कर चुके हैं, वे वहीं रहते हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसकी Terminal विंडो पर क्लिक करके Control+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/mpg-to-mp4
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
.venv/bin/python -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
.venv/bin/python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

## ऐप कैसे इस्तेमाल करें

1. अपने ब्राउज़र में http://127.0.0.1:5000 खोलें।
2. अपनी .mpg या .mpeg फ़ाइल बॉक्स पर छोड़ें, या बॉक्स पर क्लिक करके फ़ाइल चुनें।
3. “Speed or quality” चुनें (बड़ी फ़ाइलों के लिए Fast सबसे अच्छा है) और “Convert to MP4” दबाएँ। दो बार प्रोग्रेस दिखाते हैं: फ़ाइल को ऐप तक भेजना, और उसे कन्वर्ट करना, प्रतिशत, स्पीड और बचे समय के साथ।
4. “Done” दिखे तो “Download MP4” दबाएँ। फ़ाइल आपके ब्राउज़र के Downloads फ़ोल्डर में जाती है। फिर डिस्क की जगह खाली करने के लिए “Delete temporary file and convert another” दबाएँ।

## ध्यान रखें

- वीडियो को H.264 वीडियो और AAC ऑडियो में दोबारा एन्कोड किया जाता है, जो MP4 प्लेयर को चाहिए। साइज़ की कोई सीमा नहीं है, इसलिए 7 से 8 GB की बड़ी फ़ाइलें भी चलती हैं। समय आपके कंप्यूटर पर निर्भर करता है: कई मिनट से लेकर कुछ घंटे तक लग सकते हैं, इसलिए विंडो खुली और डिवाइस जगा हुआ रखें। “Fast” सबसे तेज़ है। फ़ोन कंप्यूटर से बहुत धीमा होता है और उसमें जगह कम पड़ सकती है, इसलिए बहुत बड़ी फ़ाइलों के लिए कंप्यूटर इस्तेमाल करें।
- ऐप को अपने टेम्पररी फ़ोल्डर में आपकी फ़ाइल के साइज़ का लगभग 1.5 गुना खाली डिस्क स्पेस चाहिए (Windows पर यह आम तौर पर C: ड्राइव होती है)। जगह कम हो तो ऐप बता देता है। डाउनलोड के बाद “Delete temporary file and convert another” दबाएँ। ऐप बंद करने पर भी अस्थायी फ़ाइलें हट जाती हैं। यह सिर्फ़ .mpg और .mpeg फ़ाइलें लेता है; फ़ाइल खराब हो तो ऐप बताता है कि वह कन्वर्ट नहीं हो सकी।
- आपके वीडियो का कुछ भी arvish.xyz से होकर नहीं जाता। आप ऐप का कोड एक बार GitHub से लेते हैं; उसके बाद कन्वर्ज़न सिर्फ़ आपके डिवाइस पर होता है, और “Delete temporary file and convert another” दबाने या ऐप बंद करने पर अस्थायी फ़ाइलें हटा दी जाती हैं।
- ऐप ओपन सोर्स है। कोड GitHub पर अपनी अलग रिपॉज़िटरी में है: Abhishek862009/mpg-to-mp4।
