Show pageOld revisionsBacklinksFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. [[https://www.saraba1st.com/2b/thread-2187897-1-1.html| ffmpeg用av1编码器压片,交流下压片设置]] 用的svt-av1,它在视频质量、低比特率和编码速度达成较佳的平衡,感谢楼下的推荐 真人视频,比如电视剧、电影等 <codeprism> ffmpeg -i input.mp4 -c:a copy -c:v libsvtav1 -preset 4 -crf 35 -pix_fmt yuv420p10le -svtav1-params tune=2:lp=12:film-grain=8:enable-variance-boost=1:variance-boost-strength=2 output.mp4 </codeprism> 如果是恐怖片、低对比度或高对比度的电影,-svtav1-params参数可以设variance-boost-strength=3 2D视频(手绘2Dshi <codeprism> ffmpeg -i input.mp4 -c:a copy -c:v libsvtav1 -preset 4 -crf 50 -g 100 -pix_fmt yuv420p10le -svtav1-params tune=2:lp=12:film-grain=4:enable-variance-boost=1:variance-boost-strength=2 output.mp4 </codeprism> 3D视频大概不需要方差提升细节,可删enable-variance-boost=1取消提升细节,3D没有胶片颗粒感,可删film-grain=4 <codeprism> ffmpeg -i input.mp4 -c:a copy -c:v libsvtav1 -preset 4 -crf 45 -g 100 -pix_fmt yuv420p10le -svtav1-params tune=2:lp=12 output.mp4 </codeprism> 听说librav1e是最快的编码器,有人觉得它使用一些参数压片后的质量,和SVT-AV1相比如何? 昨天光顾着av1an,踩了一些坑,最后发觉ab-av1更省事 ab-av1评估工具根据VMAF分数提供指定的画质分数进行编码,若评估结果不通过则不进行编码,让那些H265、VP9、AV1参数调的不是那么好的视频进行重新编码 ab-av1默认规则:视频VAMF得分95以上,文件体积正好小于或等于80%就重新编码 原本要python写的,这下用bat就足矣了,无需给成千上万的视频文件进行人工视觉质量评估再决定crf值(传统做法是压一遍看看crf设的值是否恰当,人工视觉评估) 一行代码解决批量转换某个目录包括子目录下的所有视频文件 <codeprism> set "video_extensions=mp4,mkv,webm,avi,mov,flv,wmv,mpg,mpeg,3gp,ogv,divx,m4v,rmvb" && for %e in (%video_extensions%) do (for /r %f in (*.%e) do (ab-av1 auto-encode -i "%f" --preset 4 --svt tune=0 --svt film-grain=8 --svt film-grain-denoise=0 --pix-format yuv420p10le --min-vmaf 95 --max-crf 60 --min-crf 18)) </codeprism> VAMF通常95分以上和原画差别不大,即使反复看几十遍肉眼很难看出细节上的差别 VMAF有一定的帮助,但只是在一定范围内适用(判断应用典型的有损视频压缩和/或空间降级后,视频退化了多少等等,一些视觉增强,如非锐化遮罩可能会降低评分标准,如DLSS或FSR能优化画质,但在VMAF眼里画质比原片更差),如果只是想编码一些东西,而不是深入编码相关的领域(例如过滤编码等) VMAF是一个好的工具,但不适用于评估超过原片的画质,因为它没接受过后期修改的画质比原片更好的相关训练 90分以上正好,我就设分数93分,以轻微的视觉细节损失换来更小的体积(反正我看不出差别) 原片172MB 60FPS 1080p 12878kbps,魂+论坛分享的某个3D短片 H265代码: <codeprism> ffmpeg -y -i input.mp4 -c:v libx265 -crf 18 -preset slower -x265-params ctu=32:rskip=2:rskip-edge-threshold=2:selective-sao=2:no-sao=output.x265.mp4 output.x265.mp4 ffmpeg -y -i input.mp4 -c:v libx265 -crf 35 -preset slower -x265-params ctu=32:rskip=2:rskip-edge-threshold=2:selective-sao=2:no-sao=output.x265.mp4 output.x265.mp4 ffmpeg -y -i input.mp4 -c:v libx265 -crf 23 -preset slower -x265-params ctu=32:rskip=2:rskip-edge-threshold=2:selective-sao=2:no-sao=output.x265.mp4 output.x265.mp4 # 耗时9小时多 crf 23只是压到99MB大小 ab-av1 auto-encode -i input.mp4 -e libx265 --preset slower --keyint 3s --enc x265-params=ctu=32:rskip=2:rskip-edge-threshold=2:selective-sao=2:no-sao=input.x265.mp4 --pix-format yuv420p10le --min-vmaf 93 --max-crf 55 --min-crf 10 # Searching 02:34:07 ################################################################## (crf 25.6, VMAF 93.11, size 35%) # Encoding 01:40:41 ############################################################ (1.2 fps, eta 0s)Encoded 73.91 MiB (43%) # 耗时4小时多 </codeprism> ffmpeg第一条指令压了3小时,压完后视频体积反而更大了,体积189MB……改了crf 35,压片后13.76MB,libx265视觉损失比svt-av1更大,视觉糟糕程度svt-av1 crf 60 和libx265 crf 35差不多 改了crf 23,体积99.3MB,用ab-av1压片,ab-av1给出最佳crf为25.6,压片后73.93MB,h265和svt-av1压片后的质量、压缩体积差不多,但svt-av1远远比h265快多了 以上参数压制172MB的片子,压了3次,结果花了13小时,这有些得不偿失了,与其用于压制3T的视频,3T所需的时间开销和电费够赚钱买一块8T的机械硬盘了 SVT-AV1代码: <codeprism> ab-av1 auto-encode -i input.mp4 --preset 2 --svt tune=0 --svt film-grain=4 --svt film-grain-denoise=0 --pix-format yuv420p10le --min-vmaf 93 --max-crf 55 --min-crf 18 # Searching 00:41:51 #################################################################### (crf 36, VMAF 93.49, size 32%) # Encoding 00:35:18 ################################################################################# (3.4 fps, eta 0s)Encoded 77.63 MiB (45%) ab-av1 auto-encode -i input.mp4 --preset 4 --svt tune=0 --svt film-grain=4 --svt film-grain-denoise=0 --pix-format yuv420p10le --min-vmaf 93 --max-crf 55 --min-crf 18 # Searching 00:17:34 #################################################################### (crf 34, VMAF 93.23, size 33%) # Encoding 00:10:59 ################################################################################## (11 fps, eta 0s)Encoded 75.43 MiB (44%) # --keyint 参数似乎没必要,如果用于网络服务提供视频,keyint是必要的,相关文档:https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Parameters.md # enable-variance-boost=1也没啥必要,加了会增大文件体积,适用于高对比度、低对比的恐怖电影(镜头黑糊糊一团的类型,强调暗对比) </codeprism> preset 2将开启svt-av1所有的特性,preset 4是业余爱好者可以接受的程度,相关文档,耗时1小时多,有点慢了 preset 4搜索最佳crf耗时17分,体积为源文件的44%,编码只消耗了10分钟,以肉眼观察h265和svt-av1的差别,好吧,肉眼看不出区别 How to compress video? source: https://www.bilibili.com/video/BV1sL411x7ix <code> ↓示例:用x265转码,CRF模式,slow预设,音频转为2.0声道128kbps ffmpeg -i video.mp4 -c:v libx265 -crf 22 -preset slow -c:a aac -ac 2 -b:a 128k output.mp4 ↓示例:用x265转码,ABR模式,5000kbps码率,并复制音频轨道 ffmpeg -i video.mp4 -c:v libx265 -b:v 5000k -c:a copy output.mp4 </code> fps and scale <code> -vf fps=30,scale=1920:1080 </code> bitrate <code> -b:v 5000k </code> ffmpeg.txt Last modified: 2024/06/25 01:35by root1