Il modo più veloce per convertire video (batch o singoli)?

19

So che ci sono molte domande sui codificatori video qui intorno, ma la mia domanda riguarda più il flusso di lavoro / l'efficienza.

Per il mio lavoro giornaliero, ho bisogno di convertire video, spesso, da molti formati casuali (solitamente di grandi dimensioni AVI , < a href="https://en.wikipedia.org/wiki/M4V"> M4V , e cosa no) e convertirli e comprimerli in file efficienti che possiamo usare su internet per il caricamento. I formati che devo produrre sono:

Ho bisogno di creare modelli comuni per un paio di casi d'uso (converti in una stessa fonte, 1080p , o 720p ) ed essere in grado di elaborarli rapidamente e in coda.

Qualche idea su come andare meglio su questo processo in Ubuntu?

    
posta Garrett 03.10.2013 - 00:19

2 risposte

45

Se preferisci la riga di comando puoi usare ffmpeg (o handbrake-cli ).

MP4

Supponendo che stai utilizzando una versione recente di ffmpeg :

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf : qualità. L'intervallo è logaritmico 0 (senza perdita) a 51 (peggiore qualità). L'impostazione predefinita è 23. La gamma sane soggettiva è ~ 18-28 circa. Usa il valore più alto che ti dà comunque una qualità accettabile. Se stai ricodificando ingressi di dimensioni non significative per caricare su YouTube o simili, prova con un valore di 17 o 18 poiché questi servizi video verranno ricodificati comunque.

  • -preset : velocità di codifica. Un preset più lento offre una compressione migliore (qualità per dimensione del file) ma è più lento. Usa il più lento per cui hai pazienza: ultraveloce, superveloce, molto veloce, più veloce, veloce, medio (predefinito), lento, più lento, veryslow.

  • -movflags +faststart : consente la riproduzione del video prima che venga completamente scaricato in caso di visualizzazione a download progressivo. Utile se stai ospitando il video, altrimenti è superfluo se carichi su un servizio video come YouTube.

  • -vf scale=-2:720,format=yuv420p : A filtergraph utilizzando scale e formato filtri video. Scala fino a 720 pixel di altezza e scegli automaticamente la larghezza che conserverà l'aspetto, quindi assicurati che il formato pixel sia compatibile con i giocatori stupidi.

  • -b:a 128k : bitrate audio. Se il tuo ffmpeg non è aggiornato, dovrai aggiungere -strict experimental per utilizzare -c:a aac .

MOV

Dato che i tuoi file MOV e MP4 probabilmente contengono gli stessi formati video e audio puoi codificare l'MP4 e creare il MOV rimescolandolo (con copia stream mode) invece di ricodificare:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg supporta solo WMV 7 e 8. Non sono a conoscenza di un codificatore open source per la versione 9.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Poiché non conosco questi codificatori, posso solo dare un esempio non testato:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Come ottenere ffmpeg

Puoi scaricare una versione di Linux di ffmpeg o seguire una procedura dettagliata Guida alla compilazione di hugeg per personalizzare la tua build.

Utilizzo di una bash "for loop" per eseguire una codifica batch

Per codificare tutti i video in una directory:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Vedi anche

risposta data LordNeckbeard 03.10.2013 - 20:04
4

Prova HandBrake .

HandBrake è uno strumento per convertire video da quasi tutti i formati a una selezione di codec moderni e ampiamente supportati. Per installare, basta premere Ctrl + Alt + T sulla tastiera per aprire Terminal. Quando si apre, esegui i comandi seguenti:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
    
risposta data Mitch 03.10.2013 - 11:33

Leggi altre domande sui tag