【发布时间】:2018-03-19 22:46:28
【问题描述】:
我想要一个 html5 或任何视频播放器来将视频质量划分为类似于 youtube 的不同质量/分辨率。
我想知道,有没有办法上传一个视频质量,例如1080px, 并让玩家展示其他品质 360px、420px 等。
【问题讨论】:
标签: php html video-player
我想要一个 html5 或任何视频播放器来将视频质量划分为类似于 youtube 的不同质量/分辨率。
我想知道,有没有办法上传一个视频质量,例如1080px, 并让玩家展示其他品质 360px、420px 等。
【问题讨论】:
标签: php html video-player
您要查找的内容通常称为基于 HTTP 的动态自适应流式传输,又名:MPEG-DASH。目前只有 MSEdge browser 支持 MPEG-DASH。但是,您可以使用 dash.js 进行 polyfill
使用命令行实用程序 ffmpeg 遵循 Mozilla 团队提供的有关如何编码视频的 instruction。基本上,您需要生成音频、视频变体和清单文件。
将文件上传到您的服务器,然后在您的 html 中插入一个视频标签,如下所示:
<video data-dashjs-player autoplay src="://path/manifest.mpd" controls>
</video>
【讨论】:
您可以这样做,但不是那么简单。您需要将视频上传到服务器,然后使用服务器端异步作业以不同的质量/像素大小对其进行编码。然后你需要一个视频播放器,它允许根据连接速度、设备或 UI 等参数切换不同的文件。
如果您想自己做,我建议检查 AWS Elastic Transcoder https://aws.amazon.com/elastictranscoder/?nc1=h_ls 以获得高端服务(相当昂贵)或 FFMPEG https://www.ffmpeg.org/documentation.html。
【讨论】: