用户:ZE3kr/技术参数

来自wikiTLO
< 用户:ZE3kr
ZE3kr讨论 | 贡献2019年1月28日 (一) 11:39的版本 (本地保存)
跳转至: 导航搜索

使用 VPS 搭建,几乎完全静态化。 主机状态

CDN 节点调试 URL

网站架构

视频参数

视频格式

此网站使用自己的 CDN 加速视频,使用 MP4 格式,从 2016 年开始,所有的视频还将有 WEBM 格式,并且我还会逐渐的让以前的视频也支持 WEBM。

视频质量

使用 qHD(540p)准高清(腾讯视频将其称作为超清也是醉了)。同时使用 MP4 封装的 H.264 + AAC 和 WEBM 封装的 VP9 + Vorbis,每个视频的每种格式使用近似相等的码率,通常后者画质更高一些。本站对于 30 帧的视频使用 1000kbps 的平均码率,60 帧的视频使用 1500kbps 的平均码率;音频均为单声道 64kbps 码率。通常本站的视频(无论是什么格式)在 720p 或更低分辨率下的屏幕上都显得十分清晰(例如 iPhone 6,这只是主观测试)。更高分辨率下的屏幕下若使用 MP4 格式,能看到明显的画质下降的痕迹,WEBM 有明显优势。

MP4/HEVC 压缩方式

  • 视频:H.265 多通路,CRF
  • 音频:AAC

MP4/H.264 压缩方式

  • 视频:H.264 多通路,平均码率 1000k(对于 60 帧的,使用 1500k),540p 画质,降分辨率使用线性滤镜,多次通过
  • 音频:AAC 双声道,平均码率 128k

WEBM/VP9 压缩方式

注:从 2018-07 起,不再使用 WEBM。

  • 视频:libvpx-VP9,平均码率 1000k(对于 60 帧的,使用 1500k),540p 画质,两次通过
  • 音频:Vorbis 单声道,平均码率 64k

压制参数

1080p/2160p MP4/HEVC

./ffmpeg -y -i <input> -c:v libx265 -tag:v hvc1 -threads 8 output.mp4

540p 30帧 MP4/H.264

ffmpeg -y -i input -c:v libx264 -r 30000/1001 -c:a aac -preset veryslow -s 960x540 -b:v 1000k -threads 8 -pass 1 -b:a 128k -ac 2 -f mp4 /dev/null

ffmpeg -y -i input -c:v libx264 -r 30000/1001 -c:a aac -preset veryslow -s 960x540 -b:v 1000k -threads 8 -pass 2 -b:a 128k -ac 2 output.mp4

540p 60帧 MP4/H.264

ffmpeg -y -i input -c:v libx264 -r 60000/1001 -c:a aac -preset veryslow -s 960x540 -b:v 1500k -threads 8 -pass 1 -b:a 128k -ac 2 -f mp4 /dev/null

ffmpeg -y -i input -c:v libx264 -r 60000/1001 -c:a aac -preset veryslow -s 960x540 -b:v 1500k -threads 8 -pass 2 -b:a 128k -ac 2 output.mp4

540p 30帧 WEBM/VP9

注:从 2018-07 起,不再使用 WEBM。

ffmpeg -y -i <source> -c:v libvpx-vp9 -pass 1 -b:v 1000K -threads 8 -speed 4 -tile-columns 6 -frame-parallel 1 -b:a 64k -ac 1 -s 960x540 -g 150 -r 30000/1001 -an -f webm /dev/null

ffmpeg -y -i <source> -c:v libvpx-vp9 -pass 2 -b:v 1000K -threads 8 -speed 1 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -ac 1 -s 960x540 -r 30000/1001 -c:a libopus -b:a 64k -f webm out.webm

540p 60帧 WEBM/VP9

注:从 2018-07 起,不再使用 WEBM。

ffmpeg -y -i <source> -c:v libvpx-vp9 -pass 1 -b:v 1500K -threads 8 -speed 4 -tile-columns 6 -frame-parallel 1 -b:a 64k -ac 1 -s 960x540 -g 250 -r 60000/1001 -an -f webm /dev/null

ffmpeg -y -i <source> -c:v libvpx-vp9 -pass 2 -b:v 1500K -threads 8 -speed 1 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -ac 1 -s 960x540 -r 60000/1001 -c:a libopus -b:a 64k -f webm out.webm

本地保存 MP4/HEVC

ffmpeg -i input -i subtitle.srt -metadata:s:s:0 language=chi -c:v libx265 -tag:v hvc1 -threads 8 -crf 24 -c:s mov_text output