Compare commits

..

5 commits
1 ... main

2 changed files with 22 additions and 44 deletions

5
.gitignore vendored
View file

@ -216,3 +216,8 @@ __marimo__/
# Streamlit
.streamlit/secrets.toml
.vscode/
.idea/
.cursor/
.windsurf/
.claude/

View file

@ -1,13 +1,15 @@
# nodex.pw converter
![license](https://img.shields.io/github/license/savsisbtw/nodex.pw-convertor)
конвертирует всё что возможно — картинки, видео, аудио, архивы
веб-интерфейс, drag & drop, ctrl+v, автоопределение форматов
веб интерфейс, drag and drop, ctrl v, автоопределение форматов
---
## что нужно
- python 3.10+
- python 3.10
- ffmpeg (для видео и аудио, см. ниже)
---
@ -18,7 +20,7 @@
pip install -r requirements.txt
```
ffmpeg на **windows** — скачается сам при первом запуске (кнопка в шапке)
ffmpeg на **windows** скачается сам при первом запуске
или вручную:
```
@ -51,32 +53,32 @@ python app.py
**изображения**
| формат | → |
|--------|---|
| формат |
|--------|
| jpg, png, webp, bmp, gif, tiff, ico, avif, heic | любой из этих |
webp → png, heic → jpg, gif → webp — всё работает через pillow
webp в png, heic в jpg, gif в webp всё работает через pillow
**видео**
| формат | → |
|--------|---|
| mp4, avi, mov, mkv, webm, flv, wmv, m4v... | mp4, avi, mov, mkv, webm, gif |
| формат |
|--------|
| mp4, avi, mov, mkv, webm, flv, wmv, m4v | mp4, avi, mov, mkv, webm, gif |
| любое видео | mp3, wav, flac, aac, opus (вытащить аудио) |
**аудио**
| формат | → |
|--------|---|
| формат |
|--------|
| mp3, wav, flac, ogg, m4a, opus, aac, wma, aiff | любой из этих |
**архивы**
| формат | → |
|--------|---|
| формат |
|--------|
| zip, tar.gz, tar.bz2, tar.xz, 7z, rar | zip, tar.gz, tar.bz2, 7z |
для rar нужен системный `unrar` — `apt install unrar`
для rar нужен системный `unrar` `apt install unrar`
7z работает без внешних зависимостей (py7zr)
---
@ -85,37 +87,8 @@ webp → png, heic → jpg, gif → webp — всё работает через
1. открываешь браузер
2. кидаешь файл в зону или нажимаешь "выбери файлы"
3. ctrl+v — вставить картинку из буфера (скриншоты работают)
3. ctrlv вставить картинку из буфера (скриншоты работают)
4. выбираешь целевой формат
5. жмёшь конвертировать, скачиваешь
---
## структура
```
app.py — сервер flask, эндпоинты upload/convert/download
converter.py — логика конвертации (pillow + ffmpeg + архивы)
templates/
index.html — фронт
static/
style.css
app.js
uploads/ — временные загрузки
outputs/ — результаты
ffmpeg/ — ffmpeg.exe / ffprobe.exe (windows)
requirements.txt
```
---
## зависимости
```
flask — веб-сервер
pillow — изображения
py7zr — 7z архивы (чистый python)
rarfile — rar архивы (нужен системный unrar)
```
ffmpeg ставится отдельно — через пакетный менеджер или кнопку в интерфейсе