强制用户使用 HTML5 视频输入捕获以低分辨率捕获视频

Posted

技术标签:

【中文标题】强制用户使用 HTML5 视频输入捕获以低分辨率捕获视频【英文标题】:force users to capture video with low resolution with HTML5 video input capture 【发布时间】:2017-10-21 09:14:09 【问题描述】:

我可以选择捕捉视频并通过我的网站上传。

我想强制捕捉到低分辨率(并且只有特定的秒数)。

我正在使用 html5 视频标签。

<input type="file" id="uploadVideoInput" name="uploads[]" class="file_multi_video" accept="video/*" />

有办法吗?

伙计们,我说的是通过选择输入文件来上传视频或从相机(手机)上传录制的视频

【问题讨论】:

视频是如何采集的? “低分辨率”是什么意思? 当点击手机中的输入时,可以选择从相机捕获视频或上传视频文件(从PC仅上传),我的意思是较低的分辨率是为了制作视频比它小.. 知道手机摄像头录制高分辨率(3K*2K)的视频,我想强制视频像 600*400 不确定是否可以在用户选择文件上传后不处理文件的情况下实现该功能。 让它录制,然后您将视频压缩成您想要的格式大小。不要强迫用户这样做,这很糟糕 @Nicholas 我想这样做是为了帮助用户减少等待上传完成 【参考方案1】:

从移动设备上传视频有两种类型:

“现场”视频上传

您可以在此处单击文件上传按钮并从您的操作系统中选择录制视频的选项。

没有标准的方法来告诉浏览器要录制什么类型的视频。 Some phones 具有控制分辨率/质量的设置。但我(最近)在 ios 上注意到,无论您的设置如何,它都会强制您以最低分辨率录制。

我同意 cmets,为了获得最佳用户体验,让用户上传手机发送的任何内容,然后在服务器/云端对视频进行转码。

上传现有视频文件

您可以使用 HTML5 File API 之类的东西来强制限制文件大小甚至分辨率。我这里就不加任何代码了,文件大小是直截了当的。

为了解决问题,我所做的是将load local video file 放入&lt;video&gt; 标记中,然后向其添加“loadedmetadata”事件侦听器。当“loadedmetadtata”事件触发时,您可以获得videoWdithvideoHeight as shown here。

我是在台式机上做的,但我看不出它为什么不能在现代手机上工作:)

【讨论】:

你知道绕过iPhone“低分辨率捕获”的方法吗?无论他们以何种设置记录 320p 质量。 @StefanosChrs 你找到解决方案了吗? @damingzi 这是 Apple 的政策,即使有来自社区的大量报告,他们也不打算改变它。最后,我必须创建一个原生移动应用来调整设置。

以上是关于强制用户使用 HTML5 视频输入捕获以低分辨率捕获视频的主要内容,如果未能解决你的问题,请参考以下文章

PHAssetChangeRequest 以低分辨率保存

在浏览器中以低延迟捕获声音输入

如何在视网膜显示器上强制放大模式?

高分辨率捕获和编码

如何强制仅打开设备摄像头以进行视频捕获意图?

HTML 5 中的视频捕获