Existe uma tarefa: alterar o vídeo "on the fly" durante a reprodução - troque as partes direita e esquerda. Não reflita, a saber, mudança, ou seja, corte a imagem em duas partes e troque-as. Obviamente, você pode fazer isso usando um servidor de quadros como o
AviSynth , mas não é mais tão
rápido - é necessário escrever um script para cada arquivo de vídeo. Eu quero fazê-lo rapidamente e sem esforço.
Em um figo? Para tornar
o curso de palestras sobre aprendizado de máquina do Yandex mais conveniente para visualização. O palestrante aponta para os pontos da apresentação ao vivo e você precisa pular constantemente a tela com os olhos para entender do que se trata:

Solução
Usamos a ferramenta shader disponível no
Media Player Classic . No kit padrão, existem vários shaders prontos para edição de imagens - “Emboss”, “Grayscale”, “16-235 to 0-255” e similares. Como não precisamos dele, criamos um novo sombreador (um pequeno programa na linguagem
HLSL ):
sampler s0 : register(s0); float4 main(float2 tex : TEXCOORD0) : COLOR {
Nós o salvamos na pasta
\ Shaders do media player (por exemplo, C: \ Arquivos de Programas \ MPC-HC \ Shaders) sob o nome
Shift.hlsl . Em seguida, vá para as configurações do Media Player Classic (
Opções / Reprodução / Shaders ) e adicione o novo shader à lista de
shaders de pré-redimensionamento ativo .
Este método de processamento de vídeo não carrega a CPU, pois todo o trabalho é feito pela placa gráfica, em qualquer caso, se for real e não emulado.
O que é isso, Barimore?
Esse é um sombreador de pixels que deve gerar a cor de um ponto, dependendo das coordenadas que são passadas pelo parâmetro
tex . A variável
s0 contém a textura com o quadro atual do vídeo.
A nova coordenada horizontal é calculada como o restante do módulo de divisão 1 da soma da coordenada atual e do deslocamento
swapLine . Assim, movemos o ponto para a direita e o reorganizamos para o lado esquerdo quando ele ultrapassa as dimensões.
Finalmente, o
comando tex2D (s0, tex) retorna a cor do ponto com a coordenada desejada no quadro original.
PS