GNU/Linux >> Linux Esercitazione >  >> Linux

FFmpeg non copia tutti i flussi audio

FFmpeg ha l'opzione per mappare tutti i flussi sull'output, devi usare l'opzione -map 0 per mappare tutti i flussi dall'input all'output.

In linea completa potrebbe assomigliare a:

ffmpeg -i in.mp4 -c copy -map 0 out.mp4

Per maggiori informazioni vedere la documentazione sulla selezione del flusso e il -map opzione.


Apparentemente questa è una domanda popolare, quindi sto postando la mia soluzione come risposta (in precedenza era una risposta a un commento) in modo che gli altri possano vederla.

Sono riuscito a trovare la sintassi corretta da questo ticket. La sintassi corretta è:

ffmpeg -i in.mp4 -vcodec copy -c:a copy -map 0:0 -map 0:1 -map 0:2 out.mp4

Questo copierà tutti e 3 i flussi.


OK, ho letto abbastanza a fondo nel ffmpeg pagina man e ho trovato questo che dovrebbe essere utile:

Si noti che attualmente ogni flusso di output può contenere solo canali da un singolo flusso di input; ad esempio non è possibile utilizzare "-map_channel" per selezionare più canali audio di input contenuti in flussi diversi (dallo stesso file o da file diversi) e unirli in un singolo flusso di output. Pertanto, attualmente non è possibile, ad esempio, trasformare due flussi mono separati in un singolo flusso stereo. Tuttavia, è possibile suddividere un flusso stereo in due flussi mono a canale singolo.

Se hai bisogno di questa funzione, una possibile soluzione alternativa consiste nell'utilizzare amergefilter. Ad esempio, se devi unire un file multimediale (qui input.mkv) con 2 flussi audio mono in un singolo flusso audio del canale stereo (e mantenere il flusso video), puoi utilizzare il seguente comando:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

Potresti voler leggere e sperimentare le istruzioni della pagina man su man ffmpeg-filters per capire a quale livello di complessità ti stai avvicinando per la denominazione dei canali e l'output previsto.

[Modifica:come ha notato Mulvya, questo risponde a una domanda, ma non era proprio la domanda del poster originale.]


Linux
  1. Trova tutto [nome file].mp4 e rinomina [nome file].audio?

  2. Come trovare tutti i file che non contengono una stringa di testo?

  3. Linux:come trasmettere un video locale in webcam utilizzando Ffmpeg?

  4. SMPlayer – Un lettore multimediale gratuito per tutti i formati

  5. soxi:comando non trovato

Come utilizzare FFMpeg per eseguire una semplice conversione audio

Audio Linux:disponibili solo altoparlanti o microfono, non entrambi

I comandi FFmpeg più utili per la conversione di audio e video

Perché yum updateinfo non mostra tutti gli aggiornamenti?

ERRORE:cuvid richiesto, ma non tutte le dipendenze sono soddisfatte:cuda/ffnvcodec

Motivi per cui rsync NON trasferisce tutti i file?