Eu uso o mpc-hc para reproduzir vídeos no Win7 x64. Com as configurações padrão (nº 1) , a reprodução de vídeo é ótima na maioria das vezes. Mas para capturar imagens panorâmicas, a reprodução não é suave . Passei pelo vídeo, quadro a quadro, e descobri que o movimento panorâmico é suave (por exemplo, cada quadro muda horizontalmente em 10 pixels), então o problema é como o vídeo de 23.976 fps é interpolado para 60Hz.
A trepidação se parece com o que seria causado por um "pulldown 2: 3" , onde os quadros são reproduzidos de maneira desigual como:
frame 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, etc
(# 2)
O uso de "configurações ideais do renderizador" (nº 3) em vez do padrão desativa o tema Aero e causa lacrimejamento .
Ajustar minha tela LCD para 50Hz pode ter melhorado um pouco a trepidação (mas não sei dizer). Meu monitor não suporta 24Hz ou 48Hz, e forçá-los no painel de controle da Nvidia dá uma tela embaçada.
Eu tentei outros reprodutores de vídeo ( VLC e KMPlayer ), o ReClock Directshow Filter , arquivos de vídeo de diferentes fontes (nº 4) , ativar / desativar o DXVA e um computador com uma GPU diferente, mas a vibração na reprodução é semelhante . Nenhum deles resolveu o problema.
É possível reproduzir vídeo de 23,976 ou 24 fps sem problemas em um monitor de 60Hz?
Eu acho que um player de vídeo poderia tornar o vídeo mais suave fazendo interpolação linear, como:
1. 100% frame 1
2. 60% frame 1 + 40% frame 2
3. 20% frame 1 + 80% frame 2
4. 80% frame 2 + 20% frame 3
5. 40% frame 2 + 60% frame 3
6. 100% frame 3
7. 60% frame 3 + 40% frame 4
.. etc
Qualquer player de vídeo existente pode fazer isso?
Notas de rodapé:
(# 1) Renderizador de vídeo: EVR Custom Pres.
(# 2) Este exemplo converte um vídeo de 24 fps em 30 fps
(# 3) Exibir> Configurações do renderizador> Redefinir> Redefinir para as configurações ideais do renderizador
(# 4) Os arquivos que tenho são todos arquivos H.264 mkv, mas não Não pense que o formato / codificação do arquivo é importante.
Respostas:
Confira o Projeto SmoothVideo :
fonte
Não conheço um player que possa fazer isso em tempo real, mas você pode converter qualquer vídeo de 24 / 25fps em um bom vídeo de 60fps recodificando o vídeo com a interface.
Aqui está um ótimo tutorial passo a passo para fazer isso. Inclui amostras de vídeo antes / depois. http://www.spirton.com/convert-videos-to-60fps/
fonte
Sua idéia para tornar a reprodução de vídeo mais suave por meio do que chamamos de interpolação linear é simplesmente um método de mistura da conversão da taxa de quadros (ou Blend FRC). O MediaPlayer.NET (MPDN) emprega essa técnica e a chama de "Movimento fluido". O madVR chama isso de "movimento suave".
Esse método do FRC é o mais básico do que o SVP usa. No entanto, o MPDN e o madVR têm a capacidade de detectar a taxa de atualização real da exibição com uma precisão muito alta. Embora seja improvável que você observe um quadro repetido / interrompido a 60Hz, o SVP ainda sofre com a (ainda que pequena) incompatibilidade da taxa de entrada / saída (por exemplo, 60,001Hz + desvio do relógio de referência vs 60FPS). O uso de SVP também é muito mais intensivo em GPU do que a mistura FRC do player, que custa apenas uma fração do tempo de renderização.
Se você conseguir fazer um overclock do monitor, o sintonizador de taxa do MPDN oferece uma alternativa para combinar o FRC e geralmente é considerada a melhor opção. O Blend FRC pode causar embaçamento / fantasmas, portanto deve ser tomado como último recurso. Consulte o wiki do sintonizador de taxa MPDN no GitHub para obter mais informações.
Isenção de responsabilidade: sou o autor do MPDN.
fonte
Geralmente reproduzo vídeo de 24fps no VLC em um monitor de 60hz, e ele é exibido sem problemas por meio do processador padrão com aceleração de hardware nVidia, não parece tremer (não tenho certeza de qual método ele usa).
fonte
Para qualquer pessoa em um monitor de 60 hz: como primeira etapa, verifique se o seu monitor não suporta 23.976 hz, 24 hz, 47.952 hz ou 48 hz, usando o painel de controle da GPU (NVIDIA, AMD ou Intel). Provavelmente não será listado, portanto, isso envolverá a criação de uma resolução personalizada e o teste.
O OP diz que ele fez isso, então precisamos de alguma forma de interpolação de quadros. A maneira mais indolor de fazer isso hoje em dia seria usar a opção de movimento suave do madVR.
Para usar o madVR, instale o MPC-HC e o madVR, selecione madVR como renderizador nas opções do MPC-HC. Se tudo correr bem, no MPC-HC, você poderá pressionar CTRL-J e ver o seguinte:
Sublinhado em vermelho é o que é importante aqui, rodando a 60hz, mas com movimento suave. Não será perfeito, mas é basicamente o melhor que você pode esperar para tentar ajustar 24 quadros em 60 ciclos de atualização.
fonte
Outra pessoa mencionou o Smooth Video Project. Isso pode ajudar potencialmente, mas às vezes a suavização de movimento faz com que algo destinado a uma taxa de quadros mais baixa pareça ruim porque o vídeo a 24fps possui desfoque de movimento incorporado nos quadros individuais. A suavização de movimento faz com que o vídeo gravado no digital pareça melhor.
O MPV do player de vídeo tem a suavização de movimento ou interpolação intra-quadro integrada. Você deve conferir.
fonte
Você deve tentar o mpv com sua
--interpolation
opção, de preferência através de uma GUI como o SMPlayer . Faz algo muito semelhante ao que você descreve.Instale o SMPlayer e faça o seguinte nas configurações:
opengl-hq
--interpolation --video-sync=display-vdrop --tscale=oversample
Os vídeos agora devem ser reproduzidos quase tão suavemente quanto em uma tela nativa de 24Hz, mas sem nenhum "efeito novela".
Aqui está uma explicação técnica (possivelmente desatualizada) do que essa opção faz (a seção "movimento suave").
fonte
Você já tentou desativar "Ignorar quadros" nas opções do VLC?
fonte