nyaasi 发表于 2019-7-25 15:55:58

新人问一下工具剪辑(编码格式相关)的问题

已经开始练习很长剪辑了。我不是太喜欢直接大文件导入pr然后剪。
我的workflow是这样的:列剪辑表——用工具粗剪——导入pr
问题这里:目前用ffmpeg和mkvtoolnix剪出来视频都很不精确,飘好几秒都是有的,
所以1.如何调整ffmpeg参数以优化剪辑效果?
2.这种问题是否与源文件的编码格式有关呢?(网上看到关于关键帧的问题
3.能否解释一下为什么会出现时间轴错误的问题?
4.播放器时轴显示的是准确的吗?

Rikkano 发表于 2019-7-25 17:27:52

NoobNeo 发表于 2019-7-25 19:44:44

以个人经验先回答下你的问题:
1. ffmpeg -ss [] -i [] -t [] -vcode [] -avoid_negative_ts 1 [], 详细解释请查阅ffmpeg文档
2.与编码无关, 与关键帧有关
3.还是关键帧问题
4.播放器的进度条时间不精准
稍微说明下:
ffmpeg中的seeking属于就近关键帧截取, 如果给定的时间正好是关键帧, 直接截取, 不是的话就近原则截取, 我们给定的时间参数多数是属于过渡帧, 偏差不可避免, 如果截取点前后关键帧都较远, 偏差几秒也是会的.

七条天空 发表于 2019-7-25 20:56:24

本帖最后由 七条天空 于 2019-7-25 21:01 编辑

x264和x265编码器有个参数叫keyint,这个参数决定了一个GOP区间最大可以有多大,这个数值越高,允许的GOP区间越大,你截取出来的视频片段可能偏差就越大,因为你不能截取半个区间,就像你不能从一张一百中拿出五十一样。
PS:有的压制者喜欢把这个参数调到0,也就是没有限制,某些静态场景一拖动就是几十秒。
PSS:以前B站有很多不能调戏的进度条同理。

wzwenyuyu 发表于 2019-7-26 14:31:57

在视频里面,有个概念叫做关键帧/IDR帧(其实音频也有,不过没有视频那么明显)
对于视频的无损切割,只能沿着IDR帧进行,想在非IDR帧的位置进行切割,那必须进行重编码

nyaasi 发表于 2019-7-26 18:59:25

七条天空 发表于 2019-7-25 20:56
x264和x265编码器有个参数叫keyint,这个参数决定了一个GOP区间最大可以有多大,这个数值越高,允许的GOP区 ...

所以这个keyint是编码者设置的,如果我想要精剪只能重新编码了?还有我发现有的组不同集有的很准有的不准,难道同一部番这个编码选项不一样?这个keyint在圈里一般设置吗?

(那还不是要挑组啊晕

nyaasi 发表于 2019-7-26 19:04:09

Rikkano 发表于 2019-7-25 17:27
https://ffmpeg.org/ffmpeg.html

不是专门研究这个的,文档啃不动啊。不过还是谢谢了

七条天空 发表于 2019-7-26 22:18:47

本帖最后由 七条天空 于 2019-7-26 22:24 编辑

nyaasi 发表于 2019-7-26 18:59
所以这个keyint是编码者设置的,如果我想要精剪只能重新编码了?还有我发现有的组不同集有的很准有的不准 ...
你看我特意给把最大给加粗了,就是为了解释为什么有的准有的不准…… 如果你要切割的地方恰好是动态很高或者是转场的地方,这种地方编码器会自动给IDR帧,IDR帧多了切割就准了,但是如果你切的场景恰好是几乎静态的场面,那么keyint值会使得这个视频相对来说更准一些,假如不设置可能是30s一个IDR帧,设置之后会变成12s一个,但还是达不到精剪的程度的。

举个例子,24p的视频:
keyint=0时GOP区间为2s,2s,5s,30s,4s。
kyeint=360时GOP区间会变成2s,2s,5s,12s,12s,6s。
如果你剪到2s的区间,那么两个视频是一样准的,如果你剪到了30s的区间,那么第二个视频就会相对更准,但你也看到了,12s是在称不上准确。

页: [1]
查看完整版本: 新人问一下工具剪辑(编码格式相关)的问题