Taxa de quadros variável (ou VFR) é um termo em compactação de vídeo para um recurso suportado por alguns formatos de contêiner que permite que a taxa de quadros mude ativamente durante a reprodução do vídeo ou abandone completamente a ideia de taxa de quadros e defina um código de tempo individual para cada quadro .
Então eu entendo esse conceito. Mas há uma infinidade de perguntas que isso traz, e a maioria dos blocos de informações são esboços:
São todos fps decimais vfr; fps inteiro pode ser vfr? Ou é específico de como o vídeo foi feito, como quando você grava sua tela com OBS e define o fps para 30, mas obtém um decimal 29,777? O vfr realmente existe apenas em vídeos gravados na vida real, mas a animação 3d/2d não teria vfr? Não vejo o que ser um decimal tem a ver com a definição, qualquer valor inteiro também pode se encaixar. Eu sei que você pode usar -vfrdet em ffmpeg para saber se algo é vfr ... mas se todos os vfr são decimais, qual é o objetivo, por que não apenas verificar o fps?
Se você recodificar o vídeo vfr no mesmo fps, a saída ainda manterá a mesma velocidade e número de quadros ou haverá algum tipo de perda de dados (fora da perda de qualidade do codec) que difere do fps constante? A reprodução de um vídeo vfr mostra TODOS os quadros ou tende a pular quadros (vamos supor que o hardware esteja funcionando perfeitamente)?
Por que os editores de vídeo não suportam 'todos' valores fps não inteiros? Quero dizer, qualquer coisa que eu possa expressar como uma fração de números inteiros, deve estar disponível como uma configuração de entrada de fps imo ... caso contrário, isso anula o ponto de "edição de vídeo". Qual é exatamente a justificativa para esses supostos editores de vídeo totalmente carregados limitarem você a apenas 5 fps predefinidos, ou seja, (30/60/24/23,97/25). Estou ainda mais confuso porque alguns editores de vídeo, enquanto eles dizem que suportam 60fps, suportam apenas edição de linha de tempo de 60fps ... e o valor de fps de suporte da saída está listado (antes mesmo de você exportar!) eu e todos que 59,94 é o mesmo que 60. Não tenho certeza se isso está relacionado a vfr ou outra coisa.
O valor de fps de um vfr é apenas a média de fps em todo o vídeo? Ou é algum meio mais avançado de média/cálculo? Qual é mesmo o papel de ter um fps 'médio' listado singular em um vídeo vfr? A definição afirma que o vídeo é independente de qualquer fps... existe algum tipo de pacote de dados especial que diz ao reprodutor de vídeo para reproduzir o vídeo de uma certa maneira, de modo que algumas partes sejam mais rápidas/lentas da maneira desejada? O vfr não pode tecnicamente significar que o início de um vídeo é reproduzido a 60 fps e os últimos 10 segundos são reproduzidos a 5 fps? Como um reprodutor de vídeo saberia reproduzir o início em 60 qps... e o final em 5 qps... se tiver apenas 1 número para disparar.
Are all decimal fps vfr; can integer fps be vfr?
Não, um número fracionário de quadros por segundo ainda pode ser constante. Por exemplo, NTSC (o padrão de televisão dos EUA) é uma taxa de quadros constante de 29,97 (geralmente representada como 30000/1001) quadros por segundo.
Does vfr really only exist on real-life recorded video, but 3d/2d animation wouldn't have vfr?
O conteúdo é irrelevante. A animação tende a ser criada com uma taxa de quadros específica em mente. Mas não há nenhuma razão que deve ser o caso.
I don't see what being a decimal has to do with the definition
Nada.
why not just check the fps instead.
O que é "verificar o fps" o que isso significa (consulte o ponto 4)
If you re-encode vfr video at the same fps,
Depende totalmente de COMO você codifica e de como funciona a ferramenta que você usa para codificar. A maioria das ferramentas passará pelo que vier para a saída, sem modificar a taxa de quadros (a menos que você diga)
Does playback of a vfr video show ALL the frames or does it tend to skip frames
Depende do dispositivo. Por exemplo, se a sua TV for de 60 Hz e você codificar 61 fps, ela NÃO PODE exibir todos os quadros, mas se o conteúdo tiver uma média de 60 Fps, mas estourar para 62, a TV pode espalhar o quadro uniformemente e exibi-los todos, ou pode perder dois quadros e depois repita 2 quadros. Cada tela é diferente e não há regra sobre o que ela deve fazer.
Why do video editors not 'all' support non-integer fps values?
Você precisará perguntar ao criador dessas ferramentas. Não há outra razão senão preguiça, custo ou simplicidade que impeça tal recurso em qualquer ferramenta.
Para expandir o ponto de simplicidade, em muitos casos a taxa de quadros que o usuário solicita simplesmente não é possível. Por exemplo, RTMP usa relógio de 1 khz, o que significa que mesmo 30 fps CFR não é possível (30 não se divide igualmente em 1000, torna-se 30 fps AFR com dois terços dos quadros sendo 33 ms e um terço 34 ms), se a IU tiver uma proporção em que o usuário pode digitar qualquer valor que desejar para a taxa de quadros, muitas vezes acabará com um resultado que não esperava devido à limitação do formato de vídeo que escolheu.
telling me and everyone that 59.94 is the same as 60
Não é absolutamente a mesma coisa. Na maioria dos casos, isso não importa, e para vídeo na Internet, isso nunca importará, mas para alguns fluxos de trabalho de transmissão de TV, as taxas de quadros geralmente devem ser exatas para que os diferentes equipamentos funcionem juntos.Is the fps value of a vfr just the average fps across the entire video?
Não há um padrão sobre como calcular a taxa de quadros média. O software pode apenas ler um valor do cabeçalho, pode calcular a média dos primeiros segundos ou pode calcular a taxa de quadros de todo o arquivo. Cada ferramenta funciona de maneira diferente.
What is even the role of having a singular listed 'average' fps in a vfr video?
conivência.
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?
Não, cada quadro tem um carimbo de data/hora associado a ele. O player apenas exibe um quadro até que seja hora de exibir o próximo quadro. Ele acelera e desacelera em cada quadro.
Can't vfr technically mean the start of a video plays at 60 fps and the last 10 seconds play at 5 fps?
Sim
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.
Não tem 1 número para desligar. Tem 1 número por quadro.