¿Por qué Handbrake fuerza a reducir el tamaño de fotograma de mi vídeo?

¿Por qué Handbrake fuerza a reducir el tamaño de fotograma de mi vídeo?

Resumen:Tengo una película antigua que descargué de YouTube hace algunos años y la guardé como flv. Quiero extraer un clip de 13 minutos. Para hacer eso, usé ffmpeg para convertirlo a mp4 para poder cargarlo en DaVinci, donde extraje el clip. Luego usé Handbrake para comprimirlo. Pero cuando hice eso, HandBrake redujo significativamente el tamaño del fotograma y el clip comprimido queda algo borroso en comparación con el original.

¿Por qué HandBrake fuerza esa reducción en el tamaño del cuadro y cómo puedo lograr que se produzca en el tamaño de cuadro correcto?

Detalles:

El archivo flv tiene 268 MB, duración 107 minutos, tamaño de fotograma 318x240, velocidad de fotogramas 25:

ingrese la descripción de la imagen aquí

Elcomando ffmpegSolía ​​convertir a mp4:

ffmpeg -i input.flv -c copy output.mp4

Eso tomó aproximadamente un segundo. El resultado es 264 MB:

ingrese la descripción de la imagen aquí

Lo cargué en DaVinci, extraje el clip y luego lo rendericé como mp4, H.265, 318x240, 25 fps:

ingrese la descripción de la imagen aquí

El resultado de eso es 51,4 MB, 13:19 mm:ss. MediaInfo informa que es HEVC, lo que entiendo significa que está en H.265, como solicité:

ingrese la descripción de la imagen aquí

La relación tamaño-tiempo es mucho mayor que la de la película completa:

  • Película: 264 MB / 107 minutos = 2,5 MB/min.
  • Vídeo: 51,4 MB / 13,33 min. = 3,9 MB/min.

Cuando cargo el clip en HandBrake, me dice que la fuente es 318x240, 25 fps. Aunque está en H.265, HandBrake me dice que está en H.264. Entonces HandBrake también contradice su información fuente al decir en "Pistas" que es 30 fps y que el tamaño es 234x174.

ingrese la descripción de la imagen aquí

========================

En la pestaña "Video" de Handbrake, el codificador aparece como H.264 y la velocidad de fotogramas es 30. La RF es 22:

ingrese la descripción de la imagen aquí

========================

Cambié eso a 265 y 25:

ingrese la descripción de la imagen aquí

========================

La pestaña "Dimensiones" vuelve a decir que el tamaño es 318x240, pero luego dice que:

El tamaño escalado y el tamaño de almacenamiento final son 234x174. Intenté hacer clic en varias cosas y no puedo cambiar el tamaño de salida.

ingrese la descripción de la imagen aquí

========================

Cuando ejecuto eso, la salida es de 22 MB, lo cual es una buena reducción en el tamaño del archivo:

  • Clip comprimido: 22 MB / 13,33 min. = 1,7 MB/min.

Pero el tamaño del marco es 234x174:

ingrese la descripción de la imagen aquí

El vídeo está algo borroso en comparación con el original, lo que parece que bien podría deberse al tamaño reducido del fotograma.

Archivo flv original: ingrese la descripción de la imagen aquí

Mp4 convertido por Ffmpeg: ingrese la descripción de la imagen aquí

Clip renderizado por DaVinci.

Esto podría dar una pista del problema. La imagen ocupa menos que la ventana completa del reproductor. ¿DaVinci redujo la escala del vídeo?

ingrese la descripción de la imagen aquí

Clip comprimido por HandBrake: ingrese la descripción de la imagen aquí

¿Por qué HandBrake fuerza esa reducción en el tamaño del cuadro y cómo puedo lograr que se produzca en el tamaño de cuadro correcto?

Respuesta1

Editar del autor de la pregunta: acepté esta respuesta porque me dio lo que necesitaba. Pero vea más detalles en la respuesta adicional que también di.



Puede resultar útil recordar que Handbrake es en gran medida una máscara para FFMPEG con algunos ajustes preestablecidos relativamente fáciles de usar. Su proceso actualmente va FFMPEG > DaVinci > FFMPEG, sin ningún motivo real que podamos ver para los pasos adicionales. Así que omita todos los pasos intermedios y simplemente use FFMPEG para recortar el video. Aquí hay otra pregunta que puede cubrir los aspectos básicos de su necesidad:https://stackoverflow.com/questions/21420296/how-to-extract-time-accurate-video-segments-with-ffmpeg

Especifique la hora de inicio -ss 00:00:00y finalización del clip con -to 00:00:00. Como este ejemplo de la pregunta que he vinculado justo arriba:

ffmpeg -y -i [INPUT.file] -ss 00:42:42 -to 00:84:84 -codec copy [OUTPUT.file]

Al hacer esto, eliminas toda posibilidad de problemas causados ​​por los múltiples pasos que estás utilizando actualmente.

Respuesta2

Acepto la respuesta de "music2myear" porque me dio lo que necesitaba. Pero por alguna razón, supuse que no me importaba el tamaño del archivo de salida. Pero eso sí me importa, que es la razón por la que estaba ejecutando HandBrake.

Entonces cambié el codecparámetro en esa respuesta. Aquí hay un resumen de mis resultados:

  • Clip de DaVinci en H.265: 51,4 MB

  • Clip de DaVinci y luego HandBrake: 22,0 MB (borroso)

  • Clip de FFmpeg con -codec copy: 29,5 MB

  • Clip de FFmpeg con -codec:v hevc -codec:a copy: 15,2 MB

Ambos resultados de FFmpeg parecen tener buena calidad. El que tenía códec copytardó aproximadamente un segundo, el que tenía hevcaproximadamente un minuto.

El resultado de mFFmpeg con códec hevcdio una muy buena reducción en el tamaño del archivo:

  • Película: 264 MB / 107 minutos = 2,5 MB/min.
  • Clip de DaVinci: 51,4 MB / 13,33 min. = 3,9 MB/min.
  • Clip de FFMpeg con códec hevc: 15,2 MB / 13,33 min = 1,1 MB/min.

Entonces, no tengo una respuesta a por qué HandBrake (o la combinación de DaVinci y HandBrake) estaba reduciendo el tamaño del cuadro. Pero sí tengo una respuesta sobre cómo obtener resultados de buena calidad con el tamaño de fotograma correcto (y un tamaño de archivo eficiente), que esutilizar FFmpeg directamente.

Respuesta3

Esta es una solución alternativa, más que una respuesta exacta: realice todo el proceso en un solo paso utilizando una GUI que brinde control completo de cómo se guarda la salida.

Dos editores de vídeo gratuitos y de código abierto.corte de tiroytiro abierto(ambas disponibles en Linux y Mac, así como en versiones de Windows, y ambas aplicaciones de Windows se ejecutan envino, también en esta máquina Ubuntu), por ejemplo, puede abrir archivos de video FLV, editarlos y guardar la salida editada en varios formatos y con resolución y calidad ajustables. Hay muchoseditores de vídeo alternativos, también.

Cuadro de diálogo Exportar vídeo de OpenShot

La captura de pantalla de arriba es delExportar vídeo OpenShotdiálogo, ycorte de tiroofrece un control aún más granular de la producción. Se seleccionan los segmentos a editar, se aplican filtros comoAfilar, si lo desea, y exporta con gama de colores (por ejemplo, Broadcast, MPEG o JPEG), resolución, velocidad de cuadros, compresión, etc. bajo control del usuario, todo con una sola herramienta. Ninguno de los programas es intimidante de usar, ya que se preestablecen valores predeterminados razonables.

información relacionada