La velocidad de cuadros variable (o VFR) es un término en compresión de video para una característica admitida por algunos formatos de contenedor que permite que la velocidad de cuadros cambie activamente durante la reproducción de video, o abandonar por completo la idea de la velocidad de cuadros y establecer un código de tiempo individual para cada cuadro. .
Entonces entiendo este concepto. Pero esto plantea una gran cantidad de preguntas, y la mayoría de los paneles de información son resúmenes:
Son todos fps decimales vfr; ¿Pueden los fps enteros ser vfr? ¿O es específico de cómo se hizo el video, como cuando grabas tu pantalla con OBS y configuras los fps en 30, pero obtienes un decimal 29,777? ¿Realmente vfr solo existe en videos grabados de la vida real, pero la animación 3d/2d no tendría vfr? No veo qué tiene que ver ser un decimal con la definición, cualquier valor entero también podría ajustarse. Sé que puedes usar -vfrdet en ffmpeg para saber si algo es vfr... pero si todos los vfr son decimales, ¿cuál es el punto? ¿Por qué no simplemente verificar los fps?
Si vuelve a codificar video VFR a los mismos fps, ¿la salida seguirá manteniendo la misma velocidad y número de fotogramas o habrá algún tipo de pérdida de datos (fuera de la pérdida de calidad del códec) que difiera de los fps constantes? ¿La reproducción de un vídeo VFR muestra TODOS los fotogramas o tiende a omitir fotogramas (supongamos que el hardware funciona perfectamente)?
¿Por qué no "todos" los editores de vídeo admiten valores de fps no enteros? Quiero decir, cualquier cosa que pueda expresar como una fracción de números enteros, debería estar disponible como una configuración de entrada de fps en mi opinión... de lo contrario, eso anula el objetivo de la "edición de video". ¿Cuál es exactamente la razón por la que estos supuestos editores de video completamente cargados lo limitan a solo 5 fps preestablecidos, es decir (30/60/24/23.97/25)? Estoy aún más confundido porque algunos editores de video, aunque dicen que admiten 60 fps, solo admiten la edición de línea de tiempo de 60 fps... y el valor de fps de soporte de salida aparece (¡antes incluso de exportar!) como 59.94 y veo videos tutoriales OFICIALES que lo dicen. Para mí y para todos, 59,94 es lo mismo que 60. No estoy seguro si eso está relacionado con vfr o algo más.
¿El valor de fps de un vfr es solo el promedio de fps de todo el vídeo? ¿O es algún medio más avanzado de promediar/calcular? ¿Cuál es incluso el papel de tener un fps "promedio" singular en un video VFR? La definición establece que el video es independiente de cualquier fps... ¿existe algún tipo de paquete de datos especial que le indique al reproductor de video que reproduzca el video de cierta manera, de modo que algunas partes sean más rápidas o más lentas de la manera deseada? ¿Vfr no puede significar técnicamente que el inicio de un video se reproduce a 60 fps y los últimos 10 segundos se reproducen a 5 fps? ¿Cómo sabría un reproductor de video reproducir el inicio a 60 fps... y el final a 5 fps... si solo tiene 1 número para reproducir?
Respuesta1
Are all decimal fps vfr; can integer fps be vfr?
No, una fracción de fotogramas por segundo aún puede ser constante. Por ejemplo, NTSC (el estándar de televisión de EE. UU.) es una velocidad de cuadros constante de 29,97 (a menudo representado como 30000/1001) cuadros por segundo.
Does vfr really only exist on real-life recorded video, but 3d/2d animation wouldn't have vfr?
El contenido es irrelevante. La animación tiende a crearse teniendo en cuenta una velocidad de fotogramas específica. Pero no hay ninguna razón para que así sea.
I don't see what being a decimal has to do with the definition
Nada.
why not just check the fps instead.
¿Qué es "comprobar los fps"? ¿Qué significa eso? (ver punto 4)
If you re-encode vfr video at the same fps,
Depende totalmente de CÓMO codifique y de cómo funcione la herramienta que utilice para codificar. La mayoría de las herramientas pasarán lo que llegue a la salida sin modificar la velocidad de fotogramas (a menos que usted se lo indique)
Does playback of a vfr video show ALL the frames or does it tend to skip frames
Depende del dispositivo. Por ejemplo, si su televisor tiene una frecuencia de 60 Hz y codifica 61 fps, NO PUEDE mostrar cada cuadro, pero si el contenido tiene un promedio de 60 Fps, pero aumenta a 62, el televisor puede extender el cuadro de manera uniforme y mostrarlos todos, o puede perder dos. fotogramas, y luego repetir 2 fotogramas. Cada pantalla es diferente y no existe una regla sobre lo que debe hacer.
Why do video editors not 'all' support non-integer fps values?
Deberá preguntarle al creador de esas herramientas. No hay otra razón que la pereza, el costo o la simplicidad que impida dicha característica en cualquier herramienta.
Para ampliar el punto de simplicidad, en muchos casos la velocidad de fotogramas que solicita el usuario simplemente no es posible. Por ejemplo, RTMP usa un reloj de 1 kHz, lo que significa que ni siquiera es posible una CFR de 30 fps (30 no se divide uniformemente entre 1000, se convierte en AFR de 30 fps con dos tercios de los fotogramas con una duración de 33 ms y un tercio de 34 ms), si la interfaz de usuario tiene una relación donde el usuario puede escribir cualquier valor que desee para la velocidad de fotogramas; muy a menudo terminará con un resultado que no esperaba debido a la limitación del formato de vídeo que eligió.
telling me and everyone that 59.94 is the same as 60
No es en absoluto lo mismo. En la mayoría de los casos, no importará, y para videos de Internet, nunca importará, pero para algunos flujos de trabajo de transmisión de TV, las velocidades de fotogramas a menudo deben ser exactas para que los diferentes equipos funcionen juntos.
Is the fps value of a vfr just the average fps across the entire video?
No existe un estándar sobre cómo calcular la velocidad de cuadros promedio. El software simplemente lee un valor del encabezado, puede calcular el promedio de los primeros segundos o puede calcular la velocidad de fotogramas de todo el archivo. Cada herramienta funciona de manera diferente.
What is even the role of having a singular listed 'average' fps in a vfr video?
connivencia.
is there some kind of special data packet that tells the video player to playback the video in a certain way such that some parts are faster/slower in the desired fashion?
No, cada fotograma tiene una marca de tiempo asociada. El reproductor simplemente muestra un cuadro hasta que llega el momento de mostrar el siguiente cuadro. Acelera y desacelera en cada cuadro.
Can't vfr technically mean the start of a video plays at 60 fps and the last 10 seconds play at 5 fps?
Sí
How would a video player know to play the start at 60 fps...and the end at 5fps...if it only has 1 number to go off of.
No tiene 1 número para disparar. Tiene 1 número por cuadro.