diff --git a/.gitignore b/.gitignore index 83972fa..9b336f2 100644 --- a/.gitignore +++ b/.gitignore @@ -216,3 +216,8 @@ __marimo__/ # Streamlit .streamlit/secrets.toml +.vscode/ +.idea/ +.cursor/ +.windsurf/ +.claude/ diff --git a/README.md b/README.md index 7a6ff04..d16f90b 100644 --- a/README.md +++ b/README.md @@ -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 ставится отдельно — через пакетный менеджер или кнопку в интерфейсе