FFmpeg Live Streaming – Cosa devono sapere i broadcaster professionisti [2024 Update]
Molte emittenti professionali utilizzano software di live streaming in aggiunta alle loro piattaforme video online. I software per lo streaming video forniscono in genere strumenti per la codifica, la transcodifica, l’aggiunta di effetti sullo schermo e altro ancora.
Se sei alla ricerca di uno strumento leggero e senza fronzoli per la produzione di flussi live e altre attività video, FFmpeg è il software per lo streaming live che può fare al caso tuo. per te. Puoi usare FFmpeg per creare flussi rtmp.
Questo strumento ricco di funzioni è stato progettato principalmente per i broadcaster avanzati.
Per aiutarti a ridurre la curva di apprendimento, abbiamo realizzato questa guida che illustra alcuni dei codici e delle funzioni disponibili su FFmpeg.
Questo tutorial su FFmpeg ti aiuterà a capire come funziona.
In questo post spiegheremo come configurare FFmpeg su Linux, Mac e Windows e come utilizzare i protocolli disponibili per trasmettere flussi in diretta. Inoltre, forniremo una breve guida su come utilizzare il software con la nostra piattaforma di live streamingQuestotutorial su FFmpeg ti spiegherà tutto ciò che devi sapere per utilizzare FFmpeg per lo streaming.
Entriamo subito nel merito delle basi del live streaming di FFmpeg e dei suoi utili strumenti.
Indice dei contenuti:
- Che cos’è FFmpeg?
- Cosa puoi fare con FFmpeg?
- Come funzionano gli strumenti di live streaming di FFmpeg
- Come scaricare e configurare FFmpeg
- Come usare FFmpeg per lo streaming in diretta
- Come trasmettere in diretta streaming con FFmpeg e Dacast
- Domande frequenti
- Conclusione
Che cos’è FFmpeg?
Che cos’è FFmpeg? FFmpeg è un software per lo streaming progettato per convertire, registrare, giuntare, modificare, riprodurre, codificare, muxare/demuxare e trasmettere file multimediali. Funziona con file audio, immagini e video praticamente in qualsiasi codec o formato utilizzato negli ultimi 20 anni.
FFmpeg è gratuito e open-source, il che significa che chiunque può scaricare il software senza alcun costo. Gli sviluppatori possono anche integrare il comando FFmpeg in altri progetti. Questo programma è un’utility a riga di comando, il che significa che FFmpeg non è costruito su un’interfaccia grafica (GUI).
.
Instead, it’s an application that accepts commands via “command-line interfaces” (CLI) Ciò significa che è necessario un po’ di conoscenza tecnica.
Se hai mai utilizzato un computer basato su Unix come Linux o macOS, potresti aver usato l’applicazione “terminale”.
Su Windows, MS-DOS e il più moderno “Powershell” offrono un’interfaccia a riga di comando.
I power user, gli amministratori di sistema, gli sviluppatori e tutti coloro che lavorano con codice complesso preferiscono generalmente una CLI.
Spesso gli strumenti di amministrazione del sistema sono disponibili solo tramite CLI.
Lo scripting, l’automazione e altri compiti avanzati sono spesso più facili da eseguire tramite CLI.
FFmpeg si rivolge quindi a questo pubblico fornendo strumenti multimediali da linea di comando.
I programmi FFmpeg richiedono un po’ di conoscenze di codifica.
Cosa puoi fare con FFmpeg?
FFmpeg dispone di un’ampia gamma di funzionalità per lo streaming video in diretta. Alcune delle funzionalità di streaming video di FFmpeg includono:
- Agnostico al formato e al codec: FFmpeg transcodifica tra diversi formati e codec video e audio.
Questo garantisce la compatibilità con diverse piattaforme di streaming e dispositivi di riproduzione. - Ottimizzazione del flusso: FFmpeg offre un controllo granulare sul bitrate sia per i flussi audio che per quelli video.
Questo ti permette di ottimizzare il flusso per specifiche limitazioni di larghezza di banda o per i dispositivi del pubblico target. - Manipolazione audio: FFmpeg offre una solida suite di strumenti di editing audio all’interno del flusso di lavoro dello streaming live.
Puoi regolare i livelli di volume, rimuovere le tracce audio indesiderate o integrare una sorgente audio esterna con il tuo feed video in diretta. - Elaborazione video: FFmpeg va oltre il semplice streaming.
Puoi sfruttare le sue capacità di elaborazione video per ritagliare, scalare o ruotare il tuo video in diretta in tempo reale. - Versatilità della sorgente di ingresso: FFmpeg è in grado di ingerire feed video in diretta da un’ampia gamma di fonti, tra cui webcam, schede di acquisizione e persino flussi di rete. Convertire tra diversi formati di file e codec (cioè codificare)
Pertanto, con FFmpeg, gli utenti possono fare quanto segue:
- Regola il bitrate (sia audio che video)
- Regola il volume, rimuovi l’audio e/o unisci un file audio con un file video
- Rimpiazza una sorgente audio mono in canali stereo
- Ritagliare, scalare o ruotare un file video
- Registrazione di input da una webcam o da un’altra sorgente video
- Trasmetti un flusso video in diretta
Quando si parla di multimedia, non c’è molto che FFmpeg streaming server non possa fare. Lo streaming live e la creazione di video con il comando FFmpeg sono molto variegati e ti permettono di fare praticamente tutto quello che vuoi a un video.
Se hai utilizzato un software per l’editing di immagini, l’editing video o l’editing audio, probabilmente hai già utilizzato FFmpeg. Data la sua natura gratuita e open-source, molte altre applicazioni con interfaccia grafica utilizzano FFmpeg per fornire l’elaborazione di back-end. È facile che tu abbia lavorato con FFmpeg stream server online senza saperlo. È importante sottolineare che FFmpeg NON è un codificatore per principianti che vogliono trasmettere flussi in diretta. I nuovi broadcaster farebbero meglio a iniziare con encoder gratuiti come OBS Studio. Potrebbero anche considerare di investire in software di codifica a pagamento, come Wirecast, vMix e VidBlasterX FFmpeg è destinato a persone con conoscenze più avanzate di codifica e trasmissione.
Come funzionano gli strumenti di live streaming di FFmpeg
Per quanto riguarda flusso video in diretta FFmpeg offre una varietà relativamente ampia di strumenti.
FFmpeg supporta molti ingressi video e audio accessibili al tuo computer.
Tra questi ci sono webcam, microfoni USB e telecamere collegate tramite schede di acquisizione.
Inoltre, puoi specificare un file di uscita come flusso FFmpeg RTMP destinato alla tua piattaforma di streaming. FFmpeg accetterà le tue informazioni di login per permetterti di trasmettere a questa destinazione. In questo modo si ottiene una semplice interfaccia a riga di comando per lo streaming live. In questo caso, FFmpeg agisce come software di codifica live. Puoi usare FFmpeg per fare livestreaming.
Un’importante applicazione di FFmpeg Lo streaming in tempo reale riguarda il mixaggio di una produzione live complessa. Per questa funzione, potresti voler avere un computer potente dedicato all’acquisizione dei feed da diverse telecamere. Per mixare produzioni live complesse è necessaria una grande potenza di elaborazione. Un tecnico che si trova davanti a questa telecamera mixa i contenuti video in tempo reale. Poi, il tecnico può inviare un feed a un altro computer su cui gira FFmpeg. Questo computer, a sua volta, può trasmettere flussi live come risultato finale , rendendo possibile la codifica e lo streaming in tempo reale di FFmpeg.
Questa configurazione divide efficacemente il carico di elaborazione tra più macchine.
Come scaricare e configurare FFmpeg
Per utilizzare FFmpeg per lo streaming live, devi prima scaricare il software.
Il modo più semplice per scaricare FFmpeg è da direttamente dal sito web.
L’installazione sarà diversa a seconda del sistema operativo utilizzato.
Ecco una breve guida per configurare FFmpeg su Linux, macOS e Windows.
1. Installazione di Linux
Il sito web di Il sito web di FFmpeg ha pacchetti Linux per Debian, Ubuntu, Fedora e Red Hat Enterprise Linux.
Molti altri distro dovrebbero essere in grado di installare facilmente FFmpeg utilizzando la variante della loro posizione del comando install.
Ad esempio:
sudo apt-get install ffmpeg
Tuttavia, ti consigliamo di compilare FFmpeg da soli perché questo approccio ti permette di trasmettere video RTMP tramite la libreria librtmp. Per farlo, utilizzeremo Ubuntu come distro di esempio.
Per iniziare, esegui i seguenti comandi:
$ sudo apt-get update
$ sudo apt-get install build-essential git libssl-dev
Quindi, recupera il codice sorgente di librtmp sul repository git ufficiale.
$ git clone git://git.ffmpeg.org/rtmpdump
Successivamente, sfoglia la cartella del repository locale.
Una volta lì, esegui il processo di compilazione.
$ cd rtmpdump
$ cd librtmp
$ make
Successivamente, installa la libreria nella directory principale del tuo sistema.
# DESTDIR=/usr make install
Quindi, devi installare e compilare manualmente libaacplus.
Devi anche installare altre dipendenze.
A questo punto, eseguirai i seguenti comandi:
$ sudo apt-get install libfftw3-dev pkg-config autoconf automake libtool unzip
$ wget https://tipok.org.ua/downloads/media/aacplus/libaacplus/libaacplus-2.0.2.tar.gz
$ tar -xzf libaacplus-2.0.2.tar.gz
$ cd libaacplus-2.0.2
$ ./autogen.sh –enable-shared –enable-static
$ make
$ sudo make install
$ sudo ldconfig
# apt-get install yasm libfaac-dev libfdk-aac-dev libfreetype6-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg-dev libopus-dev libschroedinger-dev libspeex-dev libtheora-dev libvo-aacenc-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev
Ora recupera il codice sorgente di ffmpeg dal repository git ufficiale:
$ git clone https://github.com/FFmpeg/FFmpeg.git
Naviga nella cartella del repository locale, quindi esegui il processo di compilazione:
$ cd FFmpeg
$ ./configure –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-libaacplus –enable-libfaac –enable-libfdk-aac –enable-libfreetype –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-openssl –enable-libopus –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvo-aacenc –enable-libvorbis –enable-libvpx –enable-libx264 –enable-libxvid –prefix=/usr/local –enable-librtmp
$ make
Infine, utilizza questo codice per installare ffmpeg nella directory principale del tuo sistema:
# make install
2. Installazione di macOS
Come per Linux, ti consigliamo di macOS Gli utenti compilano una build personalizzata di FFmpeg.
Puoi farlo con l’aiuto del gestore di pacchetti Brew.
Dovrai anche installare gli strumenti della riga di comando.
Per configurare queste dipendenze, utilizza i seguenti comandi nell’applicazione “Terminale” e segui le indicazioni che ti verranno proposte:
xcode-select –install
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
Dopo aver configurato gli strumenti da riga di comando e Brew, sei pronto per installare FFmpeg.
Usa i seguenti comandi nel tuo terminale:
Per prima cosa, installa librtmp con brew:
brew installa librtmp
Quindi, installa libx264 con brew:
brew installa libx264
Successivamente, installa libfdk-aac con brew:
installa fdk-aac
Infine, installa FFmpeg con tutte le librerie specifiche:
brew install ffmpeg –enable-libfdk-aac –with-x264 –with-rtmpdump
3. Installazione di Windows:
Gli utenti di Windows possono installare FFmpeg utilizzando i pacchetti precostituiti presenti nella pagina “Builds” del sito web di sito web di FFmpeg.
Come usare FFmpeg per lo streaming in diretta
Per iniziare a trasmettere in diretta con FFmpeg, devi scaricare e installare il software sul tuo computer.
Puoi scegliere il metodo di installazione più adatto al tuo sistema operativo tra le tre opzioni indicate in questo tutorial su FFmpeg.
A questo punto, puoi anche creare un canale di streaming sulla tua piattaforma di hosting video.
Una volta installato FFmpeg sul tuo computer, è il momento di collegarlo alla tua soluzione di hosting video. Puoi collegare FFmpeg come encoder. Il gestore del video hosting ti fornirà le credenziali da inserire in FFmpeg.
Queste credenziali si trovano in genere nella sezione di configurazione dell’encoder del tuo canale di streaming sulla tua piattaforma di hosting video e comprendono login, password, nome del flusso e URL del flusso.
Da qui, dovrai inserire le credenziali in FFmpeg.
Dovrai incollare il seguente frammento di codice nell’editor di testo o nella CLI:
$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://p.ep246802.i.akamaientrypoint.net/EntryPoint flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=123456 pubPasswd=789123 playpath=dclive_1_1@246802”
Dovrai sostituire il testo “rtmp://…” con il link all’URL del tuo Stream, impostare “pubUser” con il tuo login, “pubPasswd” con la tua password e “playpath” con il nome del tuo Stream.
Quando eseguirai questo comando, inizierai un flusso live x264 a risoluzione 480p (scalato da 1080p HD) a 1600 kbps di bitrate, con un buffer di 900kb.
Note importanti sullo streaming live di FFmpeg
Ecco altre cose da tenere a mente quando si fa live streaming con FFmpeg:
- Dovresti anche sostituire “-f lavfi -i testsrc” con “-i” e poi con la fonte del feed della tua videocamera o di un altro programma (-i /your_source_path).
In caso contrario, non avrai il tuo flusso live ma solo la schermata di prova. - Un errore ricorrente nell’uso di fdk aac durante il processo di installazione: devi inserire “-enable-fdk-aac” ma quando lo usi nel comando è “-c:a libfdk_aac”.
- Per ottenere una qualità migliore, puoi cambiare il flag “preimpostato” in “veloce” piuttosto che in “ultraveloce”.
- Se vuoi una bassa latenza, puoi aggiungere il flag “-tune zerolatency” direttamente dopo il flag di preset.
Entrambi i comandi richiedono una maggiore potenza di elaborazione. - Per aumentare le dimensioni del buffer per una riproduzione più fluida, sostituisci “-b 900k” con “-buffsize 3000k”.
- Assicurati di utilizzare le impostazioni migliori per te.
Tra queste, le impostazioni dei bitrate video e audio in base alla tua connessione internet, le risoluzioni coerenti con tali bitrate e gli intervalli dei fotogrammi chiave a 2s.
Consulta le nostre guide dedicate all’utilizzo di FFMPEG con Dacast su Linux e Mac.
Come trasmettere in diretta streaming con FFmpeg e Dacast
Una volta scaricato e configurato FFmpeg, sei pronto a trasmettere un flusso live su Dacast.
Ti offriamo caricamento sicuro dei video e molte altre caratteristiche che rendono lo streaming live accessibile a tutti i tipi di emittenti. Vediamo i tre passi da seguire per impostare
FFmpeg per trasmettere in diretta via Dacast.
Questo è un semplice tutorial di FFmpeg per lavorare con Dacast.
1. Apri l’impostazione dell’encoder di Dacast
Per prima cosa, devi raccogliere le informazioni di configurazione dell’encoder dal tuo account Dacast.
Con un browser web, visita il sito web di Dacast e accedi al tuo account.
Clicca su (o crea) il canale live che desideri trasmettere, quindi clicca su “Configurazione encoder”.
Seleziona “Altro encoder RTMP” sul lato sinistro dello schermo.
2. Trova le tue credenziali
Nella parte destra dello schermo, copia queste informazioni: Login, Password, URL del flusso e Nome del flusso.
3. Esegui il seguente comando
Successivamente, copia il comando in un editor di testo o direttamente nella tua CLI come abbiamo descritto nel tutorial generale di FFmpeg qui sopra.
Assicurati di inserire correttamente l’URL del flusso, il login, la password e il nome del flusso.
Anche in questo caso, il comando dovrebbe essere simile a questo:
$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://[STREAM URL] flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=[LOGIN]Passwd=[PASSWORD]playpath=[STREAM NAME]
Una volta inserito il comando, sarai pronto per lo streaming.
Consulta la nostra guida alla configurazione dell’encoder per un tutorial più dettagliato su come configurare FFmpeg e altri software simili con Dacast.
Domande frequenti
1. Puoi trasmettere video in streaming con FFmpeg?
Sì.
FFmpeg può essere utilizzato per lo streaming video.
Supporta diversi formati di input e può produrre il flusso video in vari formati come RTMP, HLS, MPEG-TS, ecc. per trasmettere a piattaforme come YouTube, Facebook, Twitch e altre ancora.
2. FFmpeg è in grado di transcodificare un flusso live?
Sì, FFmpeg può essere utilizzato per transcodificare i flussi live.
Questo è particolarmente utile quando il flusso video o audio in ingresso non corrisponde alle specifiche richieste dalla piattaforma di streaming.
FFmpeg può prendere l’input live, decodificarlo e poi ricodificarlo con il codec video, il bitrate e altri parametri appropriati per il servizio di streaming di destinazione.
Questo processo avviene in tempo reale, consentendo a FFmpeg di codificare in tempo reale il flusso transcodificato sul server di streaming FFmpeg per la trasmissione.
3. A che bitrate trasmette FFmpeg?
Il bitrate utilizzato per lo streaming di ffmpeg può essere configurato in base ai requisiti specifici della piattaforma di streaming e alla larghezza di banda di rete disponibile.
FFmpeg fornisce opzioni per impostare il bitrate video e il bitrate audio per ottenere la qualità di uscita desiderata.
Gli intervalli tipici di bitrate per il flusso video di ffmpeg possono essere:
- Video: 1500-6000 kbps per 720p, 3000-8000 kbps per 1080p
- Audio: 128-256 kbps
Sulla base della guida allo streaming di FFmpeg, puoi sperimentare diverse impostazioni di bitrate per trovare il giusto equilibrio tra qualità e utilizzo della larghezza di banda per il tuo caso d’uso specifico.
4. Il server di streaming FFmpeg supporta RTMP?
Sì, FFmpeg supporta il protocollo RTMP, molto utilizzato per le applicazioni ffmpeg rtmp stream e ffmpeg broadcast.
FFmpeg può sia consumare flussi RTMP come input che emettere flussi RTMP da inviare alle piattaforme di streaming.
Questo rende FFmpeg una soluzione versatile di server di streaming ffmpeg, che permette agli utenti di ingerire contenuti da varie fonti, transcodificarli se necessario e quindi inviare il flusso finale al servizio di streaming basato su RTMP.
5. Quali sono i formati di uscita di FFmpeg disponibili?
FFmpeg supporta diversi formati di uscita per i flussi video e audio.
I formati video più diffusi sono MP4 (H.264), MOV (H.264), FLV (comunemente usato per lo streaming RTMP) e MKV.
I formati audio includono AAC, MP3 e FLAC.
Conclusione
FFmpeg è un po’ complesso poiché utilizza un’interfaccia a riga di comando, ma non si può negare che questo potente software sia molto utile nella giusta situazione e con le giuste conoscenze. Ci auguriamo che questo tutorial su FFmpeg ti abbia fornito gli strumenti e la fiducia necessari per utilizzare FFMPEG per trasmettere in diretta. streaming. Per ricevere regolarmente consigli sul live streaming e offerte esclusive, ti invitiamo a unirti al nostro gruppo LinkedIn. Stai cercando una piattaforma di live streaming e video hosting per supportare i tuoi progetti di live streaming? Se sì, perché non provare Dacast? Offriamo una prova gratuita di 14 giorni (senza carta di credito) e saremo lieti di farti provare tutte le nostre funzionalità oggi stesso!
Grazie per aver letto e in bocca al lupo per le tue trasmissioni in diretta!