docs(readme): редизайн README и удаление зависимости от ffmpeg

- Зачем:
  - README перегружен деталями GPU/бенчмарков, нет Quick Start, macOS/Windows — второй класс.
  - системный ffmpeg не нужен — PyAV (зависимость faster-whisper) включает FFmpeg в wheels.
- Что:
  - переписан README: Quick Start в первых строках, установка без клонирования через uv tool install, паритет платформ, progressive disclosure через <details>.
  - удалена функция check_ffmpeg() из utils.py, убраны импорт и вызовы из cli.py.
  - убраны моки check_ffmpeg и тест ffmpeg-ошибки из test_cli.py.
  - GPU-контент вынесен в docs/gpu.md, добавлен CONTRIBUTING.md.
- Проверка:
  - uv run pytest — 97 passed, 1 skipped.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 23:07:39 +03:00
co-authored by Claude Opus 4.6
parent b7e6ab634a
commit 87f7dc1723
6 changed files with 265 additions and 185 deletions
-4
View File
@@ -18,7 +18,6 @@ from .transcriber import (
)
from .utils import (
build_output_path,
check_ffmpeg,
detect_device,
expand_globs,
get_gpu_name,
@@ -111,7 +110,6 @@ def _run_single(
) -> None:
start = time.monotonic()
check_ffmpeg()
validated_file = validate_input_file(file)
requested_device = defaults["device"]
resolved_device = detect_device(requested_device)
@@ -198,8 +196,6 @@ def _run_batch(
verbose: bool,
force: bool,
) -> None:
check_ffmpeg()
# Phase 1: Prescan
to_process: list[Path] = []
skipped = 0
-13
View File
@@ -1,7 +1,6 @@
import glob
import shutil
import subprocess
import sys
import warnings
from pathlib import Path
@@ -11,18 +10,6 @@ SUPPORTED_EXTENSIONS = {
}
def check_ffmpeg() -> None:
try:
subprocess.run(["ffmpeg", "-version"], capture_output=True, check=False)
except FileNotFoundError:
sys.exit(
"ffmpeg не найден в PATH. Установите ffmpeg:\n"
" Linux: apt install ffmpeg\n"
" Windows: winget install ffmpeg\n"
" macOS: brew install ffmpeg"
)
def detect_device(requested: str = "auto") -> str:
if requested != "auto":
return requested