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


26

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

Per il mio lavoro quotidiano, ho bisogno di convertire video, spesso, da molti formati casuali (di solito grandi AVI , 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:

Devo creare modelli comuni per un paio di casi d'uso (convertirli in stessi come sorgente, 1080p o 720p ) ed essere in grado di elaborarli rapidamente ed entrare in coda.

Qualche idea su come affrontare al meglio questo processo in Ubuntu?


So che c'è Avanti in Windows, e penso che il più vicino che puoi ottenere in Linux sia la riga di comando di avconv o un frontend come WinFF o ConvertMe ... forse come ultima risorsa potresti provare Avanti in Wine.
Richard,

Risposte:


52

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 da 0 (senza perdita) a 51 (peggiore qualità). Il valore predefinito è 23. L'intervallo sano soggettivo è ~ 18-28 o giù di lì. Usa il valore più alto che ti dà ancora una qualità accettabile. Se stai ricodificando in modo poco pratico input di grandi dimensioni da caricare su YouTube o simili, prova un valore di 17 o 18 poiché questi servizi video ricodificheranno comunque.

  • -preset: Velocità di codifica. Una preimpostazione più lenta fornisce una migliore compressione (qualità per dimensione del file) ma è più lenta. 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 scaricato completamente in caso di visualizzazione a download progressivo. Utile se stai ospitando il video, altrimenti superfluo se il caricamento su un servizio video come YouTube.

  • -vf scale=-2:720,format=yuv420p: Un filtro grafico che utilizza i filtri video per ridimensionare e formattare . Ridimensiona a 720 pixel in altezza e scegli automaticamente la larghezza che conserverà l'aspetto, quindi assicurati che il formato dei pixel sia compatibile con i lettori stupidi.

  • -b:a 128k: Bitrate audio. Se il tuo ffmpegè obsoleto, dovrai aggiungerlo -strict experimentalper usarlo -c:a aac.

MOV

Poiché i tuoi file MOV e MP4 probabilmente contengono gli stessi formati video e audio, puoi codificare MP4 ed effettuare il MOV re-muxing (con modalità copia stream ) anziché 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

Dato che non ho familiarità con questi codificatori, posso solo fornire un esempio non testato:

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

Ottenere ffmpeg

Puoi scaricare una build Linux di ffmpeg o seguire una guida dettagliata alla compilazione di ffmpeg per personalizzare la tua build.

Utilizzando un 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


5

Prova il freno a mano .

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

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.