
FFmpeg
Framework Open Source per l'Elaborazione Multimediale
Codifica, Decodifica, Transcodifica, Stream e Converti File Audio e Video tramite API FFmpeg.
Che cos'è FFmpeg?
FFmpeg è un framework multimediale open source leader che consente agli sviluppatori di registrare, convertire e trasmettere contenuti audio e video. Include un set completo di librerie—come libavcodec, libavformat, libavutil, libavfilter, libswscale e libswresample—che forniscono strumenti robusti per gestire una varietà di attività multimediali. Con il supporto per centinaia di codec e formati, FFmpeg alimenta innumerevoli applicazioni, dal software di editing video ai server di streaming e ai lettori multimediali.
FFmpeg è ampiamente adottato in diversi settori grazie alla sua flessibilità, prestazioni e al supporto attivo della community. Gestisce tutto, dalla semplice conversione di formati al filtraggio video complesso e allo streaming in tempo reale. Che tu stia costruendo un server multimediale, un lettore desktop o una pipeline di transcodifica basata su cloud, FFmpeg offre capacità di elaborazione affidabili e di alta qualità. I suoi strumenti da riga di comando, come ffmpeg, ffplay e ffprobe, facilitano l'integrazione in script e flussi di lavoro automatizzati, mentre la sua API C e i binding (ad esempio per Python) consentono un controllo programmatico approfondito.
Iniziare con FFmpeg
Per iniziare a usare FFmpeg, installalo tramite il gestore di pacchetti del tuo sistema (ad esempio `apt install ffmpeg` su Ubuntu, `brew install ffmpeg` su macOS) o scarica i binari precompilati dal sito ufficiale. Per l'uso programmatico, installa il wrapper Python tramite `pip install ffmpeg-python` o utilizza le intestazioni della libreria C ufficiale. FFmpeg è disponibile anche su GitHub all'indirizzo [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg), dove puoi compilare dal sorgente per configurazioni personalizzate. La sua leggerezza e il supporto multipiattaforma lo rendono ideale per desktop, server e distribuzioni embedded.
Installa FFmpeg tramite gestori di pacchetti
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Python wrapper
pip install ffmpeg-python
Convertire i media tra formati
FFmpeg eccelle nella conversione di file multimediali tra centinaia di formati e codec. Puoi transcodificare video da MP4 a WebM, estrarre l'audio dai file video o cambiare i formati di contenitore senza ricodifica (copia di flusso). Le sue impostazioni predefinite intelligenti garantiscono alta qualità, mentre le opzioni avanzate ti permettono di regolare finemente bitrate, risoluzione, frequenza dei fotogrammi e parametri del codec. Che tu stia preparando contenuti per lo streaming web, l'archiviazione o la riproduzione su dispositivi specifici, FFmpeg offre un controllo preciso sulla qualità e sulla compatibilità dell'output. L'interfaccia a riga di comando supporta catene di filtri complesse per ridimensionare, ritagliare e applicare effetti durante la conversione.
Come convertire MP4 in WebM con FFmpeg?
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
Streaming in tempo reale e trasmissione live
FFmpeg supporta l'ingestione, la transcodifica e lo streaming di media live su protocolli come RTMP, HLS e SRT. Può catturare da webcam, microfoni o fonti di rete e inviare flussi a piattaforme come YouTube, Twitch o server RTMP personalizzati. Con opzioni a bassa latenza e streaming a bitrate adattivo, FFmpeg alimenta pipeline di trasmissione in diretta per eventi, giochi e sorveglianza. La sua capacità di gestire più input, sovrapporre grafiche e applicare filtri in tempo reale lo rende ideale per configurazioni di streaming di livello professionale. È inoltre possibile segmentare l'output per DASH/HLS per la riproduzione adattiva su client mobili e web.
Come trasmettere un file video su YouTube Live?
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"
Filtraggio video e post-elaborazione
Il framework libavfilter di FFmpeg consente potenti filtri video in tempo reale tramite un grafo diretto aciclico di filtri. È possibile ritagliare, ridimensionare, ruotare, deinterlacciare, ridurre il rumore, sovrapporre filigrane, aggiungere testo, regolare i colori e applicare effetti complessi come il rallentamento o il time‑lapse—tutto senza ricodificare l'intero flusso. I filtri possono essere concatenati per una elaborazione a più fasi, e l'accelerazione hardware (ad es., NVENC, VAAPI, VideoToolbox) garantisce prestazioni su GPU moderne. Questo rende FFmpeg indispensabile per editor video, creatori di contenuti e sviluppatori che costruiscono pipeline di elaborazione multimediale che richiedono miglioramenti visivi o normalizzazione del formato.
Come ritagliare, ridimensionare e aggiungere una filigrana a un video?
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4
Estrarre e manipolare metadati e sottotitoli
FFmpeg offre un controllo completo sui metadati (tag) e sui sottotitoli incorporati nei file multimediali. È possibile estrarre, modificare o rimuovere i metadati (ad es., titolo, artista, album, dati GPS) usando comandi semplici, o convertire i sottotitoli tra formati come SRT, ASS e VTT. Supporta l'incorporamento dei sottotitoli nel video o l'inserimento come tracce separate. Per i flussi di lavoro di accessibilità e localizzazione, FFmpeg consente l'elaborazione batch dei file di sottotitoli, regolazioni dei tempi e la gestione delle tracce linguistiche. Questo lo rende ideale per la localizzazione dei sottotitoli, la gestione degli asset multimediali e la conformità agli standard di trasmissione che richiedono metadati incorporati.
Come estrarre i sottotitoli da un file video?
ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
