world-game/docs/ffmpeg.md
isUnknown 8d6f943375 Docs: présentation FFmpeg et méthodes d'installation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 15:47:18 +01:00

74 lines
2.6 KiB
Markdown

# Commandes FFmpeg
## Qu'est-ce que FFmpeg ?
FFmpeg est un outil en ligne de commande open source pour traiter des fichiers audio et vidéo : conversion de formats, compression, extraction de frames, redimensionnement, etc. C'est la référence dans le domaine, utilisée par VLC, YouTube et la plupart des plateformes vidéo en coulisses.
### Installation
**macOS** (via Homebrew) :
```bash
brew install ffmpeg
```
**Linux (Debian/Ubuntu)** :
```bash
sudo apt install ffmpeg
```
**Windows** : télécharger le build depuis [ffmpeg.org/download.html](https://ffmpeg.org/download.html) et ajouter le dossier `bin/` au PATH.
Vérifier l'installation :
```bash
ffmpeg -version
```
---
## Compression vidéo (page d'accueil)
Compresse sans perte de résolution ni de framerate. CRF 23 = qualité par défaut libx264. `faststart` place l'atome `moov` en tête du fichier pour un démarrage immédiat en streaming.
```bash
# Desktop (1920x1080, 30fps) — 22MB → 5.8MB
ffmpeg -i Website_version.mp4 \
-c:v libx264 -preset slow -crf 23 -an -movflags +faststart \
Website_version_opt.mp4
# Mobile (1080x1920, 30fps) — 22MB → 4.8MB
ffmpeg -i mobile_version_texte_fixe.mp4 \
-c:v libx264 -preset slow -crf 23 -an -movflags +faststart \
mobile_version_opt.mp4
```
## Encoder en WebM VP9 (alternative plus légère)
WebM est prioritaire sur MP4 dans les navigateurs modernes (sauf Safari).
À placer en premier `<source>` dans la balise `<video>`.
```bash
ffmpeg -i input.mp4 \
-c:v libvpx-vp9 -crf 33 -b:v 0 -an \
output.webm
```
## Quelle commande utiliser ?
**Cas 1 — simple remplacement d'une vidéo existante** : utiliser la compression H.264 MP4 (section du haut). C'est suffisant, compatible partout, et `faststart` règle le problème de streaming.
**Cas 2 — on veut aller encore plus loin en poids** : encoder aussi en WebM VP9 et ajouter les deux `<source>` dans le HTML. Le navigateur choisit automatiquement le meilleur format qu'il supporte :
```html
<video>
<source src="video.webm" type="video/webm" /> <!-- prioritaire (Chrome, Firefox) -->
<source src="video.mp4" type="video/mp4" /> <!-- fallback (Safari) -->
</video>
```
WebM VP9 compresse mieux (~30-50% de moins que H.264 à qualité équivalente) mais l'encodage est beaucoup plus lent. À réserver aux vidéos qui restent longtemps en production.
## Notes
- `-an` : supprime la piste audio (inutile pour des vidéos `muted` en fond)
- `-preset slow` : meilleure compression à qualité égale (encode plus lentement)
- `crf` : Constant Rate Factor — plus bas = meilleure qualité. 23 = défaut libx264, 18 = quasi-lossless