2013-07-22 12 views
7

Se si importa un file da utilizzare con ffmpeg ma non si specifica nulla sui codec di uno qualsiasi degli stream, ffmpeg eseguirà qualcosa? L'azione predefinita è solo copiare i codec? O ffmpeg codificherà il file di input usando un codec predefinito?Codec ffmpeg predefinito quando non viene specificato nulla

I seguenti due comandi saranno uguali? O il secondo ricodificherà e impiegherà secoli?

ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4 

ffmpeg -i input.mkv output.mp4 

risposta

7

Se importare un file da utilizzare con ffmpeg Ma non specificare nulla circa i codec di uno qualsiasi dei corsi d'acqua, sarà ffmpeg fare qualcosa?

ffmpeg ricodificherà ogni flusso nell'input utilizzando gli encoder predefiniti. Gli encoder usati dipenderanno da come hai configurato ffmpeg. Ad esempio, se disponibile, libx264 sarà l'encoder predefinito per l'output mp4, ma in caso contrario verrà utilizzato mpeg4. Per impostazione predefinita, ffmpeg ricodifica solo un flusso di ciascun tipo e ignorerà il resto (vedere stream selection).

Dei due comandi, il primo utilizzerà stream copy mode per il video e l'audio. Il tuo secondo comando verrà ricodificato.

+0

Cosa succede se importo un file mp4 che ha già un flusso video h.264? Proverà a codificarlo di nuovo, non cambiando nulla ma impiegando molto tempo comunque? O riconoscerà che è già il codec predefinito e basta copiarlo? – Sam

+0

@Sam 'ffmpeg' verrà sempre ricodificato a meno che non lo dici diversamente. – LordNeckbeard

+0

Se ricodifica lo stesso identico codec (ad esempio h.264-> h.264) ci saranno perdite di qualità? Sarà più veloce di passare da un codec diverso a h.264? Dubito che ci sia un punto in questo, ma sono comunque interessato ... – Sam

1

Per scoprire il codec predefinito (sia audio e video) utilizzati dal secondo comando, sul computer:

  • Eseguire il secondo comando, magari con -t 5 così finisce più veloce (codifica solo 5 secondi).

  • Corsa ffprobe output.mp4. Analizza l'output per "Video" e "Audio" per vedere quali codec sono stati utilizzati. Ad esempio, la mia installazione di Ubuntu 12 utilizza h264 e aac.

Problemi correlati