接触视频业务时,视频分辨率是不得不面对的一个重要问题,目前无论是各大视频网站或者小型网站、系统都拥有视频分辨率这个最为基础的功能,用户可以根据自己网络情况播放不同分辨率的视频,除了一些根据用户网络情况播放不同分辨率视频的网站(这就涉及到流媒体了),基本都是采用用户自己设置分辨率,这就需要根据当前系统采用的几种分辨率转码出对应的视频,当用户切换分辨率时,路径直接指向对应视频即可,视频解码依然还是采用ffmpeg这个插件,我采用的是免安装的ffmpeg.exe。
ffmpeg.exe:百度网盘
转码1080p
ffmpeg -i test.mp4 -y -strict -2 -b 6000k -bufsize 6000k -an -c:v libx264 -vf scale=1920:1080 test-1080.mp4
转码720p
ffmpeg -i test.mp4 -y -strict -2 -b 3000k -bufsize 3000k -an -c:v libx264 -vf scale=1280:720 test-720.mp4
参数介绍
- ffmpeg:代表了启动ffmpeg插件,如果是用的免安装的ffmpeg.exe,请加入路径和后缀名
- test.mp4:视频原始文件
- -y:是否覆盖文件,我一般都写
- -b:视频比特率,代表了视频的质量和大小,我一般高清设置6000k,超过一万,在计算机显示屏上基本肉眼无法区分,当然投影又是另外一回事了
- -bufsize:设置视频码率缓冲区大小,和-b一致即可
- -c:v:设置视频格式,一般视频都为libx264
- -vf:设置视频过滤器,和后面的scale配合
- -scale:设置视频分辨率
- 最后设置目标文件
如果你还需要转码其他分辨率视频,可以设置scale,比特率可以默认