FFmpeg压制视频花屏的解决方法

哔哩哔哩   2023-08-07 04:48:30

省流版︰

FFmpeg preset veryslow有机会导致Profile和Level和原视频不一致

解决方法为手动设定和原视频同样的Profile和Level


【资料图】

-profile:v high -level:v

上面指令意思是设定profile为high,level为。这意味着它会遵守标准中的High profile和Level 的规范,以确保输出影片的兼容性和可用性。其中high和可以按你原视频作更改。

问题︰使用FFmpeg压制1440p视频出现片段花屏

尝试过的方法︰

1. 指令BUG?排除某些FFmpeg指令  ✘

2. 压制时爆内存?清空只开启FFmpeg压制  ✘

3. 播放器问题? PotPlayer和win10内建播放器仍会花屏  ✘

4. QuickCut的FFmpeg版本过旧BUG?下载最新版FFmpeg仍花屏  ✘

5. 碰巧运气不好?进行多次压制出来的花屏位置一模一样  ✘

6. 散热不好导致压制时出错?用风扇对着吹机箱,VRM温度降至一百度仍花屏  ✘

7. AMD CPU导致的BUG?不确定,但以后一定会买intel  ✘

端倪︰

1. 1440p压制至1080p没花屏  ✔

2. preset从very slow调整至slow和placebo时没花屏  ✔

解決方法︰

//从Bing中注意到Profile和Level问题

1. 调整至原视频相同设置[ High Level ],解决问题  ✔

压制花屏和正常差异图片︰

起因

//cpu 2700x,1440p视频

在一周前压制视频时发现某些片段会花屏,奇怪的是只是某些视频内会发生这样,绝大部分都是正常的。当时以为是参数问题,把参数移除剩[ c:v libx264 -preset veryslow ]仍会出现花屏。因为是出现花屏的视频少,所以也没在意了。

直至8月6号压制游戏片段再次出现花屏,而片段偏偏在角色放大招时出现,忍不了,想解决了。于是寻找解决方式,首先是参数移除剩[ c:v libx264 -preset veryslow ]仍会出现花屏;以为内存爆了导致压制花屏,只开FFmpeg压制同样会出现花屏;因为我用的是QuickCut,为了排除FFmpeg版本过旧导致的bug,也去github下载了最新版使用,结果仍是一样花屏。到了最后尝试用不同参数压制比对,终于发现了些端倪,preset 使用slow时没有花屏,而使用veryslow时花屏,于是再试placebo也没有花屏。还有压制为1080p也不会花屏。

难道跟压制设置的参数有关?也不知道怎解决好,虽然slow速度快但文件体积稍大,而veryslow更适合我长期保存视频,所以我不能放弃用veryslow压制,还要继续找出问题所在。

上网查过但多数跟花屏没关系或者不属性单纯压制视频的,只能靠自己了。

直至刚才(8月7号 两点多)Bing的回答让我注意到一个可能是导致花屏的原因,!因为我是1440p视频,所以我想会不会是这个导致带频不足的?

然后看了一下Profile和Level,我再让Bing给设定的指令,而我把当中的改成更适合的作压制。

哇,然后压制出来的视频没有花屏了,终于解决了,开心的。

后话︰

N卡录制是High Level

查看最近压制的视频竟然都是[ Format profile : High@L6 ](High Level 6)

用veryslow压制都是level 6,用slow和placebo是

看旧时的压制都是的,也不知怎回事,怎突然出bug使用了level 6来压制,奇怪。

虽然还是不懂为什么level是6时会出现花屏,但至少解决问题了。

Profile和Level检查︰

//原视频︰High Level

1. veryslow︰High Level 6

2. 最近用veryslow压制︰High Level 6

3. slow和placebo︰High Level

4. 压制为1080p(即使使用veryslow)︰High Level

5. 旧时用veryslow压制︰High Level