还是在用 FaceFusion 的时候,有的视频会出现以下错误:
这个问题其实是视频格式有问题。因为很多视频的格式其实蛮复杂的,这就使得哪怕很多视频是相同格式(比如 mpeg 4),但是底层格式确不太一样。某些设置也会有所不同。
你可能会说我能拿播放器看啊。这是因为市面上的播放器由于测量了大量视频,兼容性很高,很多视频都能播放。比如说某些视频在苹果的播放器中会出现抽搐的情况,但是 VLC 就不会出现。
所以解决这种问题的方法很简单,找个靠谱的转码程序转一下就好了。比如 FFMPEG。
不过需要注意 FFMPEG 转码的时候不能选择拷贝模式,因为可能是编码的问题。
如果你不在意码率,直接使用最简单命令也可以:
ffmpeg -i in.mp4 out.mp4
如果你想获取原视频码率,那么可以使用ffprobe
来获取,下面这个命令会返回码率数字,如果你会写脚本,应该知道这样很简单就能用码率转码了。
bitrate=$(ffprobe -v quiet -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 <原视频>)
希望能帮到有需要的人~