level 11
怎么设置 -SS -TO -C COPY 的始和终时间为关键帧,这就就不会剪切出一个不同步视频了
2022年04月09日 02点04分
1
level 11
以一个Frame rate : 25.000 FPS,keyint=250 / keyint_min=25 为例
口算得出每10秒为一关键帧,分三组测试:始整10秒,终整10秒,随机时间。
-ss 12:40 -to 15:01 -i w.mp4 -c copy b01.mp4
-ss 12:40 -to 15:05 -i w.mp4 -c copy b05.mp4
-ss 12:45 -to 15:00 -i w.mp4 -c copy b50.mp4
-ss 12:49 -to 15:00 -i w.mp4 -c copy b90.mp4
-ss 12:42 -to 15:01 -i w.mp4 -c copy c21.mp4
-ss 12:49 -to 15:09 -i w.mp4 -c copy c99.mp4
结果:
始整10秒 Duration = Source duration
除以外,都不等,最大显示相差9秒,即有不同步情况
25FPS,keyint=250 这个好口算,但如果手机拍的FPS29.856或以前的AVI29.999、电影的23.976,那就算死人的,特别在2小时以上的电影想剪切结束前部分。
2022年04月11日 05点04分
2
level 8
这样算不现实,最简单的方法就是用第三方软件(比如lossless cut),可以直接看到关键帧的位置
2022年04月11日 12点04分
4
level 11
今天试剪切一个Frame rate : 25.000 FPS,keyint=300 / keyint_min=25 的文件,居然SS和TO设置为12秒的倍数, 结果出来还是不同时长
2022年04月12日 23点04分
5
level 11
其实没有解决方法的。
只能找最接近的可接受的解决方法:无论是电脑Klite或手机MXPlayer,受到关键帧影响,不能随意拖到任意秒来开始播放。但会有一定的起始时间(即关键帧时间点),选-ss前和-to后的拖放起始的秒数。这样的话--c copy就基本上能做到同步了,出来的文件Duration与Source duration的偏差基本上一秒内甚至为0.
至于-ss在-i之前和之后对-c cop影响是不几乎不存在的。在-i后最多差1秒的读取时间。
2022年04月14日 03点04分
6
我是宁愿-i前也不愿-i后,宁愿cut前几秒留些余地给以后剪辑用。还有cut出来的片断用软解和硬解播时间长度会不同。
2022年04月14日 05点04分