在HTML5中设置视频高度

cod*_*der 11 video height html5 width

可能是一个简单的问题,但这真的让我发疯.我只想设置HTML5视频的高度和宽度.

我正在使用此代码:

 <video controls="controls" width="1000" id="video">
            <source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
            <source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
  </video>
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

如果我添加高度属性

<video controls="controls" width="1000" height="300" id="video">
                <source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
                <source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
 </video>
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

我在这里错过了一些东西吗?

任何人都可以纠正我正在做的错误.

小智 18

这是简单的CSS技巧,您不需要添加任何JavaScript或jQuery代码.object-fit在视频标记上使用CSS属性.

HTML

<video controls="controls" id="video">
<source src="sintel-trailer.ogv" type='video/ogg; codecs="theora, vorbis"'>
<source src="sintel-trailer.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>
Run Code Online (Sandbox Code Playgroud)

CSS

#video{
  object-fit: initial;
  width: 400px;
  height: 300px;
}
Run Code Online (Sandbox Code Playgroud)

见小提琴

  • 之前从未听说过此属性,在找到位置异常的视频之前已经苦苦挣扎了数小时,谢谢 (2认同)
  • 为我工作,+1,我使用了 objest-fit: cover,但这有效。 (2认同)

ant*_*rat 12

您无法更改<video>标签中的宽高比.

但是,您可以阅读视频内容并将其写入<canvas>元素.

例如:

<canvas id="canvas" height="768" width="1024"></canvas>
Run Code Online (Sandbox Code Playgroud)

和JS:

function updateVideo( ) {
    var canvas = document.getElementById( 'canvas' );
    var ctx = canvas.getContext( '2d' );
    var myVideo = document.getElementById( 'video' );
    ctx.drawImage( myVideo, 0, 0, 640, 480 );
}
setInterval ( updateVideo, 24 );
Run Code Online (Sandbox Code Playgroud)