ffmpeg吧 关注:1,288贴子:4,643
  • 24回复贴,共1

请教,降低ffmpeg与色彩空间有关参数后为何无法提高压缩比?

只看楼主收藏回复

首先我要说明,我不懂ffmpeg处理视频的过程,所以目前就是根据命令行在瞎用,目前一般情况下压缩效率还行,高于等于720p分辨率的压缩效率还行,比如本例中的视频 但肯定有很大改进空间。但360p分辨率压缩效率就差,居然还压缩比还无法超过B站用x264编码压缩的视频。
我想到有些视频不需要用很高的色彩,毕竟根据图片压缩经验从24位色彩降低到265色的话文件大小立即变小,当然我没在ffmpeg文档中找到很激进的色彩设置,所以降低色彩参数用的是bt470bg或m,但这样压缩后视频文件大小未被压缩,画面有一点点细微差异总之非特定情况下无法察觉。主要是围绕colorprim=bt470bg:transfer=bt470bg:colormatrix=bt470bg这仨参数,我分别在libx264 libx265编码器都试过,用colorspace滤镜也试过,都无法进一步压缩文件大小。
我在libx265-params里加入这些参数定义 colorprim=bt470bg:transfer=bt470bg:colormatrix=bt470bg 也能生效,但很奇怪用PotPlayer看属性 视频metadata的 colour_primaries_Original 和 colour_primaries参数成对出现,用ffprobe -v error -show_streams倒是看不出来异常,但是看文件属性中的压缩比 Bits/(Pixel*Frame) : 0.029 ,我理解这个值达到0.016附近会比较好。
另外,我也发现从metadata来看我的压缩过程不规范。
General
Unique ID : 17736959944534812119367205992777565793 (0xD5803A47184D2586A6B96A3AFE2C661)
Complete name : F:\导出\VID_20250131_194029装饰灯光color_bt470bg vorbis_scale0_compress7_voip_cutoff0.mkv
Format : Matroska
Format version : Version 4
File size : 62.0 MiB
Duration : 10 min 7 s
Overall bit rate mode : Variable
Overall bit rate : 856 kb/s
Frame rate : 29.417 FPS
Writing application : Lavf60.3.100
Writing library : Lavf60.3.100
ErrorDetectionType : Per level 1
COM.ANDROID.VERSION : 10
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main@L3.1@Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 10 min 7 s
Bit rate : 775 kb/s
Width : 720 pixels
Height : 1 280 pixels
Display aspect ratio : 0.562
Frame rate mode : Constant
Frame rate : 29.417 FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 0)
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.029
Stream size : 56.1 MiB (91%)
Title : VideoHandle
Writing library : x265 3.5+96-9c9ab68fc:[Windows][GCC 12.2.0][64 bit] 8bit+10bit+12bit
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
colour_primaries_Original : BT.601 PAL
Transfer characteristics : BT.709
transfer_characteristics_Origi : BT.470 System B/G
Matrix coefficients : BT.709
matrix_coefficients_Original : BT.470 System B/G
VENDOR_ID : [0][0][0][0]
Audio
ID : 2
Format : Vorbis
Format settings, Floor : 1
Codec ID : A_VORBIS
Duration : 10 min 7 s
Bit rate mode : Variable
Bit rate : 64.0 kb/s
Channel(s) : 2 channels
Sampling rate : 44.1 kHz
Compression mode : Lossy
Delay relative to video : -3 ms
Stream size : 4.63 MiB (7%)
Title : SoundHandle
Writing application : Lavc60.3.100
Writing library : libVorbis (Reducing Environment) (20200704 (Reducing Environment))
Language : English
Default : Yes
Forced : No
VENDOR_ID : [0][0][0][0]


IP属地:上海1楼2025-02-01 10:53回复
    360p得用rmvb压制呀,老强。 要用符合时代的东西。


    IP属地:浙江2楼2025-02-01 16:22
    收起回复
      要补充一下,如果把视频改成黑白片,肯定能明显缩小文件体积,但视频仍然需要彩色的,毕竟不是看报纸。但话说回来,即便把视频改成黑白片,其压缩比也没有想象中的翻好几倍,这说明问题没有解决,可能像科普说的那样YUV420本身彩色信息也不多主要是灰度信息。


      IP属地:上海4楼2025-02-02 02:35
      回复
        ffmpeg libx265三个提高压缩比的参数
        1.去掉重复帧 2.单线程 3.打开时域滤波


        IP属地:浙江5楼2025-02-04 18:52
        回复
          大哥呀,都知道YUV420了,难道不知道其代表的意思?明度信息4,色度信息2,这还是编码前的,编码后更小,然后您还在这个更小的信息占比下使劲压,其实你就是把色度信息丢了,也不见得会小多少……用x265软件压缩,级别placebo,crf模式质量27,声音编码用aac_he模式VBR 3,2小时视频,8核16线程估计可以干个三四天,出来的视频,质量我不敢说,但是大小我觉得您一定会满意的……


          IP属地:云南6楼2025-02-15 14:32
          收起回复