Polish README translations (ES, HI, ID)
Copy edits and consistency fixes for translated README files in readme-translations (Spanish, Hindi and Indonesian). Changes include corrected wording and grammar, standardized headings and labels (installation, usage, settings), localized UI/alt text updates, clarified install/update instructions, unified terminology (e.g. Generic Mode, FFmpeg/yt-dlp detection), and various formatting improvements across language tables and troubleshooting notes. Pure documentation updates only.
This commit is contained in:
+239
-233
@@ -12,25 +12,25 @@
|
|||||||
[](https://pypi.org/project/ytsage/)
|
[](https://pypi.org/project/ytsage/)
|
||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
**Un descargador de YouTube moderno con una interfaz PySide6 limpia.**
|
**Un moderno descargador de YouTube con una interfaz PySide6 elegante.**
|
||||||
Descargue videos en cualquier calidad, extraiga audio, obtenga subtítulos y más.
|
Descarga videos en cualquier calidad, extrae audio, obtén subtítulos y más.
|
||||||
|
|
||||||
### 🌍 LÉAME Idiomas
|
### 🌍 Idiomas del README
|
||||||
|
|
||||||
Inglés: [EN](../README.md)
|
Inglés: [EN](../README.md)
|
||||||
| العربية: [AR](README.ar.md)
|
| Árabe: [AR](README.ar.md)
|
||||||
| Alemán: [DE](README.de.md)
|
| Alemán: [DE](README.de.md)
|
||||||
| Español: [ES](README.es.md)
|
| Español: [ES](README.es.md)
|
||||||
| Francés: [FR](README.fr.md)
|
| Francés: [FR](README.fr.md)
|
||||||
| हिन्दी: [HI](README.hi.md)
|
| Hindi: [HI](README.hi.md)
|
||||||
| Bahasa Indonesia: [ID](README.id.md)
|
| Indonesio: [ID](README.id.md)
|
||||||
| Italiano: [IT](README.it.md)
|
| Italiano: [IT](README.it.md)
|
||||||
| Traducción: [JA](README.ja.md)
|
| Japonés: [JA](README.ja.md)
|
||||||
| Polonia: [PL](README.pl.md)
|
| Polaco: [PL](README.pl.md)
|
||||||
| Português: [PT](README.pt.md)
|
| Portugués: [PT](README.pt.md)
|
||||||
| Ruso: [RU](README.ru.md)
|
| Ruso: [RU](README.ru.md)
|
||||||
| Turco: [TR](README.tr.md)
|
| Turco: [TR](README.tr.md)
|
||||||
| Traducción: [ZH](README.zh.md)
|
| Chino: [ZH](README.zh.md)
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="#installation">Instalación</a> •
|
<a href="#installation">Instalación</a> •
|
||||||
@@ -38,8 +38,8 @@ Inglés: [EN](../README.md)
|
|||||||
<a href="#usage">Uso</a> •
|
<a href="#usage">Uso</a> •
|
||||||
<a href="#screenshots">Capturas de pantalla</a> •
|
<a href="#screenshots">Capturas de pantalla</a> •
|
||||||
<a href="#troubleshooting">Solución de problemas</a> •
|
<a href="#troubleshooting">Solución de problemas</a> •
|
||||||
<a href="#sponsor">Patrocinador</a> •
|
<a href="#sponsor">Patrocinar</a> •
|
||||||
<a href="#contributing">Contribuyendo</a>
|
<a href="#contributing">Contribuir</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -51,42 +51,43 @@ Inglés: [EN](../README.md)
|
|||||||
|
|
||||||
YTSage está diseñado para usuarios que desean un **descargador de YouTube simple pero potente**. A diferencia de otras herramientas, ofrece:
|
YTSage está diseñado para usuarios que desean un **descargador de YouTube simple pero potente**. A diferencia de otras herramientas, ofrece:
|
||||||
|
|
||||||
- Una interfaz PySide6 limpia y moderna
|
- Interfaz PySide6 moderna y limpia
|
||||||
- Descargas con un solo clic de vídeo, audio y subtítulos.
|
- Descarga con un solo clic para video, audio y subtítulos
|
||||||
- Funciones avanzadas como SponsorBlock, combinación de subtítulos y selección de listas de reproducción
|
- Funciones avanzadas como SponsorBlock, fusión de subtítulos y selección de listas de reproducción
|
||||||
- Modo genérico opcional para sitios compatibles con yt-dlp más allá de YouTube
|
- Modo genérico (Generic Mode) opcional para sitios compatibles con yt-dlp más allá de YouTube
|
||||||
- Soporte multiplataforma y fácil instalación.
|
- Soporte multiplataforma e instalación sencilla
|
||||||
|
|
||||||
<a id="features"></a>
|
<a id="features"></a>
|
||||||
## ✨ Características
|
## ✨ Características
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Características principales | Funciones avanzadas | Funciones adicionales |
|
| Características básicas | Características avanzadas | Características adicionales |
|
||||||
|-----------------------------------|-----------------------------------------|------------------------------------|
|
|-----------------------------------|-----------------------------------------|------------------------------------|
|
||||||
| 🎥 Tabla de formato | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR |
|
| 🎥 Tabla de formatos | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR |
|
||||||
| 🎵 Extracción de audio | 📝 Seleccionar y fusionar múltiples subtítulos | 🔄 Actualización automática yt-dlp |
|
| 🎵 Extracción de audio | 📝 Selección y fusión de subtítulos | 🔄 Actualización automática de yt-dlp |
|
||||||
| ✨ Interfaz de usuario sencilla | 💾 Guardar descripción y miniatura | 🛠️ FFmpeg/yt-dlp/Detección de Deno |
|
| ✨ Interfaz de usuario simple | 💾 Guarda descripción y miniatura | 🛠️ Detección de FFmpeg/yt-dlp/Deno |
|
||||||
| 📋 Soporte y selector de listas de reproducción | 🚀 Limitador de velocidad | ⚙️ Comandos personalizados |
|
| 📋 Soporte y selector de listas de reproducción | 🚀 Limitador de velocidad | ⚙️ Comandos personalizados |
|
||||||
| 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies |
|
| 📑 Integración de capítulos | ✂️ Recorte de secciones de video | 🍪 Inicio de sesión con cookies |
|
||||||
| 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy |
|
| 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy |
|
||||||
| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada |
|
| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de video | 🆙 Pestaña de actualización integrada |
|
||||||
| 🌍 Modo Genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas |
|
| 🌍 Modo genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas |
|
||||||
|
| 💾 Exportación de listas de reproducción | ⚙️ Calidad y subtítulos predeterminados | |
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="installation"></a>
|
<a id="installation"></a>
|
||||||
## 🚀 Instalación
|
## 🚀 Instalación
|
||||||
|
|
||||||
### ⚡ Instalación rápida (recomendado)
|
### ⚡ Instalación rápida (Recomendado)
|
||||||
|
|
||||||
Instale YTSage desde PyPI:
|
Instala YTSage vía PyPI:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install ytsage
|
pip install ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🔄 Actualizar una instalación existente</summary>
|
<summary>🔄 Actualizar instalación existente</summary>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install --upgrade ytsage
|
pip install --upgrade ytsage
|
||||||
@@ -94,41 +95,41 @@ pip install --upgrade ytsage
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
Luego inicie la aplicación:
|
Luego, ejecuta la aplicación:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ytsage
|
ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
### 📦 Ejecutables prediseñados
|
### 📦 Ejecutables precompilados
|
||||||
|
|
||||||
> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
|
> [👉 Descargar el último lanzamiento](https://github.com/oop7/YTSage/releases/latest)
|
||||||
|
|
||||||
#### 🪟Ventanas
|
#### 🪟 Windows
|
||||||
|
|
||||||
| Formato | Descripción |
|
| Formato | Descripción |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Instalador estándar |
|
|  | Instalador estándar |
|
||||||
|  | Con FFmpeg incluido |
|
|  | Con FFmpeg incorporado |
|
||||||
|  | Versión portátil, no requiere instalación |
|
|  | Versión portable, no requiere instalación |
|
||||||
|  | Portátil con FFmpeg, con cremallera |
|
|  | Portable con FFmpeg, comprimido |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Pasos de instalación</summary>
|
<summary>🛠️ Pasos de instalación</summary>
|
||||||
|
|
||||||
1. **Instalador EXE (`.exe`)**: haga doble clic en el archivo y siga el asistente de configuración.
|
1. **Instalador EXE (`.exe`)**: Haz doble clic en el archivo y sigue el asistente de configuración.
|
||||||
2. **Versión portátil (`.zip`)**: extraiga el archivo a la ubicación deseada y ejecute `ytsage.exe`.
|
2. **Versión portable (`.zip`)**: Extrae el archivo en el lugar deseado y ejecuta `ytsage.exe`.
|
||||||
3. **FFmpeg incluido**: elija las versiones incluidas de FFmpeg si no tiene FFmpeg instalado en su sistema.
|
3. **FFmpeg incorporado**: Elige las versiones con FFmpeg incorporado si no tienes FFmpeg instalado en tu sistema.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### 🐧Linux
|
#### 🐧 Linux
|
||||||
|
|
||||||
| Formato | Descripción |
|
| Formato | Descripción |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Paquete Debian |
|
|  | Paquete Debian |
|
||||||
|  | AppImage, portátil |
|
|  | AppImage, portable |
|
||||||
|  | Paquete RPM |
|
|  | Paquete RPM |
|
||||||
|  | Paquete plano |
|
|  | Flatpak Bundle |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Pasos de instalación</summary>
|
<summary>🛠️ Pasos de instalación</summary>
|
||||||
@@ -136,43 +137,43 @@ ytsage
|
|||||||
- **DEB (`.deb`)**:
|
- **DEB (`.deb`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo dpkg -i ytsage_*.deb
|
sudo dpkg -i ytsage_*.deb
|
||||||
sudo apt-get install -f # Fix missing dependencies if any
|
sudo apt-get install -f # Repara dependencias faltantes si es necesario
|
||||||
```
|
```
|
||||||
- **RPM (`.rpm`)**:
|
- **RPM (`.rpm`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo rpm -i ytsage-*.rpm
|
sudo rpm -i ytsage-*.rpm
|
||||||
```
|
```
|
||||||
- **Imagen de aplicación (`.AppImage`)**:
|
- **AppImage (`.AppImage`)**:
|
||||||
```bash
|
```bash
|
||||||
chmod +x YTSage-*.AppImage
|
chmod +x YTSage-*.AppImage
|
||||||
./YTSage-*.AppImage
|
./YTSage-*.AppImage
|
||||||
```
|
```
|
||||||
- **Flatpak**: siga las instrucciones en Flathub o ejecute:
|
- **Flatpak**: Sigue las instrucciones en Flathub o ejecuta:
|
||||||
```bash
|
```bash
|
||||||
flatpak install flathub io.github.oop7.ytsage
|
flatpak install flathub io.github.oop7.ytsage
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### 🍎macOS
|
#### 🍎 macOS
|
||||||
|
|
||||||
| Formato | Descripción |
|
| Formato | Descripción |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Aplicación comprimida para Apple Silicon |
|
|  | Aplicación comprimida para Apple Silicon |
|
||||||
|  | Instalador de imágenes de disco para Apple Silicon |
|
|  | Instalador de imagen de disco para Apple Silicon |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Pasos de instalación</summary>
|
<summary>🛠️ Pasos de instalación</summary>
|
||||||
|
|
||||||
- **Instalador de DMG (`.dmg`)**: haga doble clic para montar, luego arrastre `YTSage.app` a su carpeta de Aplicaciones.
|
- **Instalador DMG (`.dmg`)**: Haz doble clic para montar, luego arrastra `YTSage.app` a tu carpeta de Aplicaciones.
|
||||||
- **Archivo de aplicaciones (`.zip`)**: extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones.
|
- **Archivo de aplicación (`.zip`)**: Extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones.
|
||||||
|
|
||||||
*Nota: Si encuentra el error "La aplicación está dañada", consulte el [macOS troubleshooting section](#troubleshooting) a continuación.*
|
*Nota: Si encuentras el error "La aplicación está dañada", consulta la sección de solución de problemas de macOS a continuación.*
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>💻 Instalación manual desde la fuente</summary>
|
<summary>💻 Instalación manual desde el código fuente</summary>
|
||||||
|
|
||||||
### 1. Clonar el repositorio
|
### 1. Clonar el repositorio
|
||||||
|
|
||||||
@@ -183,7 +184,7 @@ cd YTSage
|
|||||||
|
|
||||||
### 2. Instalar dependencias
|
### 2. Instalar dependencias
|
||||||
|
|
||||||
#### ⚡ Con ultravioleta
|
#### ⚡ Con uv
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv pip install .
|
uv pip install .
|
||||||
@@ -195,7 +196,7 @@ uv pip install .
|
|||||||
pip install .
|
pip install .
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Ejecute la aplicación
|
### 3. Ejecutar la aplicación
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python -m ytsage.main
|
python -m ytsage.main
|
||||||
@@ -209,167 +210,171 @@ python -m ytsage.main
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download Settings" width="400"/></td>
|
<td><img src="../branding/screenshots/Download-Settings.png" alt="Ajustes de descarga" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist Download" width="400"/></td>
|
<td><img src="../branding/screenshots/playlist.png" alt="Descarga de lista de reproducción" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>Configuración de descarga</em></td>
|
<td align="center"><em>Ajustes de descarga</em></td>
|
||||||
<td align="center"><em>Descargar lista de reproducción</em></td>
|
<td align="center"><em>Descarga de lista de reproducción</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audio Format Selection with Save Thumbnail" width="400"/></td>
|
<td><img src="../branding/screenshots/audio_format.png" alt="Selección de formato de audio" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Custom Options" width="400"/></td>
|
<td><img src="../branding/screenshots/Custom-Option.png" alt="Opción personalizada" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>Formato de audio</em></td>
|
<td align="center"><em>Formato de audio</em></td>
|
||||||
<td align="center"><em>Opciones personalizadas</em></td>
|
<td align="center"><em>Opción personalizada</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div><a id="usage"></a>
|
</div>
|
||||||
|
|
||||||
|
<a id="usage"></a>
|
||||||
## 📖 Uso
|
## 📖 Uso
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🎯 Uso básico</summary>
|
<summary>🎯 Uso básico</summary>
|
||||||
|
|
||||||
1. **Inicie YTSage**
|
1. **Lanza YTSage**
|
||||||
2. **Pegue la URL de YouTube** (o use el botón "Pegar URL")
|
2. **Pega la URL de YouTube** (o usa el botón "Paste URL")
|
||||||
3. **Haga clic en "Analizar"**
|
3. **Haz clic en "Analyze"**
|
||||||
4. **Seleccione formato:**
|
4. **Selecciona el formato:**
|
||||||
- `Video` para descargas de videos
|
- `Video` para descargas de video
|
||||||
- `Audio Only` para extracción de audio
|
- `Audio Only` para extracción de audio
|
||||||
5. **Elija Opciones:**
|
5. **Elige opciones:**
|
||||||
- Habilitar subtítulos y seleccionar idioma.
|
- Activar subtítulos y elegir idioma
|
||||||
- Habilitar la combinación de subtítulos
|
- Activar fusión de subtítulos
|
||||||
- Guardar miniatura
|
- Guardar miniatura
|
||||||
- Eliminar segmentos de patrocinadores
|
- Eliminar segmentos patrocinados
|
||||||
- Guardar descripción
|
- Guardar descripción
|
||||||
- Insertar capítulos
|
- Integrar capítulos
|
||||||
6. **Seleccione el directorio de salida**
|
6. **Selecciona directorio de salida**
|
||||||
7. **Haga clic en "Descargar"**
|
7. **Haz clic en "Download"**
|
||||||
|
|
||||||
> 💡 El directorio de descarga predeterminado es la carpeta "Descargas" del usuario.
|
> 💡 El directorio de descarga predeterminado es la carpeta "Downloads" del usuario.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📋 Descarga de lista de reproducción</summary>
|
<summary>📋 Descarga de listas de reproducción</summary>
|
||||||
|
|
||||||
1. **Pegar URL de la lista de reproducción**
|
1. **Pega la URL de la lista de reproducción**
|
||||||
2. **Haga clic en "Analizar"**
|
2. **Haz clic en "Analyze"**
|
||||||
3. **Seleccione videos del selector de lista de reproducción (opcional, el valor predeterminado es todos)**
|
3. **Selecciona videos del selector de listas (opcional, todos por defecto)**
|
||||||
4. **Elija el formato/calidad deseado**
|
4. **Elige formato/calidad deseada**
|
||||||
5. **Haga clic en "Descargar"**
|
5. **Haz clic en "Download"**
|
||||||
|
|
||||||
> 💡 La aplicación maneja automáticamente la cola de descarga
|
> 💡 La aplicación gestiona las colas de descarga automáticamente, y puedes exportar entradas de la lista como archivos `.txt`, `.csv`, `.m3u` o `.json`.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 Modo genérico para sitios que no son de YouTube</summary>
|
<summary>🌍 Modo genérico para sitios que no son YouTube</summary>
|
||||||
|
|
||||||
Utilice el modo genérico cuando desee que YTSage acepte URL de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros.
|
Usa el modo genérico (Generic Mode) cuando desees que YTSage acepte URLs de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros.
|
||||||
|
|
||||||
Cómo usarlo:
|
Cómo usarlo:
|
||||||
|
|
||||||
1. Abra `Download Settings`.
|
1. Abre `Download Settings`.
|
||||||
2. Habilite `Generic Mode`.
|
2. Activa `Generic Mode`.
|
||||||
3. Pegue una URL de lista de reproducción o video compatible que no sea de YouTube.
|
3. Pega una URL de video o lista de reproducción compatible que no sea de YouTube.
|
||||||
4. Haga clic en `Analyze`.
|
4. Haz clic en `Analyze`.
|
||||||
5. Elija un formato y descárguelo como de costumbre.
|
5. Elige el formato y descarga como de costumbre.
|
||||||
|
|
||||||
Notas:
|
Notas:
|
||||||
|
|
||||||
- El modo genérico solo cambia la validación de URL dentro de YTSage. El sitio de destino aún debe ser compatible con la versión de yt-dlp instalada.
|
- El modo genérico solo cambia la validación de la URL dentro de YTSage. El sitio debe ser compatible con tu versión instalada de yt-dlp.
|
||||||
- Algunos sitios requieren cookies, una sesión de inicio de sesión, un proxy o argumentos yt-dlp adicionales según el extractor.
|
- Algunos sitios requieren cookies, inicio de sesión, proxy o argumentos adicionales de yt-dlp dependiendo del extractor.
|
||||||
- Si un sitio falla, actualice primero yt-dlp desde la pestaña de actualización integrada antes de informar el problema.
|
- Si un sitio falla, actualiza primero yt-dlp desde la pestaña de actualización integrada antes de informar del problema.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🧰 Opciones de descarga y medios</summary>
|
<summary>🧰 Opciones de medios y descarga</summary>
|
||||||
|
|
||||||
- **Opciones de subtítulos:** Filtrar idiomas e incrustar subtítulos en el archivo de video
|
- **Opciones de subtítulos:** Filtra idiomas e incrusta subtítulos en el archivo de video.
|
||||||
- **Combinación de subtítulos:** Combina subtítulos en el archivo de video para obtener subtítulos codificados
|
- **Fusión de subtítulos:** Fusiona subtítulos en el archivo de video para subtítulos fijos (hardcoded).
|
||||||
- **Guardar descripción:** Guarde la descripción del video como un archivo de texto.
|
- **Guardar descripción:** Guarda la descripción del video como un archivo de texto.
|
||||||
- **Guardar miniatura:** Guarda la miniatura del vídeo como un archivo de imagen.
|
- **Guardar miniatura:** Guarda la miniatura del video como un archivo de imagen.
|
||||||
- **Incrustar capítulos:** Incrustar marcadores de capítulos como metadatos para reproductores de video compatibles
|
- **Integrar capítulos:** Incluye marcas de capítulo como metadatos para reproductores de video compatibles.
|
||||||
- **Eliminar segmentos de patrocinador:** Elimina segmentos de patrocinador del video usando SponsorBlock
|
- **Eliminar segmentos patrocinados:** Elimina segmentos patrocinados del video usando SponsorBlock.
|
||||||
- **Recortar video:** Descargue solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS`
|
- **Recortar video:** Descarga solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS`.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>⚙️ Configuración de archivos y salida</summary>
|
<summary>⚙️ Ajustes de salida y archivos</summary>
|
||||||
|
|
||||||
|
- **Limitador de velocidad:** Limita la velocidad de descarga, p. ej., `500K` para 500 KB/s.
|
||||||
|
- **Guardar ruta de descarga:** Guarda la ruta de descarga predeterminada para futuras descargas. Disponible en **Download Settings → Download Path**.
|
||||||
|
- **Resolución de video predeterminada:** Establece tu resolución de video preferida para selección automática (p. ej., 1080p, 720p). Disponible en **Download Settings → Default Video Resolution**.
|
||||||
|
- **Idiomas de subtítulos predeterminados:** Establece idiomas de subtítulos para selección automática (separados por comas, p. ej., `es,en`). Disponible en **Download Settings → Default Subtitle Languages**.
|
||||||
|
- **Formato de nombre de archivo:** Personaliza el formato del nombre de archivo usando variables como `%(title)s`, `%(uploader)s`, `%(playlist_index)s` y `%(resolution)s`. Disponible en **Download Settings → Filename Format**.
|
||||||
|
- **Forzar formato de salida:** Fuerza las descargas de video a un formato de contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Download Settings → Output Format Settings**.
|
||||||
|
- **Conversión de formato de audio:** Convierte descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Download Settings → Audio Format Settings**.
|
||||||
|
- **Normalización de audio:** Estandariza el volumen para descargas de solo audio usando EBU R128.
|
||||||
|
- **Conexiones simultáneas:** Aumenta drásticamente la velocidad de descarga descargando archivos en múltiples fragmentos a la vez. Disponible en **Download Settings → General → Concurrent Connections** (1 por defecto, máximo recomendado 8-10 para evitar bloqueos por IP).
|
||||||
|
|
||||||
- **Limitador de velocidad:** Limita la velocidad de descarga, por ejemplo `500K` a 500 KB/s
|
|
||||||
- **Guardar ruta de descarga:** Guarde la ruta de descarga predeterminada para futuras descargas. Disponible en **Configuración de descarga → Ruta de descarga**.
|
|
||||||
- **Formato de nombre de archivo de salida:** Personalice el formato de nombre de archivo de salida usando variables como `%(title)s`, `%(uploader)s` y `%(resolution)s`. Disponible en **Configuración de descarga → Formato de nombre de archivo**.
|
|
||||||
- **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**.
|
|
||||||
- **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**.
|
|
||||||
- **Normalización de audio:** Estandarice el volumen para descargas de solo audio usando EBU R128.
|
|
||||||
- **Conexiones Concurrentes:** Aumente la velocidad de descarga drásticamente descargando archivos en múltiples fragmentos simultáneamente. Disponible en **Configuración de Descarga → General → Conexiones Concurrentes** (El valor predeterminado es 1, el máximo recomendado es 8-10 para evitar bloqueos de IP).\n
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌐 Acceso y Red</summary>
|
<summary>🌐 Acceso y red</summary>
|
||||||
|
|
||||||
- **Iniciar sesión con cookies:** Inicie sesión en YouTube utilizando cookies para acceder a contenido privado.
|
- **Inicio de sesión con cookies:** Inicia sesión en YouTube usando cookies para acceder a contenido privado.
|
||||||
Cómo usarlo:
|
Cómo usarlo:
|
||||||
1. **Recomendado:** Utilice la opción `Extract cookies from browser` incorporada en la aplicación, luego seleccione su navegador y, opcionalmente, un perfil.
|
1. **Recomendado:** Usa la opción integrada `Extract cookies from browser` en la aplicación, luego selecciona tu navegador y opcionalmente un perfil.
|
||||||
2. Alternativamente, extraiga las cookies manualmente:
|
2. Alternativamente, extrae las cookies manualmente:
|
||||||
un. Exporte cookies desde su navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
|
a. Exporta cookies de tu navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
|
||||||
B. Copiar las cookies en formato Netscape
|
b. Copia las cookies en formato Netscape
|
||||||
c. Cree un archivo llamado `cookies.txt` y pegue las cookies en él
|
c. Crea un archivo llamado `cookies.txt` y pega las cookies
|
||||||
d. Seleccione el archivo `cookies.txt` en la aplicación
|
d. Selecciona el archivo `cookies.txt` en la aplicación
|
||||||
- **Soporte de proxy:** Utilice un servidor proxy para descargas, por ejemplo `http://<proxy-server>:<port>`
|
- **Soporte de proxy:** Usa un servidor proxy para las descargas, p. ej., `http://<servidor-proxy>:<puerto>`
|
||||||
- **Modo genérico:** Permita que YTSage analice y descargue desde sitios que no sean de YouTube compatibles con yt-dlp. Habilítelo desde **Configuración de descarga → Modo genérico**.
|
- **Modo genérico:** Permite a YTSage analizar y descargar desde sitios que no son YouTube compatibles con yt-dlp. Actívalo en **Download Settings → Generic Mode**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Herramientas y Mantenimiento</summary>
|
<summary>🛠️ Herramientas y mantenimiento</summary>
|
||||||
|
|
||||||
- **Comandos personalizados:** Acceda a funciones avanzadas de yt-dlp a través de argumentos de línea de comando
|
- **Comandos personalizados:** Accede a funciones avanzadas de yt-dlp mediante argumentos de línea de comandos.
|
||||||
- **Pestaña Actualizador:** Administre las herramientas de actualización integradas desde un solo lugar en Opciones personalizadas:
|
- **Pestaña de actualización:** Gestiona herramientas de actualización desde un solo lugar en Opciones personalizadas:
|
||||||
- **Actualizaciones de yt-dlp:** Busque actualizaciones y cambie entre los canales de lanzamiento estable y nocturno
|
- **Actualizaciones de yt-dlp:** Busca actualizaciones y cambia entre canales estable y nightly.
|
||||||
- **Comprobador de versiones de FFmpeg:** Verifique su versión de FFmpeg y abra las guías de instalación
|
- **Verificador de versión de FFmpeg:** Verifica tu versión de FFmpeg y abre guías de instalación.
|
||||||
- **Actualizaciones de Deno:** Verifique y actualice el tiempo de ejecución de Deno
|
- **Actualizaciones de Deno:** Verifica y actualiza el motor de ejecución Deno.
|
||||||
- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente las rutas y versiones de FFmpeg, yt-dlp y Deno desde el cuadro de diálogo Acerca de.
|
- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente rutas y versiones de FFmpeg, yt-dlp y Deno desde el diálogo Acerca de.
|
||||||
- **Historial de descargas:** Vea descargas anteriores con miniaturas y estados desde el botón **Historial**.
|
- **Historial de descargas:** Visualiza descargas pasadas con miniaturas y estados desde el botón **History**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 Localización</summary>
|
<summary>🌍 Localización</summary>
|
||||||
|
|
||||||
YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma preferido en **Opciones personalizadas → Idioma**.
|
YTSage soporta **14 idiomas** para accesibilidad global. Selecciona tu idioma preferido en **Custom Options → Language**.
|
||||||
|
|
||||||
### Idiomas admitidos
|
### Idiomas soportados
|
||||||
|
|
||||||
| Idioma | Código | Idioma | Código |
|
| Idioma | Código | Idioma | Código |
|
||||||
|----------|------|----------|------|
|
|----------|------|----------|------|
|
||||||
| 🇺🇸 Inglés | `en` | 🇪🇸 Español | `es` |
|
| 🇺🇸 Inglés | `en` | 🇪🇸 Español | `es` |
|
||||||
| 🇸🇦 Árabe | `ar` | 🇫🇷 Francés | `fr` |
|
| 🇸🇦 Árabe | `ar` | 🇫🇷 Francés | `fr` |
|
||||||
| 🇩🇪 Alemán | `de` | 🇮🇳 hindi | `hi` |
|
| 🇩🇪 Alemán | `de` | 🇮🇳 Hindi | `hi` |
|
||||||
| 🇮🇩 Indonesio | `id` | 🇮🇹 Italiano | `it` |
|
| 🇮🇩 Indonesio | `id` | 🇮🇹 Italiano | `it` |
|
||||||
| 🇯🇵 Japonés | `ja` | 🇵🇱 Polaco | `pl` |
|
| 🇯🇵 Japonés | `ja` | 🇵🇱 Polaco | `pl` |
|
||||||
| 🇧🇷 Portugués | `pt` | 🇷🇺 Ruso | `ru` |
|
| 🇧🇷 Portugués | `pt` | 🇷🇺 Ruso | `ru` |
|
||||||
| 🇹🇷 Turco | `tr` | 🇨🇳 Chino | `zh` |
|
| 🇹🇷 Turco | `tr` | 🇨🇳 Chino | `zh` |
|
||||||
|
|
||||||
### Léame Traducciones
|
### Traducciones del README
|
||||||
|
|
||||||
| Idioma | Archivo | Idioma | Archivo |
|
| Idioma | Archivo | Idioma | Archivo |
|
||||||
|----------|------|----------|------|
|
|----------|------|----------|------|
|
||||||
| 🇺🇸 Inglés | [README.md](../README.md) | 🇪🇸 Español | [README.es.md](README.es.md)
|
| 🇺🇸 Inglés | [README.md](README.md) | 🇪🇸 Español | [README.es.md](README.es.md) |
|
||||||
| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) |
|
| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) |
|
||||||
| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) |
|
| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
|
||||||
| 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) |
|
| 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) |
|
||||||
| 🇯🇵 Japonés | [README.ja.md](README.ja.md) | 🇵🇱 Polaco | [README.pl.md](README.pl.md) |
|
| 🇯🇵 Japonés | [README.ja.md](README.ja.md) | 🇵🇱 Polaco | [README.pl.md](README.pl.md) |
|
||||||
| 🇧🇷 Portugués | [README.pt.md](README.pt.md) | 🇷🇺 Ruso | [README.ru.md](README.ru.md) |
|
| 🇧🇷 Portugués | [README.pt.md](README.pt.md) | 🇷🇺 Ruso | [README.ru.md](README.ru.md) |
|
||||||
| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chino | [README.zh.md](README.zh.md) |
|
| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chino | [README.zh.md](README.zh.md) |
|
||||||
|
|
||||||
> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección [Contributing](#contributing) para ayudarnos a agregar más idiomas!
|
> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección de [Contribución](#contributing) para ayudarnos a añadir más idiomas!
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@@ -377,52 +382,52 @@ YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma pr
|
|||||||
## 🛠️ Solución de problemas
|
## 🛠️ Solución de problemas
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Haga clic para ver problemas y soluciones comunes</summary>
|
<summary>Haz clic para ver problemas comunes y soluciones</summary>
|
||||||
|
|
||||||
- **La tabla de formato no se muestra:** Actualice yt-dlp a la última versión y cambie a yt-dlp todas las noches.
|
- **La tabla de formatos no aparece:** Actualiza yt-dlp a la última versión y cambia a yt-dlp nightly.
|
||||||
- **La descarga falla:** Verifique su conexión a Internet y asegúrese de que el video esté disponible.
|
- **Fallo de descarga:** Verifica tu conexión a internet y asegúrate de que el video esté disponible.
|
||||||
- **Errores de descarga específicos:**
|
- **Errores de descarga específicos:**
|
||||||
- **Vídeos privados:** Utilice la autenticación de cookies para acceder a contenido privado.
|
- **Videos privados:** Usa autenticación por cookies para acceder a contenido privado.
|
||||||
- **Contenido restringido por edad:** Inicie sesión en su cuenta de YouTube para ver videos restringidos por edad.
|
- **Contenido con restricción de edad:** Inicia sesión en tu cuenta de YouTube para ver videos restringidos.
|
||||||
- **Videos bloqueados geográficamente:** Considere usar una VPN para evitar las restricciones regionales.
|
- **Videos bloqueados geográficamente:** Considera usar una VPN para saltar restricciones regionales.
|
||||||
- **Videos eliminados/eliminados:** El video ya no está disponible en YouTube.
|
- **Videos eliminados:** El video ya no está disponible en YouTube.
|
||||||
- **Transmisiones en vivo:** Las transmisiones en vivo no se pueden descargar; espera a que termine la transmisión.
|
- **Transmisiones en vivo:** Los directos no se pueden descargar; espera a que la transmisión termine.
|
||||||
- **Errores de red:** Verifica tu conexión a Internet y vuelve a intentarlo.
|
- **Errores de red:** Verifica tu conexión a internet e inténtalo de nuevo.
|
||||||
- **URL no válidas:** Asegúrese de que la URL sea correcta y provenga de una plataforma compatible.
|
- **URLs no válidas:** Asegúrate de que la URL sea correcta y de una plataforma compatible.
|
||||||
- **Contenido premium:** Requiere membresía de YouTube Premium.
|
- **Contenido Premium:** Requiere suscripción a YouTube Premium.
|
||||||
- **Bloqueos de derechos de autor:** El contenido está bloqueado debido a restricciones de derechos de autor.
|
- **Bloqueos por copyright:** El contenido está bloqueado por restricciones de derechos de autor.
|
||||||
- **Separar archivos de video y audio después de la descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar transmisiones de audio y video de alta calidad.
|
- **Archivos de video y audio separados tras descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar flujos de video y audio de alta calidad.
|
||||||
- **Solución:** Asegúrese de que FFmpeg esté instalado y sea accesible en la RUTA de su sistema. Para los usuarios de Windows, la opción más sencilla es descargar el archivo `YTSage-v<version>-ffmpeg.exe`, que viene incluido con FFmpeg.
|
- **Solución:** Asegúrate de que FFmpeg esté instalado y accesible en el PATH de tu sistema. Para usuarios de Windows, la opción más fácil es descargar el archivo `YTSage-v<version>-ffmpeg.exe`, que incluye FFmpeg.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### 🛡️ Advertencia de Windows Defender/Antivirus
|
#### 🛡️ Advertencia de Windows Defender / Antivirus
|
||||||
|
|
||||||
Algunos programas antivirus pueden marcar los archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas.
|
Algunos programas antivirus pueden marcar archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas.
|
||||||
|
|
||||||
**Por qué sucede esto:**
|
**Por qué sucede esto:**
|
||||||
- La heurística antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos.
|
- La heurística de los antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos.
|
||||||
|
|
||||||
**Alternativas seguras:**
|
**Alternativas seguras:**
|
||||||
- ✅ **Usar instalación de pip:** `pip install ytsage` (recomendado)
|
- ✅ **Usa la instalación de pip:** `pip install ytsage` (Recomendado)
|
||||||
- ✅ **Construir desde la fuente**: siguiendo esto [guide](../.github/CI_CD_README.md)
|
- ✅ **Construye desde el código fuente**: siguiendo esta [guía](.github/CI_CD_README.md)
|
||||||
- ✅ **Incluye la aplicación en la lista blanca** en tu software antivirus
|
- ✅ **Añade la aplicación a la lista blanca** en tu software antivirus.
|
||||||
|
|
||||||
#### 🍎 macOS: "La aplicación está dañada y no se puede abrir"
|
#### 🍎 macOS: "La aplicación está dañada y no se puede abrir"
|
||||||
Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuarentena.
|
Si ves este error en macOS Sonoma o más reciente, necesitas eliminar el atributo de cuarentena.
|
||||||
|
|
||||||
1. **Abrir Terminal** (puedes encontrarlo usando Spotlight).
|
1. **Abre el Terminal** (puedes encontrarlo usando Spotlight).
|
||||||
2. **Escriba el siguiente comando** pero **no** presione Entrar todavía. Asegúrate de incluir el espacio al final:
|
2. **Escribe el siguiente comando** pero **no presiones** Enter todavía. Asegúrate de incluir el espacio al final:
|
||||||
```bash
|
```bash
|
||||||
xattr -d com.apple.quarantine
|
xattr -d com.apple.quarantine
|
||||||
```
|
```
|
||||||
3. **Arrastre el archivo `YTSage.app`** desde la ventana de su Finder y suéltelo directamente en la ventana de Terminal. Esto pegará automáticamente la ruta del archivo correcta.
|
3. **Arrastra el archivo `YTSage.app`** desde tu ventana de Finder y suéltalo directamente en la ventana del Terminal. Esto pegará automáticamente la ruta correcta del archivo.
|
||||||
4. **Presione Entrar** para ejecutar el comando.
|
4. **Presiona Enter** para ejecutar el comando.
|
||||||
5. **Intenta abrir YTSage.app nuevamente.** Ahora debería iniciarse correctamente.
|
5. **Intenta abrir YTSage.app de nuevo.** Ahora debería lanzarse correctamente.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **Ubicaciones de configuración (avanzada)**
|
#### **Ubicaciones de configuración (Avanzado)**
|
||||||
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
||||||
- **macOS:** `~/Library/Application Support/YTSage`
|
- **macOS:** `~/Library/Application Support/YTSage`
|
||||||
- **Linux:** `~/.local/share/YTSage`
|
- **Linux:** `~/.local/share/YTSage`
|
||||||
@@ -430,40 +435,40 @@ Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuare
|
|||||||
</details>
|
</details>
|
||||||
|
|
||||||
<a id="sponsor"></a>
|
<a id="sponsor"></a>
|
||||||
## 💖 Patrocinador
|
## 💖 Patrocinar
|
||||||
|
|
||||||
Si YTSage le ahorra tiempo, considere patrocinar el proyecto. El patrocinio ayuda a cubrir el tiempo de desarrollo, las pruebas en todas las plataformas y las mejoras futuras.
|
Si YTSage te ahorra tiempo, considera patrocinar el proyecto. El patrocinio ayuda a cubrir tiempo de desarrollo, pruebas en todas las plataformas y futuras mejoras.
|
||||||
|
|
||||||
- Patrocinadores de GitHub: https://github.com/sponsors/oop7
|
- GitHub Sponsors: https://github.com/sponsors/oop7
|
||||||
- El enlace del patrocinador también está disponible directamente dentro de la aplicación desde el cuadro de diálogo Acerca de.
|
- El enlace de patrocinio también está disponible directamente en la aplicación a través del diálogo Acerca de.
|
||||||
|
|
||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
<a id="contributing"></a>
|
<a id="contributing"></a>
|
||||||
## 👥 Contribuyendo
|
## 👥 Contribuir
|
||||||
|
|
||||||
¡Agradecemos las contribuciones! Así es como puedes ayudar:
|
¡Agradecemos las contribuciones! Aquí tienes cómo puedes ayudar:
|
||||||
|
|
||||||
1. 🍴 Bifurca el repositorio
|
1. 🍴 Haz un Fork del repositorio
|
||||||
2. 🌿 Crea tu rama de funciones:
|
2. 🌿 Crea tu rama de características:
|
||||||
```bash
|
```bash
|
||||||
git checkout -b feature/AmazingFeature
|
git checkout -b feature/AmazingFeature
|
||||||
```
|
```
|
||||||
3. 💾 Confirme sus cambios:
|
3. 💾 Haz commit de tus cambios:
|
||||||
```bash
|
```bash
|
||||||
git commit -m 'Add some AmazingFeature'
|
git commit -m 'Add some AmazingFeature'
|
||||||
```
|
```
|
||||||
4. 📤 Empuje a la sucursal:
|
4. 📤 Haz Push a la rama:
|
||||||
```bash
|
```bash
|
||||||
git push origin feature/AmazingFeature
|
git push origin feature/AmazingFeature
|
||||||
```
|
```
|
||||||
5. 🔄 Abra una solicitud de extracción
|
5. 🔄 Abre un Pull Request
|
||||||
|
|
||||||
### 🌍 Contribuyendo con traducciones
|
### 🌍 Contribuir con traducciones
|
||||||
|
|
||||||
- Actualice el archivo README localizado coincidente (por ejemplo `README.es.md`)
|
- Actualiza el archivo README localizado correspondiente (p. ej., `readme-translations/README.es.md`)
|
||||||
- Mantenga las cadenas de aplicaciones sincronizadas editando `ytsage/languages/<code>.json`
|
- Mantén las cadenas de la aplicación sincronizadas editando `ytsage/languages/<code>.json`
|
||||||
- Si falta su idioma, comience desde `README.md` y cree `README.<code>.md`
|
- Si falta tu idioma, comienza desde `README.md` y crea `README.<code>.md`
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📂 Estructura del proyecto</summary>
|
<summary>📂 Estructura del proyecto</summary>
|
||||||
@@ -476,58 +481,58 @@ Este documento describe la estructura de carpetas organizada de YTSage.
|
|||||||
|
|
||||||
```
|
```
|
||||||
YTSage/
|
YTSage/
|
||||||
├── 📁 .github/ # GitHub configuration
|
├── 📁 .github/ # Configuración de GitHub
|
||||||
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
|
│ ├── 📁 ISSUE_TEMPLATE/ # Plantillas de problemas
|
||||||
│ │ └── 🐛-bug-report.md # Bug report template
|
│ │ └── 🐛-bug-report.md # Plantilla de informe de errores
|
||||||
│ ├─── 📁 workflows/ # GitHub Actions workflows
|
│ ├─── 📁 workflows/ # Flujos de trabajo de GitHub Actions
|
||||||
│ │ ├── build-linux.yml # Linux build workflow
|
│ │ ├── build-linux.yml # Flujo de construcción para Linux
|
||||||
│ │ ├── build-macos.yml # macOS build workflow
|
│ │ ├── build-macos.yml # Flujo de construcción para macOS
|
||||||
│ │ │── build-windows.yml # Windows build workflow
|
│ │ │── build-windows.yml # Flujo de construcción para Windows
|
||||||
| | └── release-all.yml # Master release workflow
|
| | └── release-all.yml # Flujo de liberación maestra
|
||||||
│ └── 📄 CI_CD_README.md # CI/CD documentation
|
│ └── 📄 CI_CD_README.md # Documentación de CI/CD
|
||||||
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
|
├── 📁 branding/ # Activos de marca (Capturas de pantalla, SVGs)
|
||||||
│ ├── 📁 icons/ # Application icons
|
│ ├── 📁 icons/ # Iconos de la aplicación
|
||||||
│ ├── 📁 screenshots/ # Screenshots for documentation
|
│ ├── 📁 screenshots/ # Capturas de pantalla para documentación
|
||||||
│ └── 📁 svg/ # SVG assets
|
│ └── 📁 svg/ # Activos SVG
|
||||||
├── 📄 LICENSE # License file
|
├── 📄 LICENSE # Archivo de licencia
|
||||||
├── 📄 pyproject.toml # Project metadata and dependencies
|
├── 📄 pyproject.toml # Metadatos del proyecto y dependencias
|
||||||
├── 📄 README.md # Project documentation
|
├── 📄 README.md # Documentación del proyecto
|
||||||
├── 📄 requirements.txt # Python dependencies (dev)
|
├── 📄 requirements.txt # Dependencias de Python (dev)
|
||||||
└── 📁 ytsage/ # Source package
|
└── 📁 ytsage/ # Paquete de código fuente
|
||||||
├── 📁 assets/ # Runtime assets
|
├── 📁 assets/ # Activos en tiempo de ejecución
|
||||||
│ ├── 📁 Icon/ # Application icons
|
│ ├── 📁 Icon/ # Iconos de la aplicación
|
||||||
│ └── 📁 sound/ # Audio files
|
│ └── 📁 sound/ # Archivos de audio
|
||||||
├── 📁 languages/ # Localization files
|
├── 📁 languages/ # Archivos de localización
|
||||||
│ ├── 📄 ar.json # Arabic translation
|
│ ├── 📄 ar.json # Traducción al árabe
|
||||||
│ ├── 📄 de.json # German translation
|
│ ├── 📄 de.json # Traducción al alemán
|
||||||
│ ├── 📄 en.json # English translation
|
│ ├── 📄 en.json # Traducción al inglés
|
||||||
│ └── ... # Other languages
|
│ └── ... # Otros idiomas
|
||||||
├── 📁 core/ # Core business logic
|
├── 📁 core/ # Lógica de negocio principal
|
||||||
│ ├── 📄 __init__.py # Core package init
|
│ ├── 📄 __init__.py # Init del paquete core
|
||||||
│ ├── 📄 ytsage_deno.py # Deno integration
|
│ ├── 📄 ytsage_deno.py # Integración con Deno
|
||||||
│ ├── 📄 ytsage_downloader.py # Download functionality
|
│ ├── 📄 ytsage_downloader.py # Funcionalidad de descarga
|
||||||
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
|
│ ├── 📄 ytsage_ffmpeg.py # Integración con FFmpeg
|
||||||
│ ├── 📄 ytsage_utils.py # Utility functions
|
│ ├── 📄 ytsage_utils.py # Funciones de utilidad
|
||||||
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
|
│ └── 📄 ytsage_yt_dlp.py # Integración con yt-dlp
|
||||||
├── 📁 gui/ # User interface components
|
├── 📁 gui/ # Componentes de interfaz de usuario
|
||||||
│ ├── 📄 __init__.py # GUI package init
|
│ ├── 📄 __init__.py # Init del paquete GUI
|
||||||
│ ├── 📄 ytsage_gui_main.py # Main application window
|
│ ├── 📄 ytsage_gui_main.py # Ventana principal de la aplicación
|
||||||
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
|
│ └── 📁 ytsage_gui_dialogs/ # Clases de diálogos
|
||||||
├── 📁 utils/ # Utility modules
|
├── 📁 utils/ # Módulos de utilidad
|
||||||
│ ├── 📄 __init__.py # Utils package init
|
│ ├── 📄 __init__.py # Init del paquete utils
|
||||||
│ ├── 📄 ytsage_config_manager.py # Configuration management
|
│ ├── 📄 ytsage_config_manager.py # Gestión de configuración
|
||||||
│ └── 📄 ytsage_logger.py # Logging utilities
|
│ └── 📄 ytsage_logger.py # Utilidad de registro
|
||||||
├── 📄 __init__.py # Package entry point
|
├── 📄 __init__.py # Punto de entrada del paquete
|
||||||
└── 📄 main.py # Main execution script
|
└── 📄 main.py # Script de ejecución principal
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## ⭐️ Historia de las estrellas
|
## ⭐️ Historial de estrellas
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
## Historia de las estrellas
|
## Star History
|
||||||
|
|
||||||
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
||||||
<picture>
|
<picture>
|
||||||
@@ -541,16 +546,16 @@ YTSage/
|
|||||||
|
|
||||||
## 📜 Licencia
|
## 📜 Licencia
|
||||||
|
|
||||||
Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) para obtener más detalles.
|
Este proyecto está bajo la Licencia MIT - mira el archivo [LICENSE](LICENSE) para más detalles.
|
||||||
|
|
||||||
## 🙏 Agradecimientos
|
## 🙏 Agradecimientos
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Mostrar agradecimientos</summary>
|
<summary>Ver agradecimientos</summary>
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
<p>Un sincero agradecimiento a todos los que contribuyeron a este proyecto abriendo un problema para sugerir una mejora o informar un error.</p>
|
<p>Muchas gracias a todos los que han contribuido a este proyecto abriendo un problema para sugerir una mejora o informar de un error.</p>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr class="section"><th colspan="2">Componentes principales</th></tr>
|
<tr class="section"><th colspan="2">Componentes principales</th></tr>
|
||||||
@@ -564,35 +569,36 @@ Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) p
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://deno.com/">Deno</a></td>
|
<td><a href="https://deno.com/">Deno</a></td>
|
||||||
<td>Tiempo de ejecución para integración con yt-dlp</td>
|
<td>Runtime para integración con yt-dlp</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">Bibliotecas y marcos</th></tr>
|
<tr class="section"><th colspan="2">Librerías y Frameworks</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
||||||
<td>Marco GUI</td>
|
<td>Framework de GUI</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-pillow.org/">Almohada</a></td>
|
<td><a href="https://python-pillow.org/">Pillow</a></td>
|
||||||
<td>Procesamiento de imágenes</td>
|
<td>Procesamiento de imágenes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><a href="https://requests.readthedocs.io/">solicitudes</a></td>
|
<tr>
|
||||||
|
<td><a href="https://requests.readthedocs.io/">requests</a></td>
|
||||||
<td>Solicitudes HTTP</td>
|
<td>Solicitudes HTTP</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://packaging.python.org/">embalaje</a></td>
|
<td><a href="https://packaging.python.org/">packaging</a></td>
|
||||||
<td>Manejo de versiones y paquetes</td>
|
<td>Gestión de versiones y empaquetado</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-markdown.github.io/">rebaja</a></td>
|
<td><a href="https://python-markdown.github.io/">markdown</a></td>
|
||||||
<td>Representación de rebajas</td>
|
<td>Renderizado de Markdown</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
||||||
<td>Registro</td>
|
<td>Logging</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">Activos y contribuyentes</th></tr>
|
<tr class="section"><th colspan="2">Activos y Colaboradores</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">Nueva Notificación 09 por Universfield</a></td>
|
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">New Notification 09 by Universfield</a></td>
|
||||||
<td>Sonido de notificación</td>
|
<td>Sonido de notificación</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -607,7 +613,7 @@ Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) p
|
|||||||
|
|
||||||
## ⚠️ Descargo de responsabilidad
|
## ⚠️ Descargo de responsabilidad
|
||||||
|
|
||||||
Esta herramienta es sólo para uso personal. Respete los términos de servicio de YouTube y los derechos de los creadores de contenido.
|
Esta herramienta es solo para uso personal. Por favor, respeta los términos de servicio de YouTube y los derechos de los creadores de contenido.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+248
-241
@@ -12,29 +12,29 @@
|
|||||||
[](https://pypi.org/project/ytsage/)
|
[](https://pypi.org/project/ytsage/)
|
||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
**स्वच्छ PySide6 इंटरफ़ेस वाला एक आधुनिक YouTube डाउनलोडर।**
|
**एक आधुनिक YouTube डाउनलोडर, एक स्वच्छ PySide6 इंटरफ़ेस के साथ।**
|
||||||
किसी भी गुणवत्ता में वीडियो डाउनलोड करें, ऑडियो निकालें, उपशीर्षक प्राप्त करें और बहुत कुछ करें।
|
किसी भी गुणवत्ता में वीडियो डाउनलोड करें, ऑडियो निकालें, उपशीर्षक प्राप्त करें, और बहुत कुछ।
|
||||||
|
|
||||||
### 🌍 रीडमी भाषाएँ
|
### 🌍 README भाषाएँ
|
||||||
|
|
||||||
अंग्रेज़ी: [EN](../README.md)
|
अंग्रेज़ी: [EN](../README.md)
|
||||||
| उत्तर: [AR](README.ar.md)
|
| अरबी: [AR](README.ar.md)
|
||||||
| जर्मन: [DE](README.de.md)
|
| जर्मन: [DE](README.de.md)
|
||||||
| Español: [ES](README.es.md)
|
| स्पेनिश: [ES](README.es.md)
|
||||||
| फ़्रेंच: [FR](README.fr.md)
|
| फ्रेंच: [FR](README.fr.md)
|
||||||
| हिन्दी: [HI](README.hi.md)
|
| हिंदी: [HI](README.hi.md)
|
||||||
| बहासा इंडोनेशिया: [ID](README.id.md)
|
| इंडोनेशियाई: [ID](README.id.md)
|
||||||
| इटालियनो: [IT](README.it.md)
|
| इतालवी: [IT](README.it.md)
|
||||||
| उत्तर: [JA](README.ja.md)
|
| जापानी: [JA](README.ja.md)
|
||||||
| पोल्स्की: [PL](README.pl.md)
|
| पोलिश: [PL](README.pl.md)
|
||||||
| पुर्तगाली: [PT](README.pt.md)
|
| पुर्तगाली: [PT](README.pt.md)
|
||||||
| Русский: [RU](README.ru.md)
|
| रूसी: [RU](README.ru.md)
|
||||||
| तुर्की: [TR](README.tr.md)
|
| तुर्की: [TR](README.tr.md)
|
||||||
| उत्तर: [ZH](README.zh.md)
|
| चीनी: [ZH](README.zh.md)
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="#installation">स्थापना</a> •
|
<a href="#installation">स्थापना</a> •
|
||||||
<a href="#features">विशेषताएं</a> •
|
<a href="#features">विशेषताएँ</a> •
|
||||||
<a href="#usage">उपयोग</a> •
|
<a href="#usage">उपयोग</a> •
|
||||||
<a href="#screenshots">स्क्रीनशॉट</a> •
|
<a href="#screenshots">स्क्रीनशॉट</a> •
|
||||||
<a href="#troubleshooting">समस्या निवारण</a> •
|
<a href="#troubleshooting">समस्या निवारण</a> •
|
||||||
@@ -49,12 +49,12 @@
|
|||||||
<a id="why-ytsage"></a>
|
<a id="why-ytsage"></a>
|
||||||
## ❓ YTSage क्यों?
|
## ❓ YTSage क्यों?
|
||||||
|
|
||||||
YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है:
|
YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो एक **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है:
|
||||||
|
|
||||||
- एक साफ़, आधुनिक PySide6 इंटरफ़ेस
|
- एक आधुनिक और स्वच्छ PySide6 इंटरफ़ेस
|
||||||
- वीडियो, ऑडियो और उपशीर्षक के लिए एक-क्लिक डाउनलोड
|
- वीडियो, ऑडियो और उपशीर्षक के लिए वन-क्लिक डाउनलोड
|
||||||
- स्पॉन्सरब्लॉक, उपशीर्षक विलय और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ
|
- SponsorBlock, उपशीर्षक मर्जिंग, और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ
|
||||||
- YouTube से परे yt-dlp-समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड
|
- YouTube से इतर yt-dlp द्वारा समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड
|
||||||
- क्रॉस-प्लेटफ़ॉर्म समर्थन और आसान स्थापना
|
- क्रॉस-प्लेटफ़ॉर्म समर्थन और आसान स्थापना
|
||||||
|
|
||||||
<a id="features"></a>
|
<a id="features"></a>
|
||||||
@@ -62,31 +62,32 @@ YTSage उन उपयोगकर्ताओं के लिए डिज़
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| मुख्य विशेषताएं | उन्नत सुविधाएँ | अतिरिक्त सुविधाएँ |
|
| बुनियादी विशेषताएँ | उन्नत विशेषताएँ | अतिरिक्त विशेषताएँ |
|
||||||
|------------------------------------------------|------------------------------------------------|------------------------------------------------|
|
|-----------------------------------|-----------------------------------------|------------------------------------|
|
||||||
| 🎥 प्रारूप तालिका | 🚫प्रायोजकब्लॉक एकीकरण | 🎞️ एफपीएस/एचडीआर डिस्प्ले |
|
| 🎥 प्रारूप तालिका | 🚫 SponsorBlock एकीकरण | 🎞️ FPS/HDR डिस्प्ले |
|
||||||
| 🎵 ऑडियो निष्कर्षण | 📝 बहु-उपशीर्षक चुनें और मर्ज करें | 🔄 ऑटो-अपडेट yt-dlp |
|
| 🎵 ऑडियो निष्कर्षण | 📝 उपशीर्षक चयन और मर्जिंग | 🔄 ऑटो yt-dlp अपडेट |
|
||||||
| ✨ सरल यूआई | 💾 विवरण और थंबनेल सहेजें | 🛠️ FFmpeg/yt-dlp/Deno डिटेक्शन |
|
| ✨ सरल यूजर इंटरफेस | 💾 विवरण और थंबनेल सहेजें | 🛠️ FFmpeg/yt-dlp/Deno डिटेक्शन |
|
||||||
| 📋 प्लेलिस्ट समर्थन और चयनकर्ता | 🚀 गति सीमक | ⚙️ कस्टम कमांड |
|
| 📋 प्लेलिस्ट समर्थन और चयनकर्ता | 🚀 गति सीमित करने वाला | ⚙️ कस्टम कमांड |
|
||||||
| 📑 अध्याय एम्बेड करें | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकीज़ के साथ लॉगिन करें |
|
| 📑 अध्याय एकीकरण | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकी लॉगिन |
|
||||||
| 📜इतिहास डाउनलोड करें | 🔄रिलीज़ चैनल चयन | 🌐 प्रॉक्सी सपोर्ट |
|
| 📜 डाउनलोड इतिहास | 🔄 रिलीज़ चैनल चयन | 🌐 प्रॉक्सी समर्थन |
|
||||||
| 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 बिल्ट-इन अपडेटर टैब |
|
| 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 एकीकृत अपडेट टैब |
|
||||||
| 🌍 जेनेरिक मोड | 🔊 ऑडियो सामान्यीकरण (EBU R128) | 🌍14 भाषाओं में स्थानीयकरण |
|
| 🌍 जेनेरिक मोड | 🔊 ऑडियो सामान्यीकरण (EBU R128) | 🌍 14 भाषाओं में स्थानीयकरण |
|
||||||
|
| 💾 प्लेलिस्ट निर्यात | ⚙️ डिफ़ॉल्ट गुणवत्ता और उपशीर्षक | |
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="installation"></a>
|
<a id="installation"></a>
|
||||||
## 🚀 स्थापना
|
## 🚀 स्थापना
|
||||||
|
|
||||||
### ⚡ त्वरित इंस्टाल (अनुशंसित)
|
### ⚡ त्वरित स्थापना (अनुशंसित)
|
||||||
|
|
||||||
PyPI से YTSage इंस्टॉल करें:
|
PyPI के माध्यम से YTSage स्थापित करें:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install ytsage
|
pip install ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🔄मौजूदा इंस्टॉलेशन को अपडेट करें</summary>
|
<summary>🔄 मौजूदा स्थापना को अपडेट करें</summary>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install --upgrade ytsage
|
pip install --upgrade ytsage
|
||||||
@@ -94,87 +95,87 @@ pip install --upgrade ytsage
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
फिर ऐप लॉन्च करें:
|
फिर एप्लिकेशन चलाएँ:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ytsage
|
ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
### 📦 पूर्व-निर्मित निष्पादनयोग्य
|
### 📦 प्री-बिल्ट एक्जीक्यूटेबल्स (एक्ज़ीक्यूटेबल्स)
|
||||||
|
|
||||||
> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
|
> [👉 नवीनतम रिलीज़ डाउनलोड करें](https://github.com/oop7/YTSage/releases/latest)
|
||||||
|
|
||||||
#### 🪟 खिड़कियाँ
|
#### 🪟 Windows
|
||||||
|
|
||||||
| प्रारूप | विवरण |
|
| प्रारूप | विवरण |
|
||||||
|-------|----|
|
|--------|-------------|
|
||||||
|  | मानक इंस्टॉलर |
|
|  | मानक इंस्टॉलर |
|
||||||
|  | FFmpeg बंडल के साथ |
|
|  | FFmpeg के साथ |
|
||||||
|  | पोर्टेबल संस्करण, किसी इंस्टॉलेशन की आवश्यकता नहीं |
|
|  | पोर्टेबल संस्करण, स्थापना की आवश्यकता नहीं है |
|
||||||
|  | FFmpeg के साथ पोर्टेबल, ज़िपित |
|
|  | FFmpeg के साथ पोर्टेबल, ज़िप्ड |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ इंस्टालेशन चरण</summary>
|
<summary>🛠️ स्थापना चरण</summary>
|
||||||
|
|
||||||
1. **EXE इंस्टॉलर (`.exe`)**: फ़ाइल पर डबल-क्लिक करें और सेटअप विज़ार्ड का पालन करें।
|
1. **EXE इंस्टॉलर (`.exe`)**: फ़ाइल पर डबल-क्लिक करें और सेटअप विज़ार्ड का पालन करें।
|
||||||
2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को अपने इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ।
|
2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ।
|
||||||
3. **एफएफएमपीईजी बंडल**: यदि आपके सिस्टम पर एफएफएमपीईजी स्थापित नहीं है तो एफएफएमपीईजी बंडल संस्करण चुनें।
|
3. **बिल्ट-इन FFmpeg**: यदि आपके सिस्टम पर FFmpeg स्थापित नहीं है, तो बिल्ट-इन FFmpeg वाले संस्करण चुनें।
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### 🐧 लिनक्स
|
#### 🐧 Linux
|
||||||
|
|
||||||
| प्रारूप | विवरण |
|
| प्रारूप | विवरण |
|
||||||
|-------|----|
|
|--------|-------------|
|
||||||
|  | डेबियन पैकेज |
|
|  | डेबियन पैकेज |
|
||||||
|  | ऐपइमेज, पोर्टेबल |
|
|  | AppImage, पोर्टेबल |
|
||||||
|  | आरपीएम पैकेज |
|
|  | RPM पैकेज |
|
||||||
|  | फ़्लैटपैक बंडल |
|
|  | Flatpak बंडल |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ इंस्टालेशन चरण</summary>
|
<summary>🛠️ स्थापना चरण</summary>
|
||||||
|
|
||||||
- **DEB (`.deb`)**:
|
- **DEB (`.deb`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo dpkg -i ytsage_*.deb
|
sudo dpkg -i ytsage_*.deb
|
||||||
sudo apt-get install -f # Fix missing dependencies if any
|
sudo apt-get install -f # यदि आवश्यक हो तो गायब निर्भरताओं को ठीक करें
|
||||||
```
|
```
|
||||||
- **आरपीएम (`.rpm`)**:
|
- **RPM (`.rpm`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo rpm -i ytsage-*.rpm
|
sudo rpm -i ytsage-*.rpm
|
||||||
```
|
```
|
||||||
- **ऐपइमेज (`.AppImage`)**:
|
- **AppImage (`.AppImage`)**:
|
||||||
```bash
|
```bash
|
||||||
chmod +x YTSage-*.AppImage
|
chmod +x YTSage-*.AppImage
|
||||||
./YTSage-*.AppImage
|
./YTSage-*.AppImage
|
||||||
```
|
```
|
||||||
- **फ्लैटपैक**: फ़्लैटहब पर निर्देशों का पालन करें या चलाएँ:
|
- **Flatpak**: Flathub पर निर्देशों का पालन करें या चलाएँ:
|
||||||
```bash
|
```bash
|
||||||
flatpak install flathub io.github.oop7.ytsage
|
flatpak install flathub io.github.oop7.ytsage
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### 🍎 मैकओएस
|
#### 🍎 macOS
|
||||||
|
|
||||||
| प्रारूप | विवरण |
|
| प्रारूप | विवरण |
|
||||||
|-------|----|
|
|--------|-------------|
|
||||||
|  | एप्पल सिलिकॉन के लिए ज़िप्ड एप्लिकेशन |
|
|  | Apple Silicon के लिए ज़िप्ड ऐप |
|
||||||
|  | एप्पल सिलिकॉन के लिए डिस्क छवि इंस्टॉलर |
|
|  | Apple Silicon के लिए डिस्क इमेज इंस्टॉलर |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ इंस्टालेशन चरण</summary>
|
<summary>🛠️ स्थापना चरण</summary>
|
||||||
|
|
||||||
- **डीएमजी इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें।
|
- **DMG इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें।
|
||||||
- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएं।
|
- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएँ।
|
||||||
|
|
||||||
*ध्यान दें: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि आती है, तो नीचे [macOS troubleshooting section](#troubleshooting) देखें।*
|
*नोट: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि मिलती है, तो नीचे macOS समस्या निवारण अनुभाग देखें।*
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>💻 स्रोत से मैन्युअल इंस्टालेशन</summary>
|
<summary>💻 स्रोत से मैन्युअल स्थापना</summary>
|
||||||
|
|
||||||
### 1. रिपॉजिटरी को क्लोन करें
|
### 1. रिपॉजिटरी क्लोन करें
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/oop7/YTSage.git
|
git clone https://github.com/oop7/YTSage.git
|
||||||
@@ -183,13 +184,13 @@ cd YTSage
|
|||||||
|
|
||||||
### 2. निर्भरताएँ स्थापित करें
|
### 2. निर्भरताएँ स्थापित करें
|
||||||
|
|
||||||
#### ⚡ यूवी के साथ
|
#### ⚡ uv के साथ
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv pip install .
|
uv pip install .
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 📦 या मानक पाइप के साथ
|
#### 📦 या मानक pip के साथ
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install .
|
pip install .
|
||||||
@@ -209,324 +210,329 @@ python -m ytsage.main
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download Settings" width="400"/></td>
|
<td><img src="../branding/screenshots/Download-Settings.png" alt="डाउनलोड सेटिंग्स" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist Download" width="400"/></td>
|
<td><img src="../branding/screenshots/playlist.png" alt="प्लेलिस्ट डाउनलोड" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>डाउनलोड सेटिंग्स</em></td>
|
<td align="center"><em>डाउनलोड सेटिंग्स</em></td>
|
||||||
<td align="center"><em>प्लेलिस्ट डाउनलोड</em></td>
|
<td align="center"><em>प्लेलिस्ट डाउनलोड</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audio Format Selection with Save Thumbnail" width="400"/></td>
|
<td><img src="../branding/screenshots/audio_format.png" alt="ऑडियो प्रारूप चयन" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Custom Options" width="400"/></td>
|
<td><img src="../branding/screenshots/Custom-Option.png" alt="कस्टम विकल्प" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>ऑडियो फॉर्मेट</em></td>
|
<td align="center"><em>ऑडियो प्रारूप</em></td>
|
||||||
<td align="center"><em>कस्टम विकल्प</em></td>
|
<td align="center"><em>कस्टम विकल्प</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div><a id="usage"></a>
|
</div>
|
||||||
|
|
||||||
## 📖 प्रयोग
|
<a id="usage"></a>
|
||||||
|
## 📖 उपयोग
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🎯 मूल उपयोग</summary>
|
<summary>🎯 बुनियादी उपयोग</summary>
|
||||||
|
|
||||||
1. **YTSage लॉन्च करें**
|
1. **YTSage लॉन्च करें**
|
||||||
2. **यूट्यूब यूआरएल चिपकाएँ** (या "यूआरएल चिपकाएँ" बटन का उपयोग करें)
|
2. **YouTube URL पेस्ट करें** (या "Paste URL" बटन का उपयोग करें)
|
||||||
3. **"विश्लेषण करें" पर क्लिक करें**
|
3. **"Analyze" पर क्लिक करें**
|
||||||
4. **प्रारूप चुनें:**
|
4. **प्रारूप चुनें:**
|
||||||
- वीडियो डाउनलोड के लिए `Video`
|
- वीडियो डाउनलोड के लिए `Video`
|
||||||
- ऑडियो निष्कर्षण के लिए `Audio Only`
|
- ऑडियो निष्कर्षण के लिए `Audio Only`
|
||||||
5. **विकल्प चुनें:**
|
5. **विकल्प चुनें:**
|
||||||
- उपशीर्षक सक्षम करें और भाषा चुनें
|
- उपशीर्षक सक्षम करें और भाषा चुनें
|
||||||
- उपशीर्षक मर्ज सक्षम करें
|
- उपशीर्षक मर्जिंग सक्षम करें
|
||||||
- थंबनेल सहेजें
|
- थंबनेल सहेजें
|
||||||
- प्रायोजक खंड हटाएँ
|
- प्रायोजित अनुभाग हटाएँ
|
||||||
- विवरण सहेजें
|
- विवरण सहेजें
|
||||||
- अध्याय एम्बेड करें
|
- अध्याय एम्बेड करें
|
||||||
6. **आउटपुट डायरेक्टरी चुनें**
|
6. **आउटपुट निर्देशिका चुनें**
|
||||||
7. **"डाउनलोड" पर क्लिक करें**
|
7. **"Download" पर क्लिक करें**
|
||||||
|
|
||||||
> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "डाउनलोड" फ़ोल्डर है।
|
> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "Downloads" फ़ोल्डर है।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📋 प्लेलिस्ट डाउनलोड</summary>
|
<summary>📋 प्लेलिस्ट डाउनलोड</summary>
|
||||||
|
|
||||||
1. **प्लेलिस्ट यूआरएल चिपकाएँ**
|
1. **प्लेलिस्ट URL पेस्ट करें**
|
||||||
2. **"विश्लेषण करें" पर क्लिक करें**
|
2. **"Analyze" पर क्लिक करें**
|
||||||
3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, सभी के लिए डिफ़ॉल्ट)**
|
3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, डिफ़ॉल्ट रूप से सभी)**
|
||||||
4. **वांछित प्रारूप/गुणवत्ता चुनें**
|
4. **वांछित प्रारूप/गुणवत्ता चुनें**
|
||||||
5. **"डाउनलोड" पर क्लिक करें**
|
5. **"Download" पर क्लिक करें**
|
||||||
|
|
||||||
> 💡 एप्लिकेशन स्वचालित रूप से डाउनलोड कतार को संभालता है
|
> 💡 एप्लिकेशन डाउनलोड कतार को स्वचालित रूप से प्रबंधित करता है, और आप प्लेलिस्ट प्रविष्टियों को `.txt`, `.csv`, `.m3u`, या `.json` फ़ाइलों के रूप में निर्यात कर सकते हैं।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 गैर-यूट्यूब साइटों के लिए जेनेरिक मोड</summary>
|
<summary>🌍 गैर-YouTube साइटों के लिए जेनेरिक मोड</summary>
|
||||||
|
|
||||||
जब आप चाहते हैं कि YTSage, yt-dlp द्वारा समर्थित साइटों, जैसे कि डेलीमोशन, CBC जेम, टिकटॉक और अन्य से यूआरएल स्वीकार करे, तो जेनेरिक मोड का उपयोग करें।
|
जेनेरिक मोड (Generic Mode) का उपयोग तब करें जब आप चाहते हैं कि YTSage yt-dlp द्वारा समर्थित साइटों जैसे Dailymotion, CBC Gem, TikTok और अन्य से URL स्वीकार करे।
|
||||||
|
|
||||||
इसका उपयोग कैसे करें:
|
इसका उपयोग कैसे करें:
|
||||||
|
|
||||||
1. `Download Settings` खोलें।
|
1. `Download Settings` खोलें।
|
||||||
2. `Generic Mode` सक्षम करें।
|
2. `Generic Mode` सक्षम करें।
|
||||||
3. एक समर्थित गैर-यूट्यूब वीडियो या प्लेलिस्ट यूआरएल चिपकाएँ।
|
3. एक समर्थित वीडियो या प्लेलिस्ट URL पेस्ट करें जो YouTube नहीं है।
|
||||||
4. `Analyze` पर क्लिक करें।
|
4. `Analyze` पर क्लिक करें।
|
||||||
5. एक प्रारूप चुनें और हमेशा की तरह डाउनलोड करें।
|
5. एक प्रारूप चुनें और हमेशा की तरह डाउनलोड करें।
|
||||||
|
|
||||||
टिप्पणियाँ:
|
नोट्स:
|
||||||
|
|
||||||
- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट को अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होना चाहिए।
|
- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होनी चाहिए।
|
||||||
- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, एक लॉगिन सत्र, एक प्रॉक्सी, या अतिरिक्त yt-dlp तर्क की आवश्यकता होती है।
|
- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, लॉगिन, प्रॉक्सी या अतिरिक्त yt-dlp तर्कों की आवश्यकता होती है।
|
||||||
- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले अंतर्निहित अपडेटर टैब से yt-dlp को अपडेट करें।
|
- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले एकीकृत अपडेट टैब से yt-dlp को अपडेट करें।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🧰मीडिया और डाउनलोड विकल्प</summary>
|
<summary>🧰 मीडिया और डाउनलोड विकल्प</summary>
|
||||||
|
|
||||||
- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और वीडियो फ़ाइल में उपशीर्षक एम्बेड करें
|
- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और उपशीर्षक को वीडियो फ़ाइल में एम्बेड करें।
|
||||||
- **उपशीर्षक मर्ज:** हार्डकोडेड उपशीर्षक के लिए उपशीर्षक को वीडियो फ़ाइल में मर्ज करें
|
- **उपशीर्षक मर्जिंग:** हार्डकोडेड उपशीर्षक के लिए वीडियो फ़ाइल में उपशीर्षक मर्ज करें।
|
||||||
- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें
|
- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें।
|
||||||
- **थंबनेल सहेजें:** वीडियो थंबनेल को एक छवि फ़ाइल के रूप में सहेजें
|
- **थंबनेल सहेजें:** वीडियो थंबनेल को छवि फ़ाइल के रूप में सहेजें।
|
||||||
- **अध्याय एम्बेड करें:**संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर एम्बेड करें
|
- **अध्याय एम्बेड करें:** संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर शामिल करें।
|
||||||
- **प्रायोजक खंड हटाएं:** SponsorBlock का उपयोग करके वीडियो से प्रायोजक खंड हटाएं
|
- **प्रायोजित अनुभाग हटाएँ:** SponsorBlock का उपयोग करके वीडियो से प्रायोजित अनुभाग हटाएँ।
|
||||||
- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें
|
- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>⚙️ आउटपुट और फ़ाइल सेटिंग्स</summary>
|
<summary>⚙️ आउटपुट और फ़ाइल सेटिंग्स</summary>
|
||||||
|
|
||||||
- **स्पीड लिमिटर:** डाउनलोड स्पीड सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए
|
- **गति सीमित करने वाला:** डाउनलोड गति को सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए।
|
||||||
- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजें। **डाउनलोड सेटिंग → डाउनलोड पथ** में उपलब्ध है।
|
- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजता है। **Download Settings → Download Path** में उपलब्ध है।
|
||||||
- **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है।
|
- **डिफ़ॉल्ट वीडियो रिज़ॉल्यूशन:** स्वचालित चयन के लिए अपना पसंदीदा वीडियो रिज़ॉल्यूशन सेट करें (जैसे 1080p, 720p)। **Download Settings → Default Video Resolution** में उपलब्ध है।
|
||||||
- **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है।
|
- **डिफ़ॉल्ट उपशीर्षक भाषाएँ:** स्वचालित चयन के लिए डिफ़ॉल्ट उपशीर्षक भाषाएँ सेट करें (अल्पविराम से अलग, जैसे `hi,en`)। **Download Settings → Default Subtitle Languages** में उपलब्ध है।
|
||||||
- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल-ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें।
|
- **फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, `%(playlist_index)s` और `%(resolution)s` जैसे चरों का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **Download Settings → Filename Format** में उपलब्ध है।
|
||||||
- **एक साथ कनेक्शन:** फाइलों को एक साथ कई अंशों में डाउनलोड करके डाउनलोड गति को नाटकीय रूप से बढ़ाएं। **डाउनलोड सेटिंग्स → सामान्य → एक साथ कनेक्शन** में उपलब्ध है (डिफ़ॉल्ट 1 है, IP लिमिटिंग को रोकने के लिए अनुशंसित अधिकतम 8-10 है)।\n
|
- **आउटपुट प्रारूप बाध्य करें:** वीडियो डाउनलोड को `mp4`, `webm` या `mkv` जैसे विशिष्ट कंटेनर प्रारूप में बाध्य करें। **Download Settings → Output Format Settings** में उपलब्ध है।
|
||||||
|
- **ऑडियो प्रारूप रूपांतरण:** केवल ऑडियो डाउनलोड को `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best` जैसे पसंदीदा प्रारूपों में परिवर्तित करें। **Download Settings → Audio Format Settings** में उपलब्ध है।
|
||||||
|
- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें।
|
||||||
|
- **एक साथ कनेक्शन:** एक साथ कई टुकड़ों में फ़ाइलें डाउनलोड करके डाउनलोड गति को काफी बढ़ाएँ। **Download Settings → General → Concurrent Connections** (डिफ़ॉल्ट 1, IP ब्लॉक से बचने के लिए अधिकतम 8-10 अनुशंसित) में उपलब्ध है।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌐 पहुंच और नेटवर्क</summary>
|
<summary>🌐 एक्सेस और नेटवर्क</summary>
|
||||||
|
|
||||||
- **कुकीज़ के साथ लॉगिन करें:** निजी सामग्री तक पहुंचने के लिए कुकीज़ का उपयोग करके यूट्यूब पर लॉगिन करें।
|
- **कुकी लॉगिन:** निजी सामग्री तक पहुँचने के लिए कुकीज़ का उपयोग करके YouTube में लॉगिन करें।
|
||||||
इसका उपयोग कैसे करें:
|
उपयोग:
|
||||||
1. **अनुशंसित:** ऐप में अंतर्निहित `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से एक प्रोफ़ाइल चुनें।
|
1. **अनुशंसित:** ऐप में बिल्ट-इन `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से प्रोफ़ाइल चुनें।
|
||||||
2. वैकल्पिक रूप से, कुकीज़ को मैन्युअल रूप से निकालें:
|
2. वैकल्पिक रूप से, कुकीज़ मैन्युअल रूप से निकालें:
|
||||||
ए. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें
|
a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें
|
||||||
बी. कुकीज़ को नेटस्केप प्रारूप में कॉपी करें
|
b. नेटस्केप प्रारूप में कुकीज़ कॉपी करें
|
||||||
सी. `cookies.txt` नाम की एक फ़ाइल बनाएं और उसमें कुकीज़ पेस्ट करें
|
c. `cookies.txt` नामक फ़ाइल बनाएँ और कुकीज़ पेस्ट करें
|
||||||
घ. ऐप में `cookies.txt` फ़ाइल चुनें
|
d. ऐप में `cookies.txt` फ़ाइल चुनें
|
||||||
- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, उदाहरण के लिए `http://<proxy-server>:<port>`
|
- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, जैसे `http://<proxy-server>:<port>`
|
||||||
- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-यूट्यूब साइटों से विश्लेषण और डाउनलोड करने की अनुमति दें। इसे **डाउनलोड सेटिंग्स → जेनेरिक मोड** से सक्षम करें।
|
- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-YouTube साइटों से विश्लेषण और डाउनलोड करने की अनुमति देता है। इसे **Download Settings → Generic Mode** से सक्षम करें।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ उपकरण और रखरखाव</summary>
|
<summary>🛠️ उपकरण और रखरखाव</summary>
|
||||||
|
|
||||||
- **कस्टम कमांड:** कमांड लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुंचें
|
- **कस्टम कमांड:** कमांड-लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुँचें।
|
||||||
- **अपडेटर टैब:** कस्टम विकल्पों में एक ही स्थान से अंतर्निहित अपडेट टूल प्रबंधित करें:
|
- **अपडेट टैब:** कस्टम विकल्पों में एक ही स्थान से बिल्ट-इन अपडेट टूल प्रबंधित करें:
|
||||||
- **yt-dlp अपडेट:** अपडेट की जांच करें और स्थिर और रात्रिकालीन रिलीज़ चैनलों के बीच स्विच करें
|
- **yt-dlp अपडेट:** अपडेट के लिए जाँच करें और स्टेबल और नाइटली रिलीज़ चैनलों के बीच स्विच करें।
|
||||||
- **एफएफएमपीईजी संस्करण जांचकर्ता:** अपना एफएफएमपीईजी संस्करण जांचें और इंस्टॉलेशन गाइड खोलें
|
- **FFmpeg संस्करण जाँचकर्ता:** अपने FFmpeg संस्करण को सत्यापित करें और स्थापना मार्गदर्शिकाएँ खोलें।
|
||||||
- **डेनो अपडेट:** डेनो रनटाइम की जांच करें और अपडेट करें
|
- **Deno अपडेट:** Deno रनटाइम की जाँच करें और अपडेट करें।
|
||||||
- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp, और Deno पथ और संस्करणों का स्वचालित रूप से पता लगाएं।
|
- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp और Deno के पथ और संस्करण का स्वचालित रूप से पता लगाता है।
|
||||||
- **डाउनलोड इतिहास:** **इतिहास** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें।
|
- **डाउनलोड इतिहास:** **History** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 स्थानीयकरण</summary>
|
<summary>🌍 स्थानीयकरण</summary>
|
||||||
|
|
||||||
YTSage दुनिया भर में पहुंच के लिए **14 भाषाओं** का समर्थन करता है। **कस्टम विकल्प → भाषा** से अपनी पसंदीदा भाषा चुनें।
|
YTSage वैश्विक पहुँच के लिए **14 भाषाओं** का समर्थन करता है। **Custom Options → Language** में अपनी पसंदीदा भाषा चुनें।
|
||||||
|
|
||||||
### समर्थित भाषाएँ
|
### समर्थित भाषाएँ
|
||||||
|
|
||||||
| भाषा | कोड | भाषा | कोड |
|
| भाषा | कोड | भाषा | कोड |
|
||||||
|-------|------|-------|------|
|
|----------|------|----------|------|
|
||||||
| 🇺🇸 अंग्रेजी | `en` | 🇪🇸स्पेनिश | `es` |
|
| 🇺🇸 अंग्रेज़ी | `en` | 🇪🇸 स्पेनिश | `es` |
|
||||||
| 🇸🇦 अरबी | `ar` | 🇫🇷 फ्रेंच | `fr` |
|
| 🇸🇦 अरबी | `ar` | 🇫🇷 फ्रेंच | `fr` |
|
||||||
| 🇩🇪 जर्मन | `de` | 🇮🇳 हिंदी | `hi` |
|
| 🇩🇪 जर्मन | `de` | 🇮🇳 हिंदी | `hi` |
|
||||||
| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹इतालवी | `it` |
|
| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹 इतालवी | `it` |
|
||||||
| 🇯🇵 जापानी | `ja` | 🇵🇱 पोलिश | `pl` |
|
| 🇯🇵 जापानी | `ja` | 🇵🇱 पोलिश | `pl` |
|
||||||
| 🇧🇷 पुर्तगाली | `pt` | 🇷🇺 रूसी | `ru` |
|
| 🇧🇷 पुर्तगाली | `pt` | 🇷🇺 रूसी | `ru` |
|
||||||
| 🇹🇷तुर्की | `tr` | 🇨🇳 चीनी | `zh` |
|
| 🇹🇷 तुर्की | `tr` | 🇨🇳 चीनी | `zh` |
|
||||||
|
|
||||||
### README अनुवाद
|
### README अनुवाद
|
||||||
|
|
||||||
| भाषा | फ़ाइल | भाषा | फ़ाइल |
|
| भाषा | फ़ाइल | भाषा | फ़ाइल |
|
||||||
|-------|------|-------|------|
|
|----------|------|----------|------|
|
||||||
| 🇺🇸 अंग्रेजी | [README.md](../README.md) | 🇪🇸स्पेनिश | [README.es.md](README.es.md)
|
| 🇺🇸 अंग्रेज़ी | [README.md](README.md) | 🇪🇸 स्पेनिश | [README.es.md](README.es.md) |
|
||||||
| 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) |
|
| 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) |
|
||||||
| 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) |
|
| 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) |
|
||||||
| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹इतालवी | [README.it.md](README.it.md) |
|
| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹 इतालवी | [README.it.md](README.it.md) |
|
||||||
| 🇯🇵 जापानी | [README.ja.md](README.ja.md) | 🇵🇱 पोलिश | [README.pl.md](README.pl.md) |
|
| 🇯🇵 जापानी | [README.ja.md](README.ja.md) | 🇵🇱 पोलिश | [README.pl.md](README.pl.md) |
|
||||||
| 🇧🇷 पुर्तगाली | [README.pt.md](README.pt.md) | 🇷🇺 रूसी | [README.ru.md](README.ru.md) |
|
| 🇧🇷 पुर्तगाली | [README.pt.md](README.pt.md) | 🇷🇺 रूसी | [README.ru.md](README.ru.md) |
|
||||||
| 🇹🇷तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) |
|
| 🇹🇷 तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) |
|
||||||
|
|
||||||
> 💡 **अनुवाद में योगदान देना चाहते हैं?** अधिक भाषाएँ जोड़ने में हमारी सहायता के लिए [Contributing](#contributing) अनुभाग देखें!
|
> 💡 **अनुवाद में मदद करना चाहते हैं?** अधिक भाषाओं को जोड़ने में हमारी सहायता करने के लिए [योगदान](#contributing) अनुभाग देखें!
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<a id="troubleshooting"></a>
|
<a id="troubleshooting"></a>
|
||||||
## 🛠️समस्या निवारण
|
## 🛠️ समस्या निवारण
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>सामान्य समस्याएं और समाधान देखने के लिए क्लिक करें</summary>
|
<summary>सामान्य समस्याओं और समाधानों को देखने के लिए क्लिक करें</summary>
|
||||||
|
|
||||||
- **प्रारूप तालिका प्रदर्शित नहीं हो रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें, और रात में yt-dlp पर स्विच करें।
|
- **प्रारूप तालिका दिखाई नहीं दे रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें और yt-dlp नाइटली पर स्विच करें।
|
||||||
- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जांचें और सुनिश्चित करें कि वीडियो उपलब्ध है।
|
- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जाँचें और सुनिश्चित करें कि वीडियो उपलब्ध है।
|
||||||
- **विशिष्ट डाउनलोड त्रुटियाँ:**
|
- **विशिष्ट डाउनलोड त्रुटियाँ:**
|
||||||
- **निजी वीडियो:** निजी सामग्री तक पहुंचने के लिए कुकी प्रमाणीकरण का उपयोग करें।
|
- **निजी वीडियो:** निजी सामग्री तक पहुँचने के लिए कुकी प्रमाणीकरण का उपयोग करें।
|
||||||
- **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए YouTube खाते में लॉगिन करें।
|
- **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए अपने YouTube खाते में लॉग इन करें।
|
||||||
- **जियो-अवरुद्ध वीडियो:** क्षेत्रीय प्रतिबंधों को बायपास करने के लिए वीपीएन का उपयोग करने पर विचार करें।
|
- **जियो-ब्लॉक किए गए वीडियो:** क्षेत्रीय प्रतिबंधों को दरकिनार करने के लिए VPN का उपयोग करने पर विचार करें।
|
||||||
- **हटाए गए/हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है।
|
- **हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है।
|
||||||
- **लाइव स्ट्रीम:** लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने की प्रतीक्षा करें.
|
- **लाइव स्ट्रीम:** प्रसारण के दौरान लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने तक प्रतीक्षा करें।
|
||||||
- **नेटवर्क त्रुटियां:** अपना इंटरनेट कनेक्शन जांचें और पुनः प्रयास करें।
|
- **नेटवर्क त्रुटियाँ:** अपना इंटरनेट कनेक्शन जाँचें और पुनः प्रयास करें।
|
||||||
- **अमान्य यूआरएल:** सुनिश्चित करें कि यूआरएल सही है और समर्थित प्लेटफॉर्म से है।
|
- **अमान्य URL:** सुनिश्चित करें कि URL सही है और समर्थित प्लेटफ़ॉर्म से है।
|
||||||
- **प्रीमियम सामग्री:** YouTube प्रीमियम सदस्यता की आवश्यकता है।
|
- **प्रीमियम सामग्री:** YouTube प्रीमियम सदस्यता की आवश्यकता है।
|
||||||
- **कॉपीराइट ब्लॉक:** कॉपीराइट प्रतिबंधों के कारण सामग्री अवरुद्ध है।
|
- **कॉपीराइट ब्लॉक:** कॉपीराइट प्रतिबंधों के कारण सामग्री अवरुद्ध है।
|
||||||
- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलों को अलग करें:** ऐसा तब होता है जब FFmpeg गायब है या पता नहीं चला है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है।
|
- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलें अलग हैं:** यह तब होता है जब FFmpeg गायब होता है या पता नहीं चल पाता है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है।
|
||||||
- **समाधान:** सुनिश्चित करें कि FFmpeg आपके सिस्टम के PATH में स्थापित और पहुंच योग्य है। विंडोज़ उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v<version>-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ बंडल में आती है।
|
- **समाधान:** सुनिश्चित करें कि FFmpeg स्थापित है और आपके सिस्टम PATH में सुलभ है। विंडोज उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v<version>-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ आती है।
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### 🛡️ विंडोज डिफेंडर / एंटीवायरस चेतावनी
|
#### 🛡️ Windows Defender / एंटीवायरस चेतावनी
|
||||||
|
|
||||||
कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक के रूप में चिह्नित कर सकते हैं। यह पैकेज्ड एप्लिकेशन की **ज्ञात सीमा** है।
|
कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक (फॉल्स पॉजिटिव) के रूप में चिह्नित कर सकते हैं। यह पैक किए गए एप्लिकेशन की **ज्ञात सीमा** है।
|
||||||
|
|
||||||
**ऐसा क्यों होता है:**
|
**यह क्यों होता है:**
|
||||||
- एंटीवायरस अनुमान पैक किए गए निष्पादन योग्य को संदिग्ध के रूप में गलत पहचान सकता है
|
- एंटीवायरस हिउरिस्टिक्स पैक किए गए एक्जीक्यूटेबल्स को संदिग्ध के रूप में गलत तरीके से पहचान सकते हैं।
|
||||||
|
|
||||||
**सुरक्षित विकल्प:**
|
**सुरक्षित विकल्प:**
|
||||||
- ✅ **पाइप इंस्टॉलेशन का उपयोग करें:** `pip install ytsage` (अनुशंसित)
|
- ✅ **pip स्थापना का उपयोग करें:** `pip install ytsage` (अनुशंसित)
|
||||||
- ✅ **स्रोत से निर्माण**: इसका पालन करके [guide](../.github/CI_CD_README.md)
|
- ✅ **स्रोत से बिल्ड करें**: इस [गाइड](.github/CI_CD_README.md) का पालन करते हुए
|
||||||
- ✅ **एप्लिकेशन को अपने एंटीवायरस सॉफ़्टवेयर में श्वेतसूची में डालें**
|
- ✅ **एप्लिकेशन को व्हाइटलिस्ट करें** अपने एंटीवायरस सॉफ़्टवेयर में।
|
||||||
|
|
||||||
#### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता"
|
#### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता"
|
||||||
यदि आपको यह त्रुटि macOS सोनोमा या नए पर दिखाई देती है, तो आपको संगरोध विशेषता को हटाना होगा।
|
यदि आप macOS Sonoma या नए पर यह त्रुटि देखते हैं, तो आपको क्वारंटाइन एट्रिब्यूट को हटाने की आवश्यकता है।
|
||||||
|
|
||||||
1. **टर्मिनल खोलें** (आप इसे स्पॉटलाइट का उपयोग करके पा सकते हैं)।
|
1. **टर्मिनल खोलें** (आप इसे Spotlight का उपयोग करके पा सकते हैं)।
|
||||||
2. **निम्न आदेश टाइप करें** लेकिन **अभी तक Enter न दबाएँ। अंत में स्थान शामिल करना सुनिश्चित करें:
|
2. **निम्न कमांड टाइप करें** लेकिन अभी Enter **न दबाएँ**। सुनिश्चित करें कि अंत में स्थान शामिल है:
|
||||||
```bash
|
```bash
|
||||||
xattr -d com.apple.quarantine
|
xattr -d com.apple.quarantine
|
||||||
```
|
```
|
||||||
3. ** `YTSage.app` फ़ाइल** को अपनी फाइंडर विंडो से खींचें और इसे सीधे टर्मिनल विंडो में छोड़ें। इससे स्वचालित रूप से सही फ़ाइल पथ पेस्ट हो जाएगा.
|
3. **अपनी फाइंडर विंडो से `YTSage.app` फ़ाइल खींचें** और इसे सीधे टर्मिनल विंडो में छोड़ें। यह स्वचालित रूप से सही फ़ाइल पथ पेस्ट कर देगा।
|
||||||
4. कमांड चलाने के लिए **एंटर** दबाएं।
|
4. **Enter दबाएँ** कमांड चलाने के लिए।
|
||||||
5. **YTSage.app को दोबारा खोलने का प्रयास करें।** इसे अब सही ढंग से लॉन्च होना चाहिए।
|
5. **YTSage.app को फिर से खोलने का प्रयास करें।** इसे अब ठीक से लॉन्च होना चाहिए।
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **कॉन्फ़िगरेशन स्थान (उन्नत)**
|
#### **कॉन्फ़िगरेशन स्थान (उन्नत)**
|
||||||
- **विंडोज़:** `%LOCALAPPDATA%\YTSage`
|
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
||||||
- **मैकओएस:** `~/Library/Application Support/YTSage`
|
- **macOS:** `~/Library/Application Support/YTSage`
|
||||||
- **लिनक्स:** `~/.local/share/YTSage`
|
- **Linux:** `~/.local/share/YTSage`
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<a id="sponsor"></a>
|
<a id="sponsor"></a>
|
||||||
## 💖 प्रायोजक
|
## 💖 प्रायोजक
|
||||||
|
|
||||||
यदि YTSage आपका समय बचाता है, तो परियोजना को प्रायोजित करने पर विचार करें। प्रायोजन विकास के समय, सभी प्लेटफार्मों पर परीक्षण और भविष्य में सुधारों को कवर करने में मदद करता है।
|
यदि YTSage आपका समय बचाता है, तो कृपया प्रोजेक्ट को प्रायोजित करने पर विचार करें। प्रायोजन विकास समय, सभी प्लेटफ़ॉर्म पर परीक्षण और भविष्य के सुधारों को कवर करने में मदद करता है।
|
||||||
|
|
||||||
- GitHub प्रायोजक: https://github.com/sponsors/oop7
|
- GitHub Sponsors: https://github.com/sponsors/oop7
|
||||||
- प्रायोजक लिंक सीधे ऐप के अंदर अबाउट डायलॉग से भी उपलब्ध है।
|
- प्रायोजन लिंक ऐप में अबाउट डायलॉग के माध्यम से सीधे उपलब्ध है।
|
||||||
|
|
||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
<a id="contributing"></a>
|
<a id="contributing"></a>
|
||||||
## 👥 योगदान दे रहे हैं
|
## 👥 योगदान
|
||||||
|
|
||||||
हम योगदान का स्वागत करते हैं! यहां बताया गया है कि आप कैसे मदद कर सकते हैं:
|
हम योगदान का स्वागत करते हैं! यहाँ बताया गया है कि आप कैसे मदद कर सकते हैं:
|
||||||
|
|
||||||
1. 🍴 रिपॉजिटरी को फोर्क करें
|
1. 🍴 रिपॉजिटरी को फोर्क करें
|
||||||
2. 🌿 अपनी फीचर शाखा बनाएं:
|
2. 🌿 अपनी फीचर शाखा बनाएँ:
|
||||||
```bash
|
```bash
|
||||||
git checkout -b feature/AmazingFeature
|
git checkout -b feature/AmazingFeature
|
||||||
```
|
```
|
||||||
3. 💾 अपने परिवर्तन प्रतिबद्ध करें:
|
3. 💾 अपने बदलाव कमिट करें:
|
||||||
```bash
|
```bash
|
||||||
git commit -m 'Add some AmazingFeature'
|
git commit -m 'Add some AmazingFeature'
|
||||||
```
|
```
|
||||||
4. 📤 शाखा को धक्का:
|
4. 📤 शाखा में पुश करें:
|
||||||
```bash
|
```bash
|
||||||
git push origin feature/AmazingFeature
|
git push origin feature/AmazingFeature
|
||||||
```
|
```
|
||||||
5. 🔄 एक पुल अनुरोध खोलें
|
5. 🔄 एक पुल रिक्वेस्ट खोलें
|
||||||
|
|
||||||
### 🌍 अनुवाद में योगदान
|
### 🌍 अनुवाद में योगदान करें
|
||||||
|
|
||||||
- मिलान वाली स्थानीयकृत README फ़ाइल को अपडेट करें (उदाहरण के लिए `README.es.md`)
|
- संबंधित स्थानीयकृत README फ़ाइल को अपडेट करें (जैसे `readme-translations/README.hi.md`)
|
||||||
- `ytsage/languages/<code>.json` को संपादित करके ऐप स्ट्रिंग्स को सिंक में रखें
|
- `ytsage/languages/<code>.json` को संपादित करके ऐप स्ट्रिंग्स को सिंक में रखें
|
||||||
- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README.<code>.md` बनाएं
|
- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README.<code>.md` बनाएँ
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📂 परियोजना संरचना</summary>
|
<summary>📂 प्रोजेक्ट संरचना</summary>
|
||||||
|
|
||||||
## YTSage - परियोजना संरचना
|
## YTSage - प्रोजेक्ट संरचना
|
||||||
|
|
||||||
यह दस्तावेज़ YTSage की संगठित फ़ोल्डर संरचना का वर्णन करता है।
|
यह दस्तावेज़ YTSage की संगठित फ़ोल्डर संरचना का वर्णन करता है।
|
||||||
|
|
||||||
### 📁परियोजना संरचना
|
### 📁 प्रोजेक्ट संरचना
|
||||||
|
|
||||||
```
|
```
|
||||||
YTSage/
|
YTSage/
|
||||||
├── 📁 .github/ # GitHub configuration
|
├── 📁 .github/ # GitHub कॉन्फ़िगरेशन
|
||||||
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
|
│ ├── 📁 ISSUE_TEMPLATE/ # इश्यू टेम्पलेट
|
||||||
│ │ └── 🐛-bug-report.md # Bug report template
|
│ │ └── 🐛-bug-report.md # बग रिपोर्ट टेम्पलेट
|
||||||
│ ├─── 📁 workflows/ # GitHub Actions workflows
|
│ ├─── 📁 workflows/ # GitHub Actions वर्कफ़्लो
|
||||||
│ │ ├── build-linux.yml # Linux build workflow
|
│ │ ├── build-linux.yml # लिनक्स बिल्ड वर्कफ़्लो
|
||||||
│ │ ├── build-macos.yml # macOS build workflow
|
│ │ ├── build-macos.yml # macOS बिल्ड वर्कफ़्लो
|
||||||
│ │ │── build-windows.yml # Windows build workflow
|
│ │ │── build-windows.yml # विंडोज बिल्ड वर्कफ़्लो
|
||||||
| | └── release-all.yml # Master release workflow
|
| | └── release-all.yml # मास्टर रिलीज़ वर्कफ़्लो
|
||||||
│ └── 📄 CI_CD_README.md # CI/CD documentation
|
│ └── 📄 CI_CD_README.md # CI/CD दस्तावेज़ीकरण
|
||||||
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
|
├── 📁 branding/ # ब्रांडिंग एसेट्स (स्क्रीनशॉट, SVGs)
|
||||||
│ ├── 📁 icons/ # Application icons
|
│ ├── 📁 icons/ # ऐप आइकन
|
||||||
│ ├── 📁 screenshots/ # Screenshots for documentation
|
│ ├── 📁 screenshots/ # दस्तावेज़ीकरण के लिए स्क्रीनशॉट
|
||||||
│ └── 📁 svg/ # SVG assets
|
│ └── 📁 svg/ # SVG एसेट्स
|
||||||
├── 📄 LICENSE # License file
|
├── 📄 LICENSE # लाइसेंस फ़ाइल
|
||||||
├── 📄 pyproject.toml # Project metadata and dependencies
|
├── 📄 pyproject.toml # प्रोजेक्ट मेटाडेटा और निर्भरताएँ
|
||||||
├── 📄 README.md # Project documentation
|
├── 📄 README.md # प्रोजेक्ट दस्तावेज़ीकरण
|
||||||
├── 📄 requirements.txt # Python dependencies (dev)
|
├── 📄 requirements.txt # पायथन निर्भरताएँ (dev)
|
||||||
└── 📁 ytsage/ # Source package
|
└── 📁 ytsage/ # स्रोत कोड पैकेज
|
||||||
├── 📁 assets/ # Runtime assets
|
├── 📁 assets/ # रनटाइम एसेट्स
|
||||||
│ ├── 📁 Icon/ # Application icons
|
│ ├── 📁 Icon/ # ऐप आइकन
|
||||||
│ └── 📁 sound/ # Audio files
|
│ └── 📁 sound/ # ऑडियो फ़ाइलें
|
||||||
├── 📁 languages/ # Localization files
|
├── 📁 languages/ # स्थानीयकरण फ़ाइलें
|
||||||
│ ├── 📄 ar.json # Arabic translation
|
│ ├── 📄 ar.json # अरबी अनुवाद
|
||||||
│ ├── 📄 de.json # German translation
|
│ ├── 📄 de.json # जर्मन अनुवाद
|
||||||
│ ├── 📄 en.json # English translation
|
│ ├── 📄 en.json # अंग्रेज़ी अनुवाद
|
||||||
│ └── ... # Other languages
|
│ └── ... # अन्य भाषाएँ
|
||||||
├── 📁 core/ # Core business logic
|
├── 📁 core/ # मुख्य व्यावसायिक तर्क
|
||||||
│ ├── 📄 __init__.py # Core package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_deno.py # Deno integration
|
│ ├── 📄 ytsage_deno.py # Deno एकीकरण
|
||||||
│ ├── 📄 ytsage_downloader.py # Download functionality
|
│ ├── 📄 ytsage_downloader.py # डाउनलोड कार्यक्षमता
|
||||||
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
|
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg एकीकरण
|
||||||
│ ├── 📄 ytsage_utils.py # Utility functions
|
│ ├── 📄 ytsage_utils.py # उपयोगिता कार्य
|
||||||
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
|
│ └── 📄 ytsage_yt_dlp.py # yt-dlp एकीकरण
|
||||||
├── 📁 gui/ # User interface components
|
├── 📁 gui/ # यूजर इंटरफेस घटक
|
||||||
│ ├── 📄 __init__.py # GUI package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_gui_main.py # Main application window
|
│ ├── 📄 ytsage_gui_main.py # ऐप की मुख्य विंडो
|
||||||
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
|
│ └── 📁 ytsage_gui_dialogs/ # संवाद वर्ग
|
||||||
├── 📁 utils/ # Utility modules
|
├── 📁 utils/ # उपयोगिता मॉड्यूल
|
||||||
│ ├── 📄 __init__.py # Utils package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_config_manager.py # Configuration management
|
│ ├── 📄 ytsage_config_manager.py # कॉन्फ़िगरेशन प्रबंधन
|
||||||
│ └── 📄 ytsage_logger.py # Logging utilities
|
│ └── 📄 ytsage_logger.py # लॉगिंग टूल
|
||||||
├── 📄 __init__.py # Package entry point
|
├── 📄 __init__.py # पैकेज प्रविष्टि बिंदु
|
||||||
└── 📄 main.py # Main execution script
|
└── 📄 main.py # मुख्य निष्पादन स्क्रिप्ट
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## ⭐️ सितारा इतिहास
|
## ⭐️ स्टार इतिहास
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
## सितारा इतिहास
|
## Star History
|
||||||
|
|
||||||
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
||||||
<picture>
|
<picture>
|
||||||
@@ -540,16 +546,16 @@ YTSage/
|
|||||||
|
|
||||||
## 📜 लाइसेंस
|
## 📜 लाइसेंस
|
||||||
|
|
||||||
यह प्रोजेक्ट एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए [LICENSE](../LICENSE) फ़ाइल देखें।
|
यह प्रोजेक्ट MIT लाइसेंस के तहत है - विवरण के लिए [LICENSE](LICENSE) फ़ाइल देखें।
|
||||||
|
|
||||||
## 🙏 आभार
|
## 🙏 धन्यवाद
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> आभार दिखाएं</summary>
|
<summary>धन्यवाद प्रदर्शित करें</summary>
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
<p>सुधार का सुझाव देने या बग की रिपोर्ट करने के लिए एक मुद्दा खोलकर इस परियोजना में योगदान देने वाले सभी लोगों को हार्दिक धन्यवाद।</p>
|
<p>उन सभी को बहुत-बहुत धन्यवाद जिन्होंने सुधार का सुझाव देने या बग की रिपोर्ट करने के लिए इश्यू खोलकर इस प्रोजेक्ट में योगदान दिया है।</p>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr class="section"><th colspan="2">मुख्य घटक</th></tr>
|
<tr class="section"><th colspan="2">मुख्य घटक</th></tr>
|
||||||
@@ -559,39 +565,40 @@ YTSage/
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
||||||
<td>मीडिया प्रोसेसिंग</td>
|
<td>मीडिया प्रसंस्करण</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://deno.com/">Deno</a></td>
|
<td><a href="https://deno.com/">Deno</a></td>
|
||||||
<td>yt-dlp के साथ एकीकरण के लिए रनटाइम</td>
|
<td>yt-dlp एकीकरण के लिए रनटाइम</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">लाइब्रेरी और फ्रेमवर्क</th></tr>
|
<tr class="section"><th colspan="2">पुस्तकालय और फ्रेमवर्क</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
||||||
<td>GUI फ्रेमवर्क</td>
|
<td>GUI फ्रेमवर्क</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-pillow.org/">तकिया</a></td>
|
<td><a href="https://python-pillow.org/">Pillow</a></td>
|
||||||
<td>इमेज प्रोसेसिंग</td>
|
<td>छवि प्रसंस्करण</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><a href="https://requests.readthedocs.io/">अनुरोध</a></td>
|
<tr>
|
||||||
|
<td><a href="https://requests.readthedocs.io/">requests</a></td>
|
||||||
<td>HTTP अनुरोध</td>
|
<td>HTTP अनुरोध</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://packaging.python.org/">पैकेजिंग</a></td>
|
<td><a href="https://packaging.python.org/">packaging</a></td>
|
||||||
<td>संस्करण और पैकेज हैंडलिंग</td>
|
<td>संस्करण प्रबंधन और पैकेजिंग</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-markdown.github.io/">मार्कडाउन</a></td>
|
<td><a href="https://python-markdown.github.io/">markdown</a></td>
|
||||||
<td>मार्कडाउन रेंडरिंग</td>
|
<td>Markdown रेंडरिंग</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
||||||
<td>लॉगिंग</td>
|
<td>लॉगिंग</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">संपत्ति और योगदानकर्ता</th></tr>
|
<tr class="section"><th colspan="2">एसेट्स और योगदानकर्ता</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">यूनिवर्सफील्ड द्वारा नई अधिसूचना 09</a></td>
|
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">New Notification 09 by Universfield</a></td>
|
||||||
<td>अधिसूचना ध्वनि</td>
|
<td>अधिसूचना ध्वनि</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -606,12 +613,12 @@ YTSage/
|
|||||||
|
|
||||||
## ⚠️ अस्वीकरण
|
## ⚠️ अस्वीकरण
|
||||||
|
|
||||||
यह उपकरण केवल व्यक्तिगत उपयोग के लिए है. कृपया YouTube की सेवा की शर्तों और सामग्री निर्माताओं के अधिकारों का सम्मान करें।
|
यह उपकरण केवल व्यक्तिगत उपयोग के लिए है। कृपया YouTube की सेवा की शर्तों और सामग्री रचनाकारों के अधिकारों का सम्मान करें।
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
❤️ के साथ [oop7](https://github.com/oop7) द्वारा बनाया गया
|
[oop7](https://github.com/oop7) द्वारा ❤️ के साथ बनाया गया
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+252
-246
@@ -13,80 +13,81 @@
|
|||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
**Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.**
|
**Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.**
|
||||||
Unduh video dalam kualitas apa pun, ekstrak audio, ambil subtitle, dan banyak lagi.
|
Unduh video dalam kualitas apa pun, ekstrak audio, dapatkan subtitle, dan banyak lagi.
|
||||||
|
|
||||||
### 🌍 README Bahasa
|
### 🌍 Bahasa README
|
||||||
|
|
||||||
Bahasa Inggris: [EN](../README.md)
|
Inggris: [EN](../README.md)
|
||||||
| Nilai: [AR](README.ar.md)
|
| Arab: [AR](README.ar.md)
|
||||||
| Jerman: [DE](README.de.md)
|
| Jerman: [DE](README.de.md)
|
||||||
| Spanyol: [ES](README.es.md)
|
| Spanyol: [ES](README.es.md)
|
||||||
| Perancis: [FR](README.fr.md)
|
| Prancis: [FR](README.fr.md)
|
||||||
| nilai: [HI](README.hi.md)
|
| Hindi: [HI](README.hi.md)
|
||||||
| Bahasa Indonesia: [ID](README.id.md)
|
| Indonesia: [ID](README.id.md)
|
||||||
| Italia: [IT](README.it.md)
|
| Italia: [IT](README.it.md)
|
||||||
| Nilai: [JA](README.ja.md)
|
| Jepang: [JA](README.ja.md)
|
||||||
| Polski: [PL](README.pl.md)
|
| Polandia: [PL](README.pl.md)
|
||||||
| Portugis: [PT](README.pt.md)
|
| Portugis: [PT](README.pt.md)
|
||||||
| Jawaban: [RU](README.ru.md)
|
| Rusia: [RU](README.ru.md)
|
||||||
| Turki: [TR](README.tr.md)
|
| Turki: [TR](README.tr.md)
|
||||||
| nama: [ZH](README.zh.md)
|
| Mandarin: [ZH](README.zh.md)
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="#installation">Instalasi</a> •
|
<a href="#instalasi">Instalasi</a> •
|
||||||
<a href="#features">Fitur</a> •
|
<a href="#fitur">Fitur</a> •
|
||||||
<a href="#usage">Penggunaan</a> •
|
<a href="#penggunaan">Penggunaan</a> •
|
||||||
<a href="#screenshots">Tangkapan Layar</a> •
|
<a href="#screenshot">Screenshot</a> •
|
||||||
<a href="#troubleshooting">Pemecahan Masalah</a> •
|
<a href="#troubleshooting">Troubleshooting</a> •
|
||||||
<a href="#sponsor">Sponsor</a> •
|
<a href="#sponsor">Sponsor</a> •
|
||||||
<a href="#contributing">Berkontribusi</a>
|
<a href="#kontribusi">Kontribusi</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<a id="why-ytsage"></a>
|
<a id="mengapa-ytsage"></a>
|
||||||
## ❓ Mengapa YTSage?
|
## ❓ Mengapa YTSage?
|
||||||
|
|
||||||
YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, alat ini menawarkan:
|
YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, ia menawarkan:
|
||||||
|
|
||||||
- Antarmuka PySide6 yang bersih dan modern
|
- Antarmuka PySide6 yang modern dan bersih
|
||||||
- Unduhan sekali klik untuk video, audio, dan subtitle
|
- Unduh video, audio, dan subtitle sekali klik
|
||||||
- Fitur lanjutan seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist
|
- Fitur canggih seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist
|
||||||
- Mode Generik Opsional untuk situs yang didukung yt-dlp di luar YouTube
|
- Mode Generik Opsional untuk situs di luar YouTube yang didukung oleh yt-dlp
|
||||||
- Dukungan lintas platform dan instalasi mudah
|
- Dukungan lintas platform dan instalasi mudah
|
||||||
|
|
||||||
<a id="features"></a>
|
<a id="fitur"></a>
|
||||||
## ✨ Fitur
|
## ✨ Fitur
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Fitur Inti | Fitur Lanjutan | Fitur Ekstra |
|
| Fitur Dasar | Fitur Lanjutan | Fitur Tambahan |
|
||||||
|----------------------------------||-----------------------------------------|------------------------------------|
|
|-----------------------------------|-----------------------------------------|------------------------------------|
|
||||||
| 🎥 Format Tabel | 🚫 Integrasi Blok Sponsor | 🎞️ Tampilan FPS/HDR |
|
| 🎥 Tabel Format | 🚫 Integrasi SponsorBlock | 🎞️ Tampilan FPS/HDR |
|
||||||
| 🎵 Ekstraksi Audio | 📝 Pilih & Gabungkan Multi-Subjudul | 🔄 Perbarui Otomatis yt-dlp |
|
| 🎵 Ekstraksi Audio | 📝 Pemilihan & Penggabungan Subtitle | 🔄 Pembaruan yt-dlp Otomatis |
|
||||||
| ✨ UI Sederhana | 💾 Simpan Deskripsi & Gambar Kecil | 🛠️ Deteksi FFmpeg/yt-dlp/Deno |
|
| ✨ Antarmuka Pengguna Sederhana | 💾 Simpan Deskripsi & Thumbnail | 🛠️ Deteksi FFmpeg/yt-dlp/Deno |
|
||||||
| 📋 Dukungan & Pemilih Daftar Putar | 🚀 Pembatas Kecepatan | ⚙️ Perintah Khusus |
|
| 📋 Dukungan & Pemilih Playlist | 🚀 Pembatas Kecepatan | ⚙️ Perintah Kustom |
|
||||||
| 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie |
|
| 📑 Integrasi Bab (Chapters) | ✂️ Potong Bagian Video | 🍪 Login Cookie |
|
||||||
| 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi |
|
| 📜 Riwayat Unduhan | 🔄 Pilihan Saluran Rilis | 🌐 Dukungan Proxy |
|
||||||
| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan |
|
| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Terintegrasi |
|
||||||
| 🌍 Mode Generik | 🔊 Normalisasi Audio (EBU R128) | 🌍 Lokalisasi dalam 14 Bahasa |
|
| 🌍 Mode Generik | 🔊 Normalisasi Audio (EBU R128) | 🌍 Lokalisasi dalam 14 Bahasa |
|
||||||
|
| 💾 Ekspor Playlist | ⚙️ Kualitas & Subtitle Default | |
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a id="installation"></a>
|
<a id="instalasi"></a>
|
||||||
## 🚀 Instalasi
|
## 🚀 Instalasi
|
||||||
|
|
||||||
### ⚡ Instal Cepat (Disarankan)
|
### ⚡ Instalasi Cepat (Direkomendasikan)
|
||||||
|
|
||||||
Instal YTSage dari PyPI:
|
Instal YTSage melalui PyPI:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install ytsage
|
pip install ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🔄 Perbarui instalasi yang ada</summary>
|
<summary>🔄 Perbarui Instalasi yang Ada</summary>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install --upgrade ytsage
|
pip install --upgrade ytsage
|
||||||
@@ -94,31 +95,31 @@ pip install --upgrade ytsage
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
Kemudian luncurkan aplikasi:
|
Kemudian jalankan aplikasi:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ytsage
|
ytsage
|
||||||
```
|
```
|
||||||
|
|
||||||
### 📦 Executable yang sudah dibuat sebelumnya
|
### 📦 Executable Siap Pakai (Executable)
|
||||||
|
|
||||||
> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
|
> [👉 Unduh Rilis Terbaru](https://github.com/oop7/YTSage/releases/latest)
|
||||||
|
|
||||||
#### 🪟 Jendela
|
#### 🪟 Windows
|
||||||
|
|
||||||
| Format | Deskripsi |
|
| Format | Deskripsi |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Pemasang standar |
|
|  | Installer Standar |
|
||||||
|  | Dengan FFmpeg dibundel |
|
|  | Dilengkapi dengan FFmpeg |
|
||||||
|  | Versi portabel, tidak perlu instalasi |
|
|  | Versi Portabel, tidak perlu instalasi |
|
||||||
|  | Portabel dengan FFmpeg, zip |
|
|  | Portabel dengan FFmpeg, dikompresi (ZIP) |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Langkah Instalasi</summary>
|
<summary>🛠️ Langkah Instalasi</summary>
|
||||||
|
|
||||||
1. **EXE Installer (`.exe`)**: Klik dua kali file tersebut dan ikuti panduan pengaturan.
|
1. **Installer EXE (`.exe`)**: Klik dua kali pada file dan ikuti wizard pengaturan.
|
||||||
2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang Anda inginkan dan jalankan `ytsage.exe`.
|
2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang diinginkan dan jalankan `ytsage.exe`.
|
||||||
3. **FFmpeg Bundled**: Pilih versi paket FFmpeg jika Anda belum menginstal FFmpeg di sistem Anda.
|
3. **FFmpeg Bawaan**: Jika Anda tidak memiliki FFmpeg di sistem Anda, pilih versi dengan FFmpeg bawaan.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
#### 🐧 Linux
|
#### 🐧 Linux
|
||||||
@@ -126,9 +127,9 @@ ytsage
|
|||||||
| Format | Deskripsi |
|
| Format | Deskripsi |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Paket Debian |
|
|  | Paket Debian |
|
||||||
|  | AppImage, portabel |
|
|  | AppImage, Portabel |
|
||||||
|  | Paket RPM |
|
|  | Paket RPM |
|
||||||
|  | Paket Flatpak |
|
|  | Bundel Flatpak |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Langkah Instalasi</summary>
|
<summary>🛠️ Langkah Instalasi</summary>
|
||||||
@@ -136,13 +137,13 @@ ytsage
|
|||||||
- **DEB (`.deb`)**:
|
- **DEB (`.deb`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo dpkg -i ytsage_*.deb
|
sudo dpkg -i ytsage_*.deb
|
||||||
sudo apt-get install -f # Fix missing dependencies if any
|
sudo apt-get install -f # Jika perlu perbaiki dependensi yang kurang
|
||||||
```
|
```
|
||||||
- **RPM (`.rpm`)**:
|
- **RPM (`.rpm`)**:
|
||||||
```bash
|
```bash
|
||||||
sudo rpm -i ytsage-*.rpm
|
sudo rpm -i ytsage-*.rpm
|
||||||
```
|
```
|
||||||
- **Gambar Aplikasi (`.AppImage`)**:
|
- **AppImage (`.AppImage`)**:
|
||||||
```bash
|
```bash
|
||||||
chmod +x YTSage-*.AppImage
|
chmod +x YTSage-*.AppImage
|
||||||
./YTSage-*.AppImage
|
./YTSage-*.AppImage
|
||||||
@@ -157,22 +158,22 @@ ytsage
|
|||||||
|
|
||||||
| Format | Deskripsi |
|
| Format | Deskripsi |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|  | Aplikasi zip untuk Apple Silicon |
|
|  | Aplikasi ZIP untuk Apple Silicon |
|
||||||
|  | Penginstal gambar disk untuk Apple Silicon |
|
|  | Installer Disk Image untuk Apple Silicon |
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Langkah Instalasi</summary>
|
<summary>🛠️ Langkah Instalasi</summary>
|
||||||
|
|
||||||
- **Pemasang DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu seret `YTSage.app` ke dalam folder Aplikasi Anda.
|
- **Installer DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu tarik `YTSage.app` ke folder Applications Anda.
|
||||||
- **Arsip Aplikasi (`.zip`)**: Ekstrak zip dan pindahkan `YTSage.app` ke folder Aplikasi Anda.
|
- **Arsip Aplikasi (`.zip`)**: Ekstrak ZIP dan pindahkan `YTSage.app` ke folder Applications Anda.
|
||||||
|
|
||||||
*Catatan: Jika Anda mengalami kesalahan "Aplikasi rusak", lihat [macOS troubleshooting section](#troubleshooting) di bawah.*
|
*Catatan: Jika Anda mendapatkan kesalahan "App is damaged", lihat bagian Troubleshooting macOS di bawah ini.*
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>💻 Instalasi Manual dari Sumber</summary>
|
<summary>💻 Instalasi Manual dari Sumber (Source)</summary>
|
||||||
|
|
||||||
### 1. Kloning Repositori
|
### 1. Kloning Repositori
|
||||||
|
|
||||||
@@ -183,7 +184,7 @@ cd YTSage
|
|||||||
|
|
||||||
### 2. Instal Dependensi
|
### 2. Instal Dependensi
|
||||||
|
|
||||||
#### ⚡ Dengan UV
|
#### ⚡ Dengan uv
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv pip install .
|
uv pip install .
|
||||||
@@ -203,227 +204,231 @@ python -m ytsage.main
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<a id="screenshots"></a>
|
<a id="screenshot"></a>
|
||||||
## 📸 Tangkapan layar
|
## 📸 Screenshot
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/Download-Settings.png" alt="Download Settings" width="400"/></td>
|
<td><img src="../branding/screenshots/Download-Settings.png" alt="Pengaturan Unduhan" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/playlist.png" alt="Playlist Download" width="400"/></td>
|
<td><img src="../branding/screenshots/playlist.png" alt="Unduhan Playlist" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>Pengaturan Unduhan</em></td>
|
<td align="center"><em>Pengaturan Unduhan</em></td>
|
||||||
<td align="center"><em>Unduh Daftar Putar</em></td>
|
<td align="center"><em>Unduhan Playlist</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="../branding/screenshots/audio_format.png" alt="Audio Format Selection with Save Thumbnail" width="400"/></td>
|
<td><img src="../branding/screenshots/audio_format.png" alt="Pemilihan Format Audio" width="400"/></td>
|
||||||
<td><img src="../branding/screenshots/Custom-Option.png" alt="Custom Options" width="400"/></td>
|
<td><img src="../branding/screenshots/Custom-Option.png" alt="Opsi Kustom" width="400"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center"><em>Format Audio</em></td>
|
<td align="center"><em>Format Audio</em></td>
|
||||||
<td align="center"><em>Opsi Khusus</em></td>
|
<td align="center"><em>Opsi Kustom</em></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div><a id="usage"></a>
|
</div>
|
||||||
|
|
||||||
|
<a id="penggunaan"></a>
|
||||||
## 📖 Penggunaan
|
## 📖 Penggunaan
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🎯 Penggunaan Dasar</summary>
|
<summary>🎯 Penggunaan Dasar</summary>
|
||||||
|
|
||||||
1. **Luncurkan YTSage**
|
1. **Luncurkan YTSage**
|
||||||
2. **Tempel URL YouTube** (atau gunakan tombol "Tempel URL")
|
2. **Tempel URL YouTube** (atau gunakan tombol "Paste URL")
|
||||||
3. **Klik "Analisis"**
|
3. **Klik "Analyze"**
|
||||||
4. **Pilih Format:**
|
4. **Pilih Format:**
|
||||||
- `Video` untuk mengunduh video
|
- `Video` untuk unduhan video
|
||||||
- `Audio Only` untuk ekstraksi audio
|
- `Audio Only` untuk ekstraksi audio
|
||||||
5. **Pilih Opsi:**
|
5. **Pilih Opsi:**
|
||||||
- Aktifkan subtitle & pilih bahasa
|
- Aktifkan subtitle dan pilih bahasa
|
||||||
- Aktifkan penggabungan subtitle
|
- Aktifkan penggabungan subtitle
|
||||||
- Simpan gambar kecil
|
- Simpan thumbnail
|
||||||
- Hapus segmen sponsor
|
- Hapus bagian sponsor
|
||||||
- Simpan deskripsi
|
- Simpan deskripsi
|
||||||
- Sematkan bab
|
- Masukkan bab (chapters)
|
||||||
6. **Pilih Direktori Keluaran**
|
6. **Pilih Direktori Output**
|
||||||
7. **Klik "Unduh"**
|
7. **Klik "Download"**
|
||||||
|
|
||||||
> 💡 Direktori unduhan default adalah folder "Unduhan" milik pengguna.
|
> 💡 Direktori unduhan bawaan adalah folder "Downloads" pengguna.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📋 Unduh Daftar Putar</summary>
|
<summary>📋 Unduhan Playlist</summary>
|
||||||
|
|
||||||
1. **Tempel URL Daftar Putar**
|
1. **Tempel URL Playlist**
|
||||||
2. **Klik "Analisis"**
|
2. **Klik "Analyze"**
|
||||||
3. **Pilih video dari pemilih daftar putar (opsional, default untuk semua)**
|
3. **Pilih video dari pemilih playlist (opsional, default semua)**
|
||||||
4. **Pilih format/kualitas yang diinginkan**
|
4. **Pilih format/kualitas yang diinginkan**
|
||||||
5. **Klik "Unduh"**
|
5. **Klik "Download"**
|
||||||
|
|
||||||
> 💡 Aplikasi secara otomatis menangani antrian unduhan
|
> 💡 Aplikasi secara otomatis mengelola antrean unduhan, dan Anda dapat mengekspor entri playlist sebagai file `.txt`, `.csv`, `.m3u`, atau `.json`.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 Mode Generik untuk situs non-YouTube</summary>
|
<summary>🌍 Mode Generik untuk Situs Selain YouTube</summary>
|
||||||
|
|
||||||
Gunakan Mode Generik bila Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp, seperti Dailymotion, CBC Gem, TikTok, dan lainnya.
|
Gunakan Mode Generik saat Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp seperti Dailymotion, CBC Gem, TikTok, dan lainnya.
|
||||||
|
|
||||||
Cara menggunakannya:
|
Cara menggunakannya:
|
||||||
|
|
||||||
1. Buka `Download Settings`.
|
1. Buka `Download Settings`.
|
||||||
2. Aktifkan `Generic Mode`.
|
2. Aktifkan `Generic Mode`.
|
||||||
3. Tempelkan URL video atau playlist non-YouTube yang didukung.
|
3. Tempel URL video atau playlist yang didukung selain YouTube.
|
||||||
4. Klik `Analyze`.
|
4. Klik `Analyze`.
|
||||||
5. Pilih format dan unduh seperti biasa.
|
5. Pilih format dan unduh seperti biasa.
|
||||||
|
|
||||||
Catatan:
|
Catatan:
|
||||||
|
|
||||||
- Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal.
|
- Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal.
|
||||||
- Beberapa situs memerlukan cookie, sesi login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya.
|
- Beberapa situs memerlukan cookie, login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya.
|
||||||
- Jika situs gagal, perbarui yt-dlp terlebih dahulu dari tab pembaru bawaan sebelum melaporkan masalah tersebut.
|
- Jika suatu situs gagal, perbarui yt-dlp dari tab pembaruan terintegrasi sebelum melaporkan masalah.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🧰 Opsi Media dan Unduhan</summary>
|
<summary>🧰 Opsi Media & Unduhan</summary>
|
||||||
|
|
||||||
- **Opsi Subtitle:** Filter bahasa dan sematkan subtitle ke dalam file video
|
- **Opsi Subtitle:** Filter bahasa dan masukkan subtitle ke dalam file video.
|
||||||
- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle hardcode
|
- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle permanen (hardcoded).
|
||||||
- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks
|
- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks.
|
||||||
- **Simpan Gambar Kecil:** Menyimpan gambar kecil video sebagai file gambar
|
- **Simpan Thumbnail:** Simpan thumbnail video sebagai file gambar.
|
||||||
- **Sematkan Bab:** Sematkan penanda bab sebagai metadata untuk pemutar video yang kompatibel
|
- **Masukkan Bab (Chapters):** Sertakan penanda bab sebagai metadata untuk pemutar video yang kompatibel.
|
||||||
- **Hapus Segmen Sponsor:** Hapus segmen sponsor dari video menggunakan SponsorBlock
|
- **Hapus Bagian Sponsor:** Gunakan SponsorBlock untuk menghapus segmen sponsor dari video.
|
||||||
- **Pangkas Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `HH:MM:SS`
|
- **Potong Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `JJ:MM:DD`.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>⚙️ Pengaturan Output dan File</summary>
|
<summary>⚙️ Pengaturan Output & File</summary>
|
||||||
|
|
||||||
|
- **Pembatas Kecepatan:** Batasi kecepatan unduhan, misalnya `500K` untuk 500 KB/s.
|
||||||
|
- **Simpan Jalur Unduhan:** Menyimpan jalur unduhan default untuk unduhan di masa mendatang. Tersedia di **Download Settings → Download Path**.
|
||||||
|
- **Resolusi Video Default:** Atur resolusi video pilihan Anda untuk pemilihan otomatis (misalnya 1080p, 720p). Tersedia di **Download Settings → Default Video Resolution**.
|
||||||
|
- **Bahasa Subtitle Default:** Atur bahasa subtitle default untuk pemilihan otomatis (dipisahkan koma, misalnya `id,en`). Tersedia di **Download Settings → Default Subtitle Languages**.
|
||||||
|
- **Format Nama File:** Sesuaikan format nama file output menggunakan variabel seperti `%(title)s`, `%(uploader)s`, `%(playlist_index)s`, dan `%(resolution)s`. Tersedia di **Download Settings → Filename Format**.
|
||||||
|
- **Paksa Format Output:** Paksa unduhan video ke format kontainer tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Download Settings → Output Format Settings**.
|
||||||
|
- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Download Settings → Audio Format Settings**.
|
||||||
|
- **Normalisasi Audio:** Standarisasi volume untuk unduhan audio saja menggunakan EBU R128.
|
||||||
|
- **Koneksi Serentak:** Tingkatkan kecepatan unduhan secara signifikan dengan mengunduh file dalam beberapa bagian secara bersamaan. Tersedia di **Download Settings → General → Concurrent Connections** (default 1, maksimal 8-10 direkomendasikan untuk menghindari blokir IP).
|
||||||
|
|
||||||
- **Pembatas Kecepatan:** Batasi kecepatan unduh, misalnya `500K` sebesar 500 KB/dtk
|
|
||||||
- **Simpan Jalur Unduhan:** Simpan jalur unduhan default untuk unduhan berikutnya. Tersedia di **Pengaturan Unduhan → Jalur Unduhan**.
|
|
||||||
- **Format Nama File Keluaran:** Sesuaikan format nama file keluaran menggunakan variabel seperti `%(title)s`, `%(uploader)s`, dan `%(resolution)s`. Tersedia di **Pengaturan Unduhan → Format Nama File**.
|
|
||||||
- **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**.
|
|
||||||
- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**.
|
|
||||||
- **Normalisasi Audio:** Standarkan volume untuk unduhan audio saja menggunakan EBU R128.
|
|
||||||
- **Koneksi Bersamaan:** Tingkatkan kecepatan unduhan secara drastis dengan mengunduh file dalam beberapa fragmen secara bersamaan. Tersedia di **Pengaturan Unduhan → Umum → Koneksi Bersamaan** (Bawaan 1, batas maksimum yang disarankan adalah 8-10 untuk mencegah pembatasan IP).\n
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌐 Akses dan Jaringan</summary>
|
<summary>🌐 Akses & Jaringan</summary>
|
||||||
|
|
||||||
- **Masuk dengan Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi.
|
- **Login Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi.
|
||||||
Cara menggunakannya:
|
Penggunaan:
|
||||||
1. **Disarankan:** Gunakan opsi `Extract cookies from browser` bawaan di aplikasi, lalu pilih browser Anda dan opsional profil.
|
1. **Direkomendasikan:** Gunakan opsi bawaan `Extract cookies from browser` di aplikasi, lalu pilih browser dan opsional profil Anda.
|
||||||
2. Alternatifnya, ekstrak cookie secara manual:
|
2. Secara opsional, ekstrak cookie secara manual:
|
||||||
sebuah. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
|
a. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file)
|
||||||
b. Salin cookie dalam format Netscape
|
b. Salin cookie dalam format Netscape
|
||||||
c. Buat file bernama `cookies.txt` dan tempel cookie ke dalamnya
|
c. Buat file bernama `cookies.txt` dan tempel cookie
|
||||||
d. Pilih file `cookies.txt` di aplikasi
|
d. Pilih file `cookies.txt` di aplikasi
|
||||||
- **Dukungan Proxy:** Gunakan server proxy untuk mendownload, misalnya `http://<proxy-server>:<port>`
|
- **Dukungan Proxy:** Gunakan server proxy untuk unduhan, misalnya `http://<server-proxy>:<port>`
|
||||||
- **Mode Generik:** Izinkan YTSage menganalisis dan mengunduh dari situs non-YouTube yang didukung oleh yt-dlp. Aktifkan dari **Pengaturan Unduhan → Mode Generik**.
|
- **Mode Generik:** Izinkan YTSage untuk menganalisis dan mengunduh dari situs selain YouTube yang didukung oleh yt-dlp. Aktifkan dari **Download Settings → Generic Mode**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🛠️ Alat dan Perawatan</summary>
|
<summary>🛠️ Alat & Pemeliharaan</summary>
|
||||||
|
|
||||||
- **Perintah Khusus:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah
|
- **Perintah Kustom:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah.
|
||||||
- **Tab Pembaruan:** Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom:
|
- **Tab Pembaruan:** Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom:
|
||||||
- **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stabil dan Malam
|
- **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stable dan Nightly.
|
||||||
- **Pemeriksa Versi FFmpeg:** Periksa versi FFmpeg Anda dan buka panduan instalasi
|
- **Pemeriksa Versi FFmpeg:** Verifikasi versi FFmpeg Anda dan buka panduan instalasi.
|
||||||
- **Pembaruan Deno:** Periksa dan perbarui runtime Deno
|
- **Pembaruan Deno:** Periksa dan perbarui runtime Deno.
|
||||||
- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog Tentang.
|
- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog About.
|
||||||
- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **Riwayat**.
|
- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **History**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>🌍 Lokalisasi</summary>
|
<summary>🌍 Lokalisasi</summary>
|
||||||
|
|
||||||
YTSage mendukung **14 bahasa** untuk aksesibilitas di seluruh dunia. Pilih bahasa pilihan Anda dari **Opsi Kustom → Bahasa**.
|
YTSage mendukung **14 bahasa** untuk jangkauan global. Pilih bahasa pilihan Anda di **Custom Options → Language**.
|
||||||
|
|
||||||
### Bahasa yang Didukung
|
### Bahasa yang Didukung
|
||||||
|
|
||||||
| Bahasa | Kode | Bahasa | Kode |
|
| Bahasa | Kode | Bahasa | Kode |
|
||||||
|----------|------|----------|------|
|
|----------|------|----------|------|
|
||||||
| 🇮🇩 Bahasa Inggris | `en` | 🇪🇪 Spanyol | `es` |
|
| 🇺🇸 Inggris | `en` | 🇪🇸 Spanyol | `es` |
|
||||||
| Arab Saudi | `ar` | 🇫🇷 Perancis | `fr` |
|
| 🇸🇦 Arab | `ar` | 🇫🇷 Prancis | `fr` |
|
||||||
| 🇩🇪 Jerman | `de` | 🇮🇩 Hindi | `hi` |
|
| 🇩🇪 Jerman | `de` | 🇮🇳 Hindi | `hi` |
|
||||||
| 🇮🇩 Bahasa Indonesia | `id` | 🇮🇹 Italia | `it` |
|
| 🇮🇩 Indonesia | `id` | 🇮🇹 Italia | `it` |
|
||||||
| 🇯ppa Jepang | `ja` | 🇱 Polandia | `pl` |
|
| 🇯🇵 Jepang | `ja` | 🇵🇱 Polandia | `pl` |
|
||||||
| 🇧🇷 Portugis | `pt` | 🇷л Rusia | `ru` |
|
| 🇧🇷 Portugis | `pt` | 🇷🇺 Rusia | `ru` |
|
||||||
| 🇹🇷 Turki | `tr` | CNY Cina | `zh` |
|
| 🇹🇷 Turki | `tr` | 🇨🇳 Mandarin | `zh` |
|
||||||
|
|
||||||
### README Terjemahan
|
### Terjemahan README
|
||||||
|
|
||||||
| Bahasa | Berkas | Bahasa | Berkas |
|
| Bahasa | File | Bahasa | File |
|
||||||
|----------|------|----------|------|
|
|----------|------|----------|------|
|
||||||
| 🇮🇩 Bahasa Inggris | [README.md](../README.md) | 🇪🇪 Spanyol | [README.es.md](README.es.md)
|
| 🇺🇸 Inggris | [README.md](README.md) | 🇪🇸 Spanyol | [README.es.md](README.es.md) |
|
||||||
| Arab Saudi | [README.ar.md](README.ar.md) | 🇫🇷 Perancis | [README.fr.md](README.fr.md) |
|
| 🇸🇦 Arab | [README.ar.md](README.ar.md) | 🇫🇷 Prancis | [README.fr.md](README.fr.md) |
|
||||||
| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇩 Hindi | [README.hi.md](README.hi.md) |
|
| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) |
|
||||||
| 🇮🇩 Bahasa Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) |
|
| 🇮🇩 Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) |
|
||||||
| 🇯ppa Jepang | [README.ja.md](README.ja.md) | 🇱 Polandia | [README.pl.md](README.pl.md) |
|
| 🇯🇵 Jepang | [README.ja.md](README.ja.md) | 🇵🇱 Polandia | [README.pl.md](README.pl.md) |
|
||||||
| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷л Rusia | [README.ru.md](README.ru.md) |
|
| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷🇺 Rusia | [README.ru.md](README.ru.md) |
|
||||||
| 🇹🇷 Turki | [README.tr.md](README.tr.md) | CNY Cina | [README.zh.md](README.zh.md) |
|
| 🇹🇷 Turki | [README.tr.md](README.tr.md) | 🇨🇳 Mandarin | [README.zh.md](README.zh.md) |
|
||||||
|
|
||||||
> 💡 **Ingin berkontribusi terjemahan?** Lihat bagian [Contributing](#contributing) untuk membantu kami menambahkan lebih banyak bahasa!
|
> 💡 **Ingin membantu menerjemahkan?** Lihat bagian [Kontribusi](#kontribusi) untuk membantu kami menambahkan lebih banyak bahasa!
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<a id="troubleshooting"></a>
|
<a id="troubleshooting"></a>
|
||||||
## 🛠️ Pemecahan masalah
|
## 🛠️ Troubleshooting
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Klik untuk melihat masalah umum dan solusinya</summary>
|
<summary>Klik untuk melihat masalah umum dan solusinya</summary>
|
||||||
|
|
||||||
- **Format tabel tidak ditampilkan:** Perbarui yt-dlp ke versi terbaru, dan beralih ke yt-dlp setiap malam.
|
- **Tabel format tidak muncul:** Perbarui yt-dlp ke versi terbaru dan coba beralih ke yt-dlp Nightly.
|
||||||
- **Pengunduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia.
|
- **Unduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia.
|
||||||
- **Kesalahan pengunduhan tertentu:**
|
- **Kesalahan Unduhan Spesifik:**
|
||||||
- **Video pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi.
|
- **Video Pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi.
|
||||||
- **Konten dengan batasan usia:** Masuk ke akun YouTube untuk melihat video dengan batasan usia.
|
- **Konten Dibatasi Usia:** Masuk ke akun YouTube Anda untuk melihat video yang dibatasi usia.
|
||||||
- **Video yang diblokir secara geografis:** Pertimbangkan untuk menggunakan VPN untuk melewati batasan regional.
|
- **Video yang Diblokir Geo:** Pertimbangkan menggunakan VPN untuk melewati batasan regional.
|
||||||
- **Video yang dihapus/dihapus:** Video tidak lagi tersedia di YouTube.
|
- **Video Dihapus:** Video tidak lagi tersedia di YouTube.
|
||||||
- **Streaming langsung:** Streaming langsung tidak dapat diunduh; tunggu hingga streaming berakhir.
|
- **Live Stream:** Streaming langsung tidak dapat diunduh saat sedang disiarkan; tunggu hingga streaming selesai.
|
||||||
- **Kesalahan jaringan:** Periksa koneksi internet Anda dan coba lagi.
|
- **Kesalahan Jaringan:** Periksa koneksi internet Anda dan coba lagi.
|
||||||
- **URL tidak valid:** Pastikan URL benar dan berasal dari platform yang didukung.
|
- **URL Tidak Valid:** Pastikan URL benar dan berasal dari platform yang didukung.
|
||||||
- **Konten premium:** Memerlukan keanggotaan YouTube Premium.
|
- **Konten Premium:** Memerlukan langganan YouTube Premium.
|
||||||
- **Pemblokiran hak cipta:** Konten diblokir karena pembatasan hak cipta.
|
- **Blokir Hak Cipta:** Konten diblokir karena pembatasan hak cipta.
|
||||||
- **Pisahkan file video dan audio setelah diunduh:** Ini terjadi jika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi.
|
- **File video dan audio terpisah setelah diunduh:** Ini terjadi ketika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi.
|
||||||
- **Solusi:** Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v<version>-ffmpeg.exe`, yang disertakan dengan FFmpeg.
|
- **Solusi:** Pastikan FFmpeg terinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v<version>-ffmpeg.exe`, yang dilengkapi dengan FFmpeg.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### 🛡️ Peringatan Windows Defender / Antivirus
|
#### 🛡️ Peringatan Windows Defender / Antivirus
|
||||||
|
|
||||||
Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu. Ini adalah **batasan umum** pada aplikasi paket.
|
Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu (false positive). Ini adalah **batasan umum** dari aplikasi yang dipaketkan.
|
||||||
|
|
||||||
**Mengapa ini terjadi:**
|
**Mengapa ini terjadi:**
|
||||||
- Heuristik antivirus dapat salah mengidentifikasi executable yang dikemas sebagai sesuatu yang mencurigakan
|
- Heuristik antivirus mungkin salah mengidentifikasi executable yang dipaketkan sebagai mencurigakan.
|
||||||
|
|
||||||
**Alternatif yang aman:**
|
**Opsi Aman:**
|
||||||
- ✅ **Gunakan instalasi pip:** `pip install ytsage` (disarankan)
|
- ✅ **Gunakan instalasi pip:** `pip install ytsage` (direkomendasikan)
|
||||||
- ✅ **Bangun dari sumber**: dengan mengikuti [guide](../.github/CI_CD_README.md) ini
|
- ✅ **Build dari sumber**: Mengikuti [panduan](.github/CI_CD_README.md) ini
|
||||||
- ✅ **Masukkan aplikasi ke daftar putih** di perangkat lunak antivirus Anda
|
- ✅ **Whitelist aplikasi** di perangkat lunak antivirus Anda.
|
||||||
|
|
||||||
#### 🍎 macOS: "Aplikasi rusak dan tidak dapat dibuka"
|
#### 🍎 macOS: "App is damaged and can’t be opened"
|
||||||
Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus menghapus atribut karantina.
|
Jika Anda melihat kesalahan ini di macOS Sonoma atau yang lebih baru, Anda perlu menghapus atribut karantina.
|
||||||
|
|
||||||
1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight).
|
1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight).
|
||||||
2. **Ketik perintah berikut** tetapi **jangan** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir:
|
2. **Ketik perintah berikut** tetapi **JANGAN** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir:
|
||||||
```bash
|
```bash
|
||||||
xattr -d com.apple.quarantine
|
xattr -d com.apple.quarantine
|
||||||
```
|
```
|
||||||
3. **Seret file `YTSage.app`** dari jendela Finder Anda dan letakkan langsung ke jendela Terminal. Ini secara otomatis akan menempelkan jalur file yang benar.
|
3. **Tarik file `YTSage.app` dari jendela Finder Anda** dan lepaskan langsung ke jendela Terminal. Ini akan secara otomatis menempelkan jalur file yang benar.
|
||||||
4. **Tekan Enter** untuk menjalankan perintah.
|
4. **Tekan Enter** untuk menjalankan perintah.
|
||||||
5. **Coba buka YTSage.app lagi.** Sekarang seharusnya sudah diluncurkan dengan benar.
|
5. **Coba buka kembali YTSage.app.** Sekarang seharusnya dapat diluncurkan dengan benar.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **Lokasi Konfigurasi (Lanjutan)**
|
#### **Lokasi Konfigurasi (Lanjutan)**
|
||||||
- **Jendela:** `%LOCALAPPDATA%\YTSage`
|
- **Windows:** `%LOCALAPPDATA%\YTSage`
|
||||||
- **macOS:** `~/Library/Application Support/YTSage`
|
- **macOS:** `~/Library/Application Support/YTSage`
|
||||||
- **Linux:** `~/.local/share/YTSage`
|
- **Linux:** `~/.local/share/YTSage`
|
||||||
|
|
||||||
@@ -432,102 +437,102 @@ Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus meng
|
|||||||
<a id="sponsor"></a>
|
<a id="sponsor"></a>
|
||||||
## 💖 Sponsor
|
## 💖 Sponsor
|
||||||
|
|
||||||
Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek tersebut. Sponsor membantu menutupi waktu pengembangan, pengujian lintas platform, dan peningkatan di masa depan.
|
Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek ini. Sponsor membantu mencakup waktu pengembangan, pengujian di semua platform, dan peningkatan di masa mendatang.
|
||||||
|
|
||||||
- Sponsor GitHub: https://github.com/sponsors/oop7
|
- GitHub Sponsors: https://github.com/sponsors/oop7
|
||||||
- Tautan sponsor juga tersedia langsung di dalam aplikasi dari dialog Tentang.
|
- Tautan sponsor tersedia langsung melalui dialog About di dalam aplikasi.
|
||||||
|
|
||||||
[](https://github.com/sponsors/oop7)
|
[](https://github.com/sponsors/oop7)
|
||||||
|
|
||||||
<a id="contributing"></a>
|
<a id="kontribusi"></a>
|
||||||
## 👥 Berkontribusi
|
## 👥 Kontribusi
|
||||||
|
|
||||||
Kami menyambut kontribusi! Inilah cara Anda dapat membantu:
|
Kami menerima kontribusi! Berikut cara Anda dapat membantu:
|
||||||
|
|
||||||
1. 🍴 Cabangkan repositori
|
1. 🍴 Fork repositori
|
||||||
2. 🌿 Buat cabang fitur Anda:
|
2. 🌿 Buat cabang fitur Anda:
|
||||||
```bash
|
```bash
|
||||||
git checkout -b feature/AmazingFeature
|
git checkout -b feature/FiturLuarBiasa
|
||||||
```
|
```
|
||||||
3. 💾 Komit perubahan Anda:
|
3. 💾 Komit perubahan Anda:
|
||||||
```bash
|
```bash
|
||||||
git commit -m 'Add some AmazingFeature'
|
git commit -m 'Tambah FiturLuarBiasa'
|
||||||
```
|
```
|
||||||
4. 📤 Dorong ke cabang:
|
4. 📤 Push ke cabang:
|
||||||
```bash
|
```bash
|
||||||
git push origin feature/AmazingFeature
|
git push origin feature/FiturLuarBiasa
|
||||||
```
|
```
|
||||||
5. 🔄 Buka Permintaan Tarik
|
5. 🔄 Buka Pull Request
|
||||||
|
|
||||||
### 🌍 Berkontribusi pada Terjemahan
|
### 🌍 Berkontribusi pada Terjemahan
|
||||||
|
|
||||||
- Perbarui file README lokal yang cocok (misalnya `README.es.md`)
|
- Perbarui file README lokal yang relevan (misalnya `readme-translations/README.id.md`)
|
||||||
- Jaga agar string aplikasi tetap sinkron dengan mengedit `ytsage/languages/<code>.json`
|
- Jaga agar string aplikasi tetap sinkron dengan mengedit `ytsage/languages/<code>.json`
|
||||||
- Jika bahasa Anda hilang, mulai dari `README.md` dan buat `README.<code>.md`
|
- Jika bahasa Anda belum ada, mulailah dari `README.md` dan buat `README.<code>.md`
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>📂 Struktur Proyek</summary>
|
<summary>📂 Struktur Proyek</summary>
|
||||||
|
|
||||||
## YTSage - Struktur Proyek
|
## YTSage - Struktur Proyek
|
||||||
|
|
||||||
Dokumen ini menjelaskan struktur folder YTSage yang terorganisir.
|
Dokumen ini menjelaskan struktur folder yang terorganisir dari YTSage.
|
||||||
|
|
||||||
### 📁 Struktur Proyek
|
### 📁 Struktur Proyek
|
||||||
|
|
||||||
```
|
```
|
||||||
YTSage/
|
YTSage/
|
||||||
├── 📁 .github/ # GitHub configuration
|
├── 📁 .github/ # Konfigurasi GitHub
|
||||||
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
|
│ ├── 📁 ISSUE_TEMPLATE/ # Templat Issue
|
||||||
│ │ └── 🐛-bug-report.md # Bug report template
|
│ │ └── 🐛-bug-report.md # Templat laporan bug
|
||||||
│ ├─── 📁 workflows/ # GitHub Actions workflows
|
│ ├─── 📁 workflows/ # Alur kerja GitHub Actions
|
||||||
│ │ ├── build-linux.yml # Linux build workflow
|
│ │ ├── build-linux.yml # Alur kerja build Linux
|
||||||
│ │ ├── build-macos.yml # macOS build workflow
|
│ │ ├── build-macos.yml # Alur kerja build macOS
|
||||||
│ │ │── build-windows.yml # Windows build workflow
|
│ │ │── build-windows.yml # Alur kerja build Windows
|
||||||
| | └── release-all.yml # Master release workflow
|
| | └── release-all.yml # Alur kerja rilis master
|
||||||
│ └── 📄 CI_CD_README.md # CI/CD documentation
|
│ └── 📄 CI_CD_README.md # Dokumentasi CI/CD
|
||||||
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
|
├── 📁 branding/ # Aset branding (screenshot, SVG)
|
||||||
│ ├── 📁 icons/ # Application icons
|
│ ├── 📁 icons/ # Ikon aplikasi
|
||||||
│ ├── 📁 screenshots/ # Screenshots for documentation
|
│ ├── 📁 screenshots/ # Screenshot untuk dokumentasi
|
||||||
│ └── 📁 svg/ # SVG assets
|
│ └── 📁 svg/ # Aset SVG
|
||||||
├── 📄 LICENSE # License file
|
├── 📄 LICENSE # File lisensi
|
||||||
├── 📄 pyproject.toml # Project metadata and dependencies
|
├── 📄 pyproject.toml # Metadata proyek dan dependensi
|
||||||
├── 📄 README.md # Project documentation
|
├── 📄 README.md # Dokumentasi proyek
|
||||||
├── 📄 requirements.txt # Python dependencies (dev)
|
├── 📄 requirements.txt # Dependensi Python (dev)
|
||||||
└── 📁 ytsage/ # Source package
|
└── 📁 ytsage/ # Paket kode sumber
|
||||||
├── 📁 assets/ # Runtime assets
|
├── 📁 assets/ # Aset runtime
|
||||||
│ ├── 📁 Icon/ # Application icons
|
│ ├── 📁 Icon/ # Ikon aplikasi
|
||||||
│ └── 📁 sound/ # Audio files
|
│ └── 📁 sound/ # File audio
|
||||||
├── 📁 languages/ # Localization files
|
├── 📁 languages/ # File lokalisasi
|
||||||
│ ├── 📄 ar.json # Arabic translation
|
│ ├── 📄 ar.json # Terjemahan Arab
|
||||||
│ ├── 📄 de.json # German translation
|
│ ├── 📄 de.json # Terjemahan Jerman
|
||||||
│ ├── 📄 en.json # English translation
|
│ ├── 📄 en.json # Terjemahan Inggris
|
||||||
│ └── ... # Other languages
|
│ └── ... # Bahasa lainnya
|
||||||
├── 📁 core/ # Core business logic
|
├── 📁 core/ # Logika bisnis inti
|
||||||
│ ├── 📄 __init__.py # Core package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_deno.py # Deno integration
|
│ ├── 📄 ytsage_deno.py # Integrasi Deno
|
||||||
│ ├── 📄 ytsage_downloader.py # Download functionality
|
│ ├── 📄 ytsage_downloader.py # Fungsionalitas pengunduhan
|
||||||
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
|
│ ├── 📄 ytsage_ffmpeg.py # Integrasi FFmpeg
|
||||||
│ ├── 📄 ytsage_utils.py # Utility functions
|
│ ├── 📄 ytsage_utils.py # Fungsi utilitas
|
||||||
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
|
│ └── 📄 ytsage_yt_dlp.py # Integrasi yt-dlp
|
||||||
├── 📁 gui/ # User interface components
|
├── 📁 gui/ # Komponen antarmuka pengguna
|
||||||
│ ├── 📄 __init__.py # GUI package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_gui_main.py # Main application window
|
│ ├── 📄 ytsage_gui_main.py # Jendela utama aplikasi
|
||||||
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
|
│ └── 📁 ytsage_gui_dialogs/ # Kelas dialog
|
||||||
├── 📁 utils/ # Utility modules
|
├── 📁 utils/ # Modul utilitas
|
||||||
│ ├── 📄 __init__.py # Utils package init
|
│ ├── 📄 __init__.py
|
||||||
│ ├── 📄 ytsage_config_manager.py # Configuration management
|
│ ├── 📄 ytsage_config_manager.py # Manajemen konfigurasi
|
||||||
│ └── 📄 ytsage_logger.py # Logging utilities
|
│ └── 📄 ytsage_logger.py # Alat logging
|
||||||
├── 📄 __init__.py # Package entry point
|
├── 📄 __init__.py # Titik masuk paket
|
||||||
└── 📄 main.py # Main execution script
|
└── 📄 main.py # Skrip eksekusi utama
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## ⭐️ Sejarah Bintang
|
## ⭐️ Riwayat Bintang
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
## Sejarah Bintang
|
## Star History
|
||||||
|
|
||||||
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
<a href="https://www.star-history.com/#oop7/YTSage&Date">
|
||||||
<picture>
|
<picture>
|
||||||
@@ -541,22 +546,22 @@ YTSage/
|
|||||||
|
|
||||||
## 📜 Lisensi
|
## 📜 Lisensi
|
||||||
|
|
||||||
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) untuk detailnya.
|
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](LICENSE) untuk detailnya.
|
||||||
|
|
||||||
## 🙏 Ucapan Terima Kasih
|
## 🙏 Terima Kasih
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Tampilkan Ucapan Terima Kasih</summary>
|
<summary>Tampilkan Terima Kasih</summary>
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
<p>Terima kasih yang sebesar-besarnya kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka terbitan untuk menyarankan perbaikan atau melaporkan bug.</p>
|
<p>Terima kasih banyak kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka masalah untuk menyarankan perbaikan atau melaporkan bug.</p>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr class="section"><th colspan="2">Komponen Inti</th></tr>
|
<tr class="section"><th colspan="2">Komponen Utama</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="35%"><a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a></td>
|
<td width="35%"><a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a></td>
|
||||||
<td>Mesin Unduh</td>
|
<td>Mesin Pengunduhan</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
<td><a href="https://ffmpeg.org/">FFmpeg</a></td>
|
||||||
@@ -564,39 +569,40 @@ Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE)
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://deno.com/">Deno</a></td>
|
<td><a href="https://deno.com/">Deno</a></td>
|
||||||
<td>Waktu proses untuk integrasi dengan yt-dlp</td>
|
<td>Runtime untuk integrasi yt-dlp</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">Perpustakaan & Kerangka Kerja</th></tr>
|
<tr class="section"><th colspan="2">Pustaka & Framework</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
<td><a href="https://wiki.qt.io/Qt_for_Python">PySide6</a></td>
|
||||||
<td>Kerangka GUI</td>
|
<td>Framework GUI</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-pillow.org/">Bantal</a></td>
|
<td><a href="https://python-pillow.org/">Pillow</a></td>
|
||||||
<td>Pemrosesan Gambar</td>
|
<td>Pemrosesan Gambar</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr><td><a href="https://requests.readthedocs.io/">permintaan</a></td>
|
<tr>
|
||||||
|
<td><a href="https://requests.readthedocs.io/">requests</a></td>
|
||||||
<td>Permintaan HTTP</td>
|
<td>Permintaan HTTP</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://packaging.python.org/">kemasan</a></td>
|
<td><a href="https://packaging.python.org/">packaging</a></td>
|
||||||
<td>Penanganan Versi & Paket</td>
|
<td>Manajemen Versi & Pemaketan</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://python-markdown.github.io/">penurunan harga</a></td>
|
<td><a href="https://python-markdown.github.io/">markdown</a></td>
|
||||||
<td>Render Penurunan Harga</td>
|
<td>Rendering Markdown</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/Delgan/loguru">logguru</a></td>
|
<td><a href="https://github.com/Delgan/loguru">loguru</a></td>
|
||||||
<td>Pencatatan</td>
|
<td>Logging</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="section"><th colspan="2">Aset & Kontributor</th></tr>
|
<tr class="section"><th colspan="2">Aset & Kontributor</th></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">Pemberitahuan Baru 09 oleh Universfield</a></td>
|
<td><a href="https://pixabay.com/sound-effects/new-notification-09-352705/">New Notification 09 oleh Universfield</a></td>
|
||||||
<td>Suara Notifikasi</td>
|
<td>Suara Notifikasi</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://github.com/viru185">virus185</a></td>
|
<td><a href="https://github.com/viru185">viru185</a></td>
|
||||||
<td>Kontributor Kode</td>
|
<td>Kontributor Kode</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -607,7 +613,7 @@ Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE)
|
|||||||
|
|
||||||
## ⚠️ Penafian
|
## ⚠️ Penafian
|
||||||
|
|
||||||
Alat ini hanya untuk penggunaan pribadi. Harap hormati persyaratan layanan YouTube dan hak pembuat konten.
|
Alat ini hanya untuk penggunaan pribadi. Harap hormati Ketentuan Layanan YouTube dan hak-hak produser konten.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user