Alguém sabe redimensionar o pôster do vídeo HTML5 de forma que ele se encaixe nas dimensões exatas do próprio vídeo?
aqui está um jsfiddle que mostra o problema: http://jsfiddle.net/zPacg/7/
aqui está aquele código:
HTML:
<video controls width="100%" height="100%" poster="http://www.wpclipart.com/blanks/buttons/glossy_buttons/glossy_button_blank_orange_rectangle.png">
<source src="http://demo.inwebson.com/html5-video/iceage4.mp4" type="video/mp4" />
<source src="http://demo.inwebson.com/html5-video/iceage4.ogg" type="video/ogg" />
<source src="http://demo.inwebson.com/html5-video/iceage4.webm" type="video/webm" />
</video>
CSS:
video{
border:1px solid red;
}
Observe que o retângulo laranja não se ajusta à borda vermelha do vídeo.
Além disso, apenas adicionar o CSS abaixo também não funciona, pois redimensiona o vídeo junto com o pôster:
video[poster]{
height:100%;
width:100%;
}
css
html
attributes
html5-video
Tim Peterson
fonte
fonte
poster
no link que você enviou. Você pode me mostrar como é o CSS para o que você está falando, ou seja, "-webkit media style
"? obrigadoRespostas:
Você pode usar uma imagem de pôster transparente em combinação com uma imagem de fundo CSS para conseguir isso ( exemplo ); entretanto, para ter um fundo esticado até a altura e largura de um vídeo, você terá que usar uma
<img>
tag posicionada absolutamente ( exemplo ).Também é possível definir
background-size
para100% 100%
em navegadores que suportambackground-size
( exemplo ).Atualizar
A melhor maneira de fazer isso seria usar a
object-fit
propriedade CSS, conforme sugere @Lars Ericsson.Usar
se você não quiser exibir as partes da imagem que não se ajustam à proporção do vídeo, e
esticar a imagem para caber na proporção do seu vídeo
Exemplo
fonte
no-repeat
editei a imagem de fundo. Quanto à outra solução, dê-me um momento para resolver isso.z-index
da imagem de modo que o vídeo seja visível quando você começar a reproduzi-lo.Dependendo de quais navegadores você está alvejando, você pode ir para a propriedade de ajuste de objeto para resolver isso:
ou talvez
fill
seja o que você está procurando. Ainda em consideração para o IE .fonte
object-fit: initial
fez isso para mim.video{object-fit: cover;}
?Ou você pode usar simplesmente o
preload="none"
atributo para tornar o fundo do VÍDEO visível. E você pode usarbackground-size: cover;
aqui.fonte
Eu estava brincando com isso e tentei todas as soluções, eventualmente a solução que eu escolhi foi uma sugestão do Inspetor do Google Chrome. Se você adicionar isso ao seu CSS, funcionou para mim:
fonte
Minha solução combina as respostas do user2428118 e do Veiko Jääger, permitindo o pré-carregamento, mas sem a necessidade de uma imagem transparente separada. Em vez disso, usamos uma imagem transparente de 1 px codificada em base64.
fonte
object-fit
não evita as distorções de tamanho selvagem doposter
que acontecem no Android enquanto o conteúdo ainda está carregando.Tive essa ideia e funciona perfeitamente. Ok, basicamente queremos livrar-nos do primeiro quadro dos vídeos e depois redimensionar o pôster para o tamanho real dos vídeos. Se definirmos as dimensões, concluímos uma dessas tarefas. Então, apenas um permanece. Portanto, agora, a única maneira que conheço de me livrar do primeiro quadro é realmente definir um pôster. No entanto, vamos dar ao vídeo um falso, que não existe. Isso resultará em uma tela em branco com o fundo transparente. Ou seja, o plano de fundo de nosso div pai ficará visível.
Simples de usar, no entanto, pode não funcionar com todos os navegadores da web se você quiser redimensionar a dimensão do plano de fundo do div para a dimensão do vídeo, pois meu código está usando "tamanho de plano de fundo".
HTML / HTML5:
CSS:
fonte
Cobrir
Preencher
fonte
Tive um problema semelhante e resolvi-o criando uma imagem com a mesma proporção do meu vídeo (16: 9). Minha largura está definida para 100% na tag de vídeo e agora a imagem (320 x 180) se encaixa perfeitamente. Espero que ajude!
fonte
Você pode redimensionar o tamanho da imagem após gerar o polegar
fonte
Você pode usar pôster para mostrar a imagem em vez do vídeo no dispositivo móvel (ou dispositivos que não suportam a funcionalidade de reprodução automática de vídeo). Porque os dispositivos móveis não oferecem suporte à funcionalidade de reprodução automática de vídeo.
Agora você pode definir o estilo do atributo poster que está dentro da tag de vídeo para dispositivo móvel por meio de consulta de mídia.
fonte
fonte
Funcionou
E o CSS
fonte
fonte