2014-10-13 18 views
5

In precedenza ho scritto così:Ffmpeg, avconv e sameq

ffmpeg -i input.mp4 -sameq output.mp3 

... e quindi ricevere l'audio da file video. Ffmpeg ha appena estratto o convertito l'audio in mp3 con una qualità appropriata. Tutto grazie a chiave: -sameq [uso stesso di quantizzazione come fonte]

Ora, in Ubuntu, invece di ffmpeg abbiamo libav e là (nell'uomo per avcomv) non vedo nessun tasto -sameq. Bene, ecco una domanda: cosa devo fare ora? ..

Cosa devo fare ora per ottenere file audio convertito con la stessa qualità dell'originale?

PS. -sameq: utilizza lo stesso quantizzatore dell'origine (implica VBR).

$ man ffmpeg | col -b > ./man_ffmpeg 

this man_ffmpeg is there: http://pastebin.com/qYxz1M1E

FFMPEG(1) 
NAME 
    ffmpeg - ffmpeg video converter 
SYNOPSIS 
    ffmpeg [[infile options][-i infile]]... {[outfile options] outfile}... 
... 
... 
... 
-sameq 
    Use same quantizer as source (implies VBR). 
... 
... 
... 
SEE ALSO 
    avplay(1), avprobe(1), avserver(1) and the Libav HTML documentation 
AUTHORS 
    The Libav developers 
2014-02-06 
FFMPEG(1) 
+2

Vedere [Qual è l'opzione '-sameq' o' -same_quant' in FFmpeg? Significa "stessa qualità"] (http://superuser.com/q/478549/110524)? – LordNeckbeard

+0

Non è possibile ottenere la "stessa qualità" quando si utilizza un encoder lossy, ma è possibile assegnargli un bitrate sufficiente da sembrare uguale. Per MP3 usa '-b: a' o' -q: a' come mostrato in [Guida alla codifica FFmpeg MP3] (https://trac.ffmpeg.org/wiki/Encode/MP3) (potrebbe non essere applicabile a 'avconv'). – LordNeckbeard

+0

La chiave -sameq è in man ffmpeg @LordNeckbeard puoi guardare questa roba lì: http://pastebin.com/qYxz1M1E e ho bisogno di una certa realizzazione di quello "stesso quantizzatore come sorgente" ma in avconv – xiaose

risposta

3

Lei ha ragione, -sameq opzione è stato deprecato e poi rimosso dal avconv, c'erano molte ragioni per questo. Non ultimo, ci sono diversi quantizzatori e ha poco senso parlare degli stessi parametri di quantizzazione quando si ricodifica tra diversi codec.

Maggioranza di persone, quando la reencoding cerca la qualità, non i quantizzatori. Quindi dovrebbero usare -qscale n dove n è tra 1 e 31 che rappresenta la qualità dal migliore al peggiore.

In un modo, se ti sei abituato all'opzione -sameq, sei caduto vittima di uno strumento che avrebbe dovuto essere lì al meglio a scopo di test. Non produce nulla di ragionevole e può essere ingannato per provare a mettere "stessi metadati" nel contenitore che non lo supporta, o fare "copia stream" in un formato di file arcaico (che porta a cose come AVI con audio vorbis , che non può nemmeno essere giocato). Puoi hackerare qualcosa insieme che fa tutte queste cose, ma non ha spazio in uno strumento di codifica video.

Suggerisco che se si stanno facendo molti test di stress su diversi contenitori e codec, allora si installa ffmpeg che ha più strumenti che consentono la creazione di frankensteins. Se stai ricodificando ai fini di conservare effettivamente i file che produci o li distribuisci, allora puoi creare un'altra domanda che spiega la tua situazione e qual è il risultato desiderato.

In breve "Come posso creare un processo di ricodifica con esattamente lo stesso quantizzatore?" Si può rispondere solo con "No".