2011-06-12 19 views
25

Necesita convertir archivos flv a avi o mov, probando ffmpeg pero la calidad de salida es terrible. ¿Cómo puedo obtener la salida de video a la misma calidad que la fuente?Cómo convertir flv a avi usando ffmpeg de alta calidad

Pensé que ffmpeg -i nombre.flv -s 320x ... nombre.avi lo haría, pero no es bueno.

Respuesta

25

Ese es el comando que estaba usando para un proyecto ffmpeg, la calidad debería ser lo suficientemente buena. Si no es así, trate de aumentar la tasa de bits (-b argumento):

ffmpeg -i input.flv -ar 22050 -b 2048k output.avi 
+1

me dice '-b' es ambiguo. Use '-b: v' o' -b: a' en su lugar. ¿Qué es esto? –

+3

@OptimusPrime: esa es la tasa de bits de video/audio respectivamente (si alguien más también estaba confundido). –

+0

Pero el tamaño del archivo es muy alto. De todos modos, para reducir el tamaño del archivo sin calidad de compras. Mi archivo de video contiene principalmente textos – samnaction

7

También hay otra solución que se encontró en el Internet y funciona como encanto!

Simplemente use el mismo parámetro de calidad -sameq.

ffmpeg.exe -i video.flv -sameq outputVideo.avi 

En realidad, el comando sameq no es de la misma calidad. Para hacerlo con éxito éste debe ser aplicado: en caso de tener varios archivos que hacer aquí es el comando completo

for %i in (*.flv) do ffmpeg -i "%i" -q:a 0 -q:v 0 "%i".avi 
+14

Esto NO significa 'la misma calidad': http://ffmpeg.org/trac/ffmpeg/wiki/Option%20%27-sameq%27%20does%20NOT%20mean%20%27same% 20calidad% 27 – CaptainProg

+0

Funcionó como un amuleto el segundo comando. =) –

+2

"Opción 'sameq' fue removido. Si está buscando una opción para preservar la calidad (que no es para lo que -sameq era), use -qscale 0 o una opción de factor de calidad equivalente." –

13

Este es un buen soluciones

ffmpeg -async 1 -i inputVideo.flv -f avi -b 700k -qscale 0 -ab 160k -ar 44100 outputVideo.avi 

o después de que se usa

ffmpeg -loglevel 0 -async 1 -i inputVideo.flv -f avi -b 700k -sameq -ab 160k -ar 44100 outputVideo.avi 
+2

+1, el primer comando de arriba es el único que funcionó para mí, otros tenían "parámetros inválidos" o errores de seg. – Ash

+1

¡esta es LA solución! ,) –

+1

+1 gracias a su segunda solución que actualicé en 'ffmpeg -i input.flv -async 1 -f avi -b 700k -qscale 0 -ab 160k -ar 44100 outputVideo.avi'. Convierto un video flv de 100 minutos de 270 mb a un archivo avi de 1,5 GB con la misma calidad. :) – Tenaciousd93

2

Para preservar la calidad del uso -qscale 0.

Por ejemplo ffmpeg.exe -i InputVid.avi -qscale 0 OutputVid.mp4

Convertí mi vídeo AVI 1,64 GB de archivos mp4 4.35 MB.

+0

'-qscale' es ignorado por libx264 que, si está disponible, es el codificador predeterminado para la salida MP4. Use '-crf' en su lugar si usa este codificador. Como se ignora, asumiré que se aplicó el valor predeterminado '-crf 23' en su caso. – LordNeckbeard

Cuestiones relacionadas