ffmpeg压缩、分片视频为Hls(m3u8格式)加快视频访问
笔者受服务器带宽限制,部署在服务器上的网站播放视频时会卡顿,带来不好的交互体验。当然加大带宽、采用CDN方案更为正确。但由于笔者抠搜,于是利用好本台服务器尝试稍微改进一下视频分发体验。
原视频为mp4格式,大小为3.54MB,如果靠1MB带宽传输视频,黑屏(或白屏)等待时间长,体验极其不好。
使用ffmpeg压缩视频后,总大小为1.04MB,分为4片,ts格式。当时视频画质有所牺牲了。
可以使用如下命令对视频压缩分片
ffmpeg -i .\genshin-impact.mp4 `
-c:v libx264 -b:v 1500k -maxrate 2000k -bufsize 1000k `
-preset slow -g 60 -sc_threshold 0 `
-c:a aac -b:a 128k `
-f hls `
-hls_time 2 `
-hls_list_size 0 `
-hls_segment_filename "genshin_%03d.ts" `
index.m3u8
由于需要播放m3u8格式的视频,我们还要使用Hls播放器。可以引入hls.js进行播放。
对于npm应用
npm install hls.js

浙公网安备 33010602011771号