求问为何视频压缩后画面会变水泥浮雕?
dwing吧
全部回复
仅看楼主
level 4
adan1 楼主
录了个无损RGB游戏视频,然后用ffmpeg做高强度无损压缩,输出的视频咋一看是没问题的,但后来发现进度导航条那里会显示水泥浮雕,试着用小丸工具箱去随便压一遍,出来的视频画面就全是水泥浮雕了。。。
为了找出问题所在,测试了几种输入源和各preset,发现只要是经过ffmpeg的x264压缩(比ultrafast更高的等级),再丢给小丸去压,就会出现这种情况。如果加入fastdecode参数,那么导航条不会有问题,但再丢给小丸,输出的画面部分区域会有色彩异常。
测试播放器有potplayer和MPC-HC,均按照VCB的教程设置滤镜和色彩,应该跟这个无关吧?
这是我目前在用命令:
-hide_banner -i "game 2019-06-02 15-01-17-621.avi" -map 0:0 -map 0:1 -c:v libx264rgb -crf 0 -threads 2 -preset:veryslow -vsync passthrough -c:a copy -color_range 2 -y "Z:\game 2019-06-02 15-01-17-621.avi"
2019年06月14日 16点06分 1
level 4
adan1 楼主
暂未确认是ffmpeg的问题,还是小丸的问题。
2019年06月14日 16点06分 2
吧务
level 14
发sample[阴险]
2019年06月14日 18点06分 3
level 4
adan1 楼主
补充一下版本信息
ffmpeg-4.1.3-win64-shared
小丸工具箱r236
Potplayer17_17508_x64
MPC-HC.1.8.6.x64
2019年06月15日 03点06分 5
sample被度熊吃了[阴险]
2019年06月15日 03点06分
@Mr-Z♂ 没有啊,我能打开链接。
2019年06月15日 03点06分
@Mr-Z♂ s/1OKZ6pRyUwzlqFD_rRDyy1A p6kn
2019年06月15日 03点06分
吧务
level 14
看了一下小丸压出来的东西,用mediainfo看显示CSP是RGB,用ffprobe看显示CSP是yuvj420p,问题很可能出在这里。
ffmpeg无损压出来的视频我播放起来并没有出现问题,也许是时间不够长?
几点建议:
1.再使用x264 veryslow压一遍无损不如一开始就用低CRF的有损,或者二压用有损。(why not, 可能是软件不支持?)
2.不使用小丸工具箱,直接用ffmpeg,大部分播放器都是基于ffmpeg的解码,直接让ffmpeg来转码应该会比较好。
2019年06月15日 04点06分 6
其实也就两点233
2019年06月15日 04点06分
@Mr-Z♂ 谢谢,我可以理解成小丸已经过时适应不了新标准?有办法修正?ffmpeg压出来的播放的确没问题,就是进度条显示的画面不正常(让人误以为视频是压坏了),我换成有损或YUV压缩也是一样的。我拿小丸做二压,纯碎是以前用惯了,学习用ffmpeg是最近的事,现在就是不知道哪个才是准确的。
2019年06月15日 05点06分
@adan1 用ffmpeg的bitstream filter可以修正。。。不过既然如此。。。为什么不直接用ffmpeg呢[阴险]
2019年06月15日 06点06分
@adan1 虽然我也没做出什么多厉害的GUI,而且小丸的作者也是付出了挺多的心血……感觉有点不好意思说,但确实,它好久没更新了。。。
2019年06月15日 06点06分
吧务
level 14
用EVR反倒比madVR能正常播放。。。可能对于这种元数据标注错误的流,简单粗暴才是更好的手段吧。
ultrafast lossless + 小丸的那段是没有问题(虽然我出现的问题不是浮雕效果而是画面变绿)。
veryslow lossless + 小丸的那段却还是花屏,猜测不只是标注错误,视频数据本身就不对了。
之后用AVS + ffms2 (v2.23.1, 最新版),发现ultrafast的那段可以正常读取,veryslow的读取花屏。
之后为了验证我又自己压了一个veryslow lossless,还是一样无法正常读取。
应该就是这样了,小丸默认用ffms2作为源滤镜 (没小丸,不能确定) ,所以veryslow解码错误 (应该与cabac、deblock、psy等在ultrafast里面被关掉的功能有关) ,而解码
正确的
ultrafast,却标注错误。
至于进度条不正常,我这里是一切正常的。。。你截图看一下?
2019年06月15日 06点06分 7
不过关闭了cabac、deblock、psy的veryslow……也挺惨的,所以二压lossless没必要啊[阴险]
2019年06月15日 06点06分
@Mr-Z♂ 经过测试实际上是cabac和subme这两个功能影响了解码,不过这两个功能关掉之后veryslow的压缩率也变得挺惨的[阴险]
2019年06月15日 07点06分
@Mr-Z♂ 压ultrafast以上的解码占用CPU更多,画面尺寸更大就直接爆CPU了。不得不用fastdecode缓解压力呀。
2019年06月15日 07点06分
@adan1 如果你最终的结果是要有损压制的,那二压无损的意义我有点不明白
2019年06月15日 07点06分
level 4
adan1 楼主
veryslow
ultrafast
2019年06月15日 07点06分 8
level 1
看了一下只有veryslow 小丸的有问题,其它都正常的
2019年06月15日 08点06分 9
然后我换了mpc,发现ffmpeg的veryslow也有问题
2019年06月15日 08点06分
@深山由紀子 第四、五个都有问题,其中第四个是进度条,第五个是画面+进度条。其余的正常。
2019年06月15日 08点06分
level 1
然后我又试试用ffmpeg压veryslow并没问题
2019年06月15日 08点06分 10
也就是说你的ffmpeg设置,或版本有问题
2019年06月15日 08点06分
@深山由紀子 再拿去给小丸压呢?
2019年06月15日 08点06分
不是veryslow的问题,是ffms2对x264rgb的解码有问题 (avs版有问题,vs版没问题)[阴险]
2019年06月15日 08点06分
我怀疑没人认真看我的帖子[阴险]太长不看吗[阴险]
2019年06月15日 09点06分
level 1
用RGB并没问题
2019年06月15日 09点06分 11
level 1
2019年06月15日 09点06分 12
楼主用的PotPlayer看起来是比较旧的版本,至少是这个皮肤改版之前的[阴险]
2019年06月15日 10点06分
其实这些都没问题,有问题的是某些解码器对于这种非主流格式的解码能力弱[阴险]
2019年06月15日 10点06分
然后能被正常解码的那些,却被小丸在封装的时候搞错了色彩空间[阴险](所以问题出在小丸[阴险]
2019年06月15日 10点06分
@Mr-Z♂ 但是他压的rgb的确出问题了。。应该跟播放器无关,对比一下压制参数完全一致(除了8x8dct=0)应该跟这个无关。。是否可以猜测他的ffmpeg版本问题?
2019年06月15日 10点06分
吧务
level 14
我来理清一下思路吧[阴险]
一、楼主使用FFmpeg二次无损压制的两个文件都没有问题
二、出问题的是
旧版FFmpeg的解码

也就是楼主使用的旧版PotPlayer
、两年多没更新的FFMS2
。应该是其对于非主流格式如RGB、YUV444P10的支持不够
,在解码带某些特性(CABAC、SUBME)的此种流的时候会出现错误。推测楼主的PotPlayer改了LAV解码,不过由于PotPlayer在显示进度条缩略图的时候仍然会使用内置FFmpeg解码器
,所以解码出错。小丸工具箱的默认源滤镜可能是FFMS2
,所以也出现了错误,而且不同于元数据标注
的错误,这样的错误是无法修复的。
三、由于x264的Ultrafast预设不使用CABAC和SUBME,所以当其在PotPlayer的进度条缩略图中显示、在被小丸工具箱所使用的源滤镜解码的时候是没有问题
的。
四、但是那些理论上没有问题的被小丸工具箱压制出来的视频,因为小丸工具箱错误地对其进行标注
(主要是Matrix)
,导致madVR渲染器按照错误的标注信息
进行渲染,故播放错误。反而EVR可能根本不管元数据,直接一股脑用了BT.709的Matrix,倒是不会出现这个问题。
五、标注错误的视频可以使用 ffmpeg -i xxx -c copy -bsf:v h264_metadata=matrix_coefficients=1 xxx_out 这样的命令行来修正。
六、原始的文件可能就是用的Ultrafast预设,因为文件大小差不多,而且也没有出现解码问题。
七、我认为楼主的解决方案主要是:升级自己的PotPlayer、改用
新版
FFmpeg代替小丸工具箱。
(不知道以上发言是否符合人类的语言习惯。
(可能又要被太长不看了。
2019年06月15日 10点06分 13
写太久了没看见楼上楼主的回复[阴险]竟然是较新版 (其实也不是最新版) 的PotPlayer[阴险]所以要么是我的推测有误,要么是FFmpeg直到今年才修复这个问题,要么是PotPlayer没有更新FFmpeg[阴险]
2019年06月15日 10点06分
后面一大段都是红字是沙雕百度的锅、我只划重点的[阴险]
2019年06月15日 10点06分
@Mr-Z♂ 就是他的ffmpeg版本问题,去官方下最新版就行,想要图形化界面可以找那些可以外挂加载exe的就完事[滑稽] ,跟他播放器无关
2019年06月15日 10点06分
@深山由紀子 果然我的话语不符合人类语言习惯吗[不高兴]
2019年06月15日 10点06分
1