Expand local_machine docs and automation for connectivity, games, and ops.

Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs;
document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game
scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-01 08:12:19 +03:00
parent a39ef89125
commit 1938b7c743
135 changed files with 9933 additions and 388 deletions

View File

@@ -0,0 +1,128 @@
# Сжатие видео: lossless и почти lossless
Гайд для `ffmpeg` с акцентом на две задачи:
- **строго без потерь** (математический lossless);
- **существенно меньше размер** с визуально очень близким качеством.
## Ключевое правило
Нельзя одновременно гарантировать:
1) **существенно меньший размер**,
2) **строго нулевые потери**.
Для реально меньших файлов обычно используют режим "почти lossless" (visually lossless).
## Быстрый выбор режима
- Нужен архив "бит-в-бит по кадрам" -> `x265 lossless` или `x264 lossless`.
- Нужен заметно меньший размер и хорошая совместимость (QuickTime, мессенджеры) -> `x264 CRF 18-20`.
---
## 1) Проверка исходника
```bash
ffprobe -v error -show_entries format=filename,format_name,duration,size,bit_rate -of default=nw=1:nk=0 "input.mov"
```
## 2) Строгий lossless (HEVC / x265)
```bash
ffmpeg -i "input.mov" \
-map 0 \
-c:v libx265 -x265-params lossless=1 \
-preset medium \
-c:a copy \
-movflags +faststart \
"output_lossless_x265.mp4"
```
Примечания:
- `lossless=1` — математически без потерь;
- `-c:a copy` — аудио без перекодирования;
- размер может стать больше исходника.
## 3) Строгий lossless (H.264, совместимее)
```bash
ffmpeg -i "input.mov" \
-map 0 \
-c:v libx264 -crf 0 -preset medium \
-pix_fmt yuv420p \
-c:a copy \
-movflags +faststart \
"output_lossless_x264.mp4"
```
## 4) Практичный режим: существенно меньше, визуально очень близко
Рекомендуемый профиль для QuickTime:
```bash
ffmpeg -i "input.mov" \
-map 0 \
-c:v libx264 -preset slow -crf 20 \
-profile:v high -pix_fmt yuv420p \
-c:a copy \
-movflags +faststart \
"output_smaller.mp4"
```
Подстройка качества:
- `crf 18` — выше качество, больше размер;
- `crf 20` — хороший баланс;
- `crf 22` — меньше размер, больше риск артефактов.
## 5) Как проверить, что lossless действительно lossless
```bash
ffmpeg -i "input.mov" -map 0:v:0 -f framemd5 "input.framemd5"
ffmpeg -i "output_lossless_x265.mp4" -map 0:v:0 -f framemd5 "output.framemd5"
diff "input.framemd5" "output.framemd5"
```
Если `diff` пустой — кадры эквивалентны после декодирования.
## 6) Batch-команда для папки (`.mov`)
### 6.1 Строгий lossless
```bash
for f in *.mov; do
ffmpeg -i "$f" \
-map 0 \
-c:v libx265 -x265-params lossless=1 \
-preset medium \
-c:a copy \
-movflags +faststart \
"${f%.mov}_lossless.mp4"
done
```
### 6.2 Существенно меньше, но визуально близко
```bash
for f in *.mov; do
ffmpeg -i "$f" \
-map 0 \
-c:v libx264 -preset slow -crf 20 \
-profile:v high -pix_fmt yuv420p \
-c:a copy \
-movflags +faststart \
"${f%.mov}_smaller.mp4"
done
```
## 7) Проблемы с открытием файла
Если файл не открывается в QuickTime или мессенджере:
1. Проверь контейнер:
```bash
ffprobe -v error "video.mp4"
```
2. Перемести метаданные в начало файла:
```bash
ffmpeg -i "video.mp4" -c copy -movflags +faststart "video_fixed.mp4"
```
3. Если кодек не поддерживается, перекодируй в H.264 (`libx264`) с `yuv420p`.