Nuova guida FFmpeg.

Richieste di nuove guide, traduzioni, offerte di collaborazione e comunicazioni da parte del gruppo agli utenti.

Moderatore: Gruppo Documentazione

Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

A quanto pare, NON è possibile modificare la risoluzione video e, contemporaneamente, utilizzare l'opzione "-vcodec copy"; se si tenta di farlo, viene prodotto uno spezzone di file multimediale che conserva la risoluzione video originale.
Per modificare la risoluzione video, al posto dell'opzione "-vcodec copy" occorre usare le opzioni "-vcodec libx264 -filter:v fps=30"
(al posto di libx264, scrivere il nome dell'encoder video che si vuole usare; al posto del numero 30, scrivere il numero del FRAME RATE che si vuole usare)
quindi, per creare uno spezzone con risoluzione 640x360 che mostri quanto compare da 00:00:20 a 00:00:40 del video in ingresso, occorre impartire il comando

Codice: Seleziona tutto

ffmpeg -i videoIN.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264 -filter:v fps=30 -acodec copy  -s 640x360 videoOUT08.mp4
Se si omette -filter:v fps=30, il file video di output viene comunque creato (sembra) correttamente, ma l'output da tastiera mostra il problema segnalato in questo BUG:
https://trac.ffmpeg.org/ticket/4401
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Può essere utile creare uno spezzone di file multimediale con 3 risoluzioni diverse, se non altro per poter confrontare il medesimo spezzone con diverse risoluzioni.
In tal caso, ci si può servire del comando

Codice: Seleziona tutto

ffmpeg -i videoIN.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264 -filter:v fps=30 -acodec copy  -s 640x360 videoOUT09a.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264 -filter:v fps=30 -acodec copy  -s 430x240 videoOUT09b.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264 -filter:v fps=30 -acodec copy  -s 320x180 videoOUT09c.mp4
poi si visualizzano, uno alla volta i 3 files di output e si eliminano quelli troppo sgranati o troppo pesanti, a seconda delle esigenze.
Ultima modifica di Sargonsei il sabato 6 ottobre 2018, 21:44, modificato 2 volte in totale.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Mentre si taglia un video e se ne ridetermina la risoluzione, potrebbe essere utile provare come diventa se ricodificato con encoder diversi...
L'istruzione che segue crea 3 video diversi della medesima parte del video di partenza, ma per ciascun video, utilizza un encoder diverso.

Codice: Seleziona tutto

ffmpeg -i videoIN.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264 -filter:v fps=30 -acodec copy -s 640x360 videoOUT10a.mp4 -ss 00:00:20 -to 00:00:40 -vcodec libx264rgb -filter:v fps=30 -acodec copy -s 640x360 videoOUT10b.mp4 -ss 00:00:20 -to 00:00:40 -vcodec mpeg4 -filter:v fps=30 -acodec copy -s 640x360 videoOUT10c.mp4
N.B.: questa è un'istruzione che non funziona con tutti gli encoder, perchè altri encoder necessitano che l'utente fornisca ulteriori parametri.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Ri-esaminando la guida, mi sono accorto che vi compaiono opzioni per le quali non se ne spiega la funzione nell'apposita tabella riassuntiva; certo fra i principali obiettivi della guida ci deve essere anche la sua semplicità, quindi non dico che debba spiegare tutte le opzioni utilizzabili con FFmpeg, però ritengo che dovrebbe spiegare tutte le opzioni di FFmpeg utilizzate nella guida stessa.
Da quanto ho visto, le opzioni usate ma non elencate nella tabella riassuntiva sono:

Codice: Seleziona tutto

-f
-b:v
-c:v
-scodec
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Forse nella guida sarebbe utile inserire anche le istruzioni per unie due o più video usando FFmpeg
Io ho provato le istruzioni sulla guida ufficiale,
https://www.ffmpeg.org/faq.html#Concate ... level_0029
ma mi pare non funzionino...
Al contrario, il procedimento spiegato nella guida
https://picchiopc.wordpress.com/2016/12 ... on-ffmpeg/
consistente nel creare il file listavideo.txt contenente

Codice: Seleziona tutto

file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
'
e poi impartire il comando

Codice: Seleziona tutto

 ffmpeg -f concat -i listavideo.txt -c copy videofinale.mp4
funziona.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Trasformazione di un video in formato 16/9 verticale in un video in formato 16/9 orizzontale tramite l'aggiunta di barre laterali.

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ mediainfo video01.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video01.mp4
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$
Analizzando l'output del comando suddetto, vediamo che il file video video01.mp4 è largo 1280 pixels, è alto 720 pixels, ed ha un rapporto X/Y pari a 16/9, un formato molto comune fra cellulari e smartphone recenti.
Se è stato ottenuto tramite uno smartphone tenuto orizzontalmente, possiamo visualizzarlo senza problemi non solo tramite il video player del computer, ma anche tramite un televisore, oppure tramite un cellulare, purché dotati di schermo 16/9.
Un file video ripreso tramite uno smartphone tenuto verticale appare riprodotto verticalmente o orizzontalmente a seconda dello strumento che si utilizza per riprodurlo, ed io non ne conosco il motivo, quindi mi limito a dire che: ruotando il file video prima in senso antiorario e poi in senso orario (oppure prima in senso orario e poi in senso antiorario), il file video creato tenendo lo smartphone in posizione VERTICALE apparirà in posizione VERTICALE a prescindere dallo strumento utilizzato per visualizzarlo.

Codice: Seleziona tutto

ffmpeg -i video01.mp4 -vf transpose=2 video02.mp4 # crea il file video02.mp4 col medesimo contenuto del file video01.mp4 ruotato di 90 gradi in senso antiorario, utilizzando codec ed altri parametri come da default in base all'estensione dei files utilizzati

ffmpeg -i video02.mp4 -vf transpose=1 video03.mp4 # crea il file video03.mp4 col medesimo contenuto del file video02.mp4 ruotato di 90 gradi in senso orario, utilizzando codec ed altri parametri come da default in base all'estensione dei files utilizzati

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ mediainfo video02.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video02.mp4
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ mediainfo video03.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video03.mp4
Width                                    : 720 pixels
Height                                   : 1 280 pixels
Display aspect ratio                     : 0.562
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ 
Abbiamo così ottenuto il file video03.mp4 correttamente orientato (16/9 verticale, ovvero 9/16, vale a dire 0.562) a prescindere dallo strumento utilizzato per visualizzarlo, ma, se tentiamo di visualizzarlo con un televisore in formato 16/9, non verrà visualizzato correttamente, in quanto il software dei televisori digitali impone la visualizzazione espandendo l'immagine a dimensioni dello schermo, dilatandone la larghezza.

Per poter visualizzare correttamente l'immagine al centro di uno schermo in formato 16/9, e volendo conservare la risoluzione in altezza pari a 1280 pixels, occorre inserire il video al centro di un riquadro alto 1280 pixels e largo (1280/9x16)=2275 pixels (arrotondiamo a 2280 pixels) in modo che inizi (2280-720)/2= 780 pixels più a destra rispetto lo spigolo superiore sinistro del video. FFmpeg permette di raggiungere questo risultato impartendo l'istruzione seguente:

Codice: Seleziona tutto

ffmpeg -i video03.mp4 -vf pad=width=2280:height=1280:x=780:y=0:color=red video04.mp4 # inserire il video al centro di un riquadro alto 1280 pixels e largo 2280 pixels in modo che inizi (2280-720)/2= 780 pixels più a destra rispetto lo spigolo superiore sinistro del video.

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ mediainfo video04.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video04.mp4
Width                                    : 2 280 pixels
Height                                   : 1 280 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoPad$ 
Ora il video ottenuto ha l'aspetto che volevamo avesse (16/9 orizzontale), ma forse la risoluzione è troppo alta per essere riprodotta su un comune televisore, e sicuramente è troppo alta per essere riprodotta dal MIO televisore che supporta al massimo una risoluzione di 1366 pixels in larghezza per 768 pixels in altezza.
Ovviamente, per risolvere il problema, è sufficiente ridurre la risoluzione del file video così ottenuto, cosa che FFmpeg permette di fare utilizzando il comando

Codice: Seleziona tutto

ffmpeg -i video04.mp4 -s 1366x768 video05.mp4 # Modifica la risoluzione di un file multimediale portandola a [-s 1366x768] utilizzando codec ed altri parametri come da default in base all'estensione dei files utilizzati.
Qualora i parametri impostati di default siano incompatibili con le caratteristiche del televisore destinato a riprodurre i video così ottenuti, l'utente dovrà impostare a mano i dati necessari.
I files video così ottenuti sono facilmente visualizzabili senza alcuna distorsione su un qualsiasi televisore digitale 16/9 con risoluzione massima 1366x768 pixels.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Estrazione di un video in formato 16/9 verticale in un video in formato 16/9 orizzontale.

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ mediainfo video01.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video01.mp4
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$
Analizzando l'output del comando suddetto, vediamo che il file video video01.mp4 è largo 1280 pixels, è alto 720 pixels, ed ha un rapporto X/Y pari a 16/9, un formato molto comune fra cellulari e smartphone recenti.
Se è stato ottenuto tramite uno smartphone tenuto orizzontalmente, possiamo visualizzarlo senza problemi non solo tramite il video player del computer, ma anche tramite un televisore, oppure tramite un cellulare, purché dotati di schermo 16/9.
Un file video ripreso tramite uno smartphone tenuto verticale appare riprodotto verticalmente o orizzontalmente a seconda dello strumento che si utilizza per riprodurlo; perchè ciò avvenga esula dallo scopo di questa guida, quindi mi limito a dire che ruotando il file video prima in senso antiorario e poi in senso orario, il file video diventa orizzontale a prescindere dallo strumento utilizzato per visualizzarlo.

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ ffmpeg -i video01.mp4 -vf transpose=2 video02.mp4 # crea il file video02.mp4 col medesimo contenuto del file video01.mp4 ruotato di 90 gradi in senso antiorario, utilizzando codec ed altri parametri come da default in base all'estensione dei files utilizzati

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ ffmpeg -i video02.mp4 -vf transpose=1 video03.mp4 # crea il file video03.mp4 col medesimo contenuto del file video02.mp4 ruotato di 90 gradi in senso orario, utilizzando codec ed altri parametri come da default in base all'estensione dei files utilizzati
ATTENZIONE!! Io, come parametri imposti dall'utente, ho utilizzato quelli che, in questo caso, più si avvicinavano a quelli del MIO file video di partenza, quindi, partendo da un file video con caratteristiche diverse, oppure volendo ottenere un file video con caratteristiche diverse, occorre fornire parametri diversi.

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ mediainfo video02.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video02.mp4
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ mediainfo video03.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video03.mp4
Width                                    : 720 pixels
Height                                   : 1 280 pixels
Display aspect ratio                     : 0.562
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ 
Abbiamo così ottenuto il file video03.mp4 correttamente orientato (16/9 verticale, ovvero 9/16, vale a dire 0.562) a prescindere dallo strumento utilizzato per visualizzarlo, ma, se tentiamo di visualizzarlo con un televisore in formato 16/9, non verrà visualizzato correttamente, in quanto il software dei televisori digitali impone la visualizzazione espandendo l'immagine a dimensioni dello schermo, dilatandone la larghezza.

Per poter visualizzare correttamente l'immagine al centro di uno schermo in formato 16/9 orizzontale, possiamo ritagliare una porzione di immagine larga quanto l'immagine originale, ovvero 720 pixels, e alta (720:16)x9= 405 pixels in modo che inizi 300 pixels più in basso rispetto lo spigolo superiore sinistro del video

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ ffmpeg -i video03.mp4 -vf crop=w=720:h=405:x=0:y=300 video04.mp4 # ritaglia una porzione di immagine larga quanto l'immagine originale, ovvero 720 pixels, e alta (720:16)x9= 405 pixels in modo che inizi 300 pixels più in basso rispetto lo spigolo superiore sinistro del video

Codice: Seleziona tutto

ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$ mediainfo video04.mp4 | egrep -iA2 Width # Mostra larghezza, altezza, e rapporto di un file video chiamato video04.mp4
Width                                    : 720 pixels
Height                                   : 404 pixels
Display aspect ratio                     : 16:9
ubuntu18m04@ubuntu18m04-X555YI:~/Video/VideoCrop$


I files video così ottenuti sono facilmente visualizzabili senza alcuna distorsione su un qualsiasi televisore digitale 16/9.
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
jeremie2
Gruppo Documentazione
Gruppo Documentazione
Messaggi: 3534
Iscrizione: giovedì 1 giugno 2006, 16:39
Distribuzione: Ubuntu 23.10
Località: Casciana Terme
Contatti:

Re: Nuova guida FFmpeg.

Messaggio da jeremie2 »

Salve Sargonsei,
ti suggerirei di rielaborare la guida su di una pagina di prova. O, se necessario, di appoggiarti su sotto pagine di approfondimento. Altrimenti queste nozioni finiranno per rimanere "nascoste" in questa discussione.

Ciao!
Sai come funziona? ...scrivilo tu stesso nella Documentazione WiKi di Ubuntu-it
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

jeremie2 [url=https://forum.ubuntu-it.org/viewtopic.php?p=5090279#p5090279][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Salve Sargonsei,
ti suggerirei di rielaborare la guida su di una pagina di prova. O, se necessario, di appoggiarti su sotto pagine di approfondimento. Altrimenti queste nozioni finiranno per rimanere "nascoste" in questa discussione.

Ciao!
Veramente io ero convinto che la guida di FFmpeg avesse già chi la aggiornava, ed io, avendo necessità di qualcosa di più elaborato, mi sto limitando ad inserire in questa discussione delle informazioni (verificate personalmente) relative a comandi che mi sono serviti di recente e che ho trovato in altri forum... non sono nemmeno tanto esperto di FFmpeg... nei post qui inseriti, ho scritto cose che ho "scoperto" poche ore prima di pubblicarli... lo scopo dei miei post in questa discussione è aiutare un collaboratore di questo forum, non prenderne il posto... E poi io non so nemmeno come si fa a creare una pagina di prova per una guida...
Forse potrei fare qualche sottopagina di approfondimento, se sapessi cos'è e come si fa...
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
jeremie2
Gruppo Documentazione
Gruppo Documentazione
Messaggi: 3534
Iscrizione: giovedì 1 giugno 2006, 16:39
Distribuzione: Ubuntu 23.10
Località: Casciana Terme
Contatti:

Re: Nuova guida FFmpeg.

Messaggio da jeremie2 »

Sargonsei [url=https://forum.ubuntu-it.org/viewtopic.php?p=5090899#p5090899][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Veramente io ero convinto che la guida di FFmpeg avesse già chi la aggiornava
[...] non so nemmeno come si fa a creare una pagina di prova per una guida...
Forse potrei fare qualche sottopagina di approfondimento, se sapessi cos'è e come si fa...
Non ci sono responsabili per le pagine ;)
Chiunque arrivi e si accorga di eventuali errori/parti da integrare, può intervenire. La cosa importante è aver avuto esperienza diretta con il software in questione e aver quindi verificato di persona la correttezza dei passaggi da utilizzare.

Per modifiche banali (errori ortografici, link errati, ecc..) si può intervenire direttamente nella pagina. Per modifiche più sostanziose è bene (oltre che comunicare le proprie intenzioni qui sul forum) copiarsi la guida su di una pagina di prova e apportare con tutta calma le modifiche che si hanno in mente.
Se necessario, quando una guida è già piuttosto corposa per non appesantirla si può approfondire uno specifico argomento in una pagina a se stante.

Comunque sia... se ti va per prima cosa serve un account, qui spiega come fare: GuidaWiki/IscriversiAlWiki
Se hai già un account Launchpad, puoi già utilizzare quello per fare login.
(Se ci sono problemi per l'account mandami un messaggio).

In quella pagina ci sono link utili per capire come editare le pagine e creare pagine di prova.
Per qualsiasi dubbio chiedi ;)

Ciao
Sai come funziona? ...scrivilo tu stesso nella Documentazione WiKi di Ubuntu-it
ivantu
Rampante Reduce
Rampante Reduce
Messaggi: 6674
Iscrizione: sabato 8 giugno 2013, 9:25
Desktop: Ubuntu Lubuntu Mate
Distribuzione: 22.04 LTS; 23.10
Sesso: Maschile

Re: Nuova guida FFmpeg.

Messaggio da ivantu »

Quest'oggi stavo anche riguardando la guida ffmpeg. Ho riletto un pò, le ultime cose state scritte in questa discussione, mi sono perso.

É passato diverso tempo, e la guida di prova che avevo scritto, è ancora da verificare, ed aggiungere altre cose.
Buona giornata utenti del forum. :ciao: ivantu
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

Ho notato che: con le istruzioni

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner # Analizza file multimediale 'video.mp4' 
ffprobe -f x11grab -i :0.0 -hide_banner # Analizza la sorgente 'monitor'
ffprobe -i /dev/video0 -hide_banner # Analizza la sorgente 'webcam'
volendo re-direzionare un output all'interno di un conky o di un file di testo, FFmpeg fa un po' di capricci...
aggiungere '> output.txt' non è sufficiente... occorre aggiungere anche '2>&1'.
Per esempio: impartendo da terminale l'istruzione

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt
si crea il file di testo 'output.txt' completamente vuoto, mentre l'output del comando 'ffmpeg -i video.mp4 -hide_banner' viene mostrato nel terminale.
se invece impartiamo da terminale l'istruzione

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt 2>&1
si crea il file di testo 'output.txt' contenente l'output del comando 'ffmpeg -i video.mp4 -hide_banner'.
Da quanto ho capito, ciò è dovuto al fatto che, per FFMPEG,  i messaggi esplicativi vengono inviati al flusso Standard Error anziché al flusso Standard Out
A meno che ciò non dipende da un bug, credo che sarebbe opportuno che la guida di FFmpeg trattasse l'argomento...
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Avatar utente
xavier77
Gruppo Documentazione
Gruppo Documentazione
Messaggi: 7701
Iscrizione: venerdì 21 settembre 2012, 16:37
Desktop: GNOME, Xfce (e altri)
Distribuzione: X/Ubuntu 22.04/20.04 + eOS + altre
Sesso: Maschile
Contatti:

Re: Nuova guida FFmpeg.

Messaggio da xavier77 »

Apportate orrezioni alla guida (soprattutto stilistiche).
Sargonsei ha scritto:
sabato 19 agosto 2023, 14:36
Ho notato che: con le istruzioni

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner # Analizza file multimediale 'video.mp4' 
ffprobe -f x11grab -i :0.0 -hide_banner # Analizza la sorgente 'monitor'
ffprobe -i /dev/video0 -hide_banner # Analizza la sorgente 'webcam'
volendo re-direzionare un output all'interno di un conky o di un file di testo, FFmpeg fa un po' di capricci...
aggiungere '> output.txt' non è sufficiente... occorre aggiungere anche '2>&1'.
Per esempio: impartendo da terminale l'istruzione

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt
si crea il file di testo 'output.txt' completamente vuoto, mentre l'output del comando 'ffmpeg -i video.mp4 -hide_banner' viene mostrato nel terminale.
se invece impartiamo da terminale l'istruzione

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt 2>&1
si crea il file di testo 'output.txt' contenente l'output del comando 'ffmpeg -i video.mp4 -hide_banner'.
Da quanto ho capito, ciò è dovuto al fatto che, per FFMPEG, i messaggi esplicativi vengono inviati al flusso Standard Error anziché al flusso Standard Out
A meno che ciò non dipende da un bug, credo che sarebbe opportuno che la guida di FFmpeg trattasse l'argomento...
Sintetizzerei il tutto con una nota o paragrafo del tipo:
È possibile utilizzare la funzione di redirect dell'output del comando ffmpeg, ad esempio per salvarlo in un file di testo. In tal caso è necessario aggiungere 2>&1 al nome del file, come nel seguente esempio:

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt 2>&1
OK?
:ciao:
ivantu
Rampante Reduce
Rampante Reduce
Messaggi: 6674
Iscrizione: sabato 8 giugno 2013, 9:25
Desktop: Ubuntu Lubuntu Mate
Distribuzione: 22.04 LTS; 23.10
Sesso: Maschile

Re: Nuova guida FFmpeg.

Messaggio da ivantu »

Ok.

:ciao:
Buona giornata utenti del forum. :ciao: ivantu
Avatar utente
Sargonsei
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2451
Iscrizione: domenica 17 febbraio 2008, 13:56

Re: Nuova guida FFmpeg.

Messaggio da Sargonsei »

xavier77 ha scritto:
domenica 10 settembre 2023, 23:36
Apportate orrezioni alla guida (soprattutto stilistiche).
Sargonsei ha scritto:
sabato 19 agosto 2023, 14:36
...omissis...
Sintetizzerei il tutto con una nota o paragrafo del tipo:
È possibile utilizzare la funzione di redirect dell'output del comando ffmpeg, ad esempio per salvarlo in un file di testo. In tal caso è necessario aggiungere 2>&1 al nome del file, come nel seguente esempio:

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner > output.txt 2>&1
OK?
:ciao:
Scusate se mi intrometto... forse chi aggiorna la guida ha già preso in considerazione quello che sto per dire e lo ha scartato... ma... se così non fosse... credo sarebbe utile specificare che, nel caso in cui l'output del comando viene utilizzato come input in un altro comando, il parametro 2>&1 deve precedere il "pipe" | per esempio:

Codice: Seleziona tutto

ffmpeg -i video.mp4 -hide_banner 2>&1 | grep Stream
Postare l'output di un comando significa inserire nel post: la riga in cui si digita il comando, tutto l'output, e la riga in cui il prompt ricompare.
Hardware e Sistema Operativo di Sargonsei: http://sargonsei.altervista.org/hardwar ... r-fisso-2/
Comandi da tenere a portata di mano: http://sargonsei.altervista.org/655-2/
Scrivi risposta

Ritorna a “Gruppo Documentazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 25 ospiti