你这版本有点老@echo醉老仙,https://pan.baidu.com/s/1nxoNrWKCHfVC9xtVaL6VEw 提取码:4s9c
喵影工厂不香么
https://cway.top
@NowTime,其实有优化方法,只需要给截取部分中第一个关键帧之前的内容进行重编码就可以。后续部分可以直接拷贝。关键帧间隔通常不超过10秒,所以需要重编码的内容可以很少。
关键帧存储了完整的画面,所以第一个关键帧及其之后的帧,直到要截取的最后一帧为止,都不需要重编码。
这个思路如此简单,优化又如此大,我觉得ffmpeg是完全有可能已经实现了的。
其实仔细想一想就发现问题可以更简单。实际上,我们只需要对截取的第一帧进行重编码就可以。因为后续非关键帧存储的都是和前一帧相比的差异。而如果第一帧恰好是关键帧,就不需要重编码,直接截取即可。
所以如果第一帧不是关键帧,我们就简单的把它编码成关键帧不就可以了。后续非关键帧可以基于这个关键帧继续往后演化,不会遇到任何问题。
而把第一帧变成关键帧也非常简单,对我们来说,就是拖进度(往前找最近的关键帧)、播放(用后续非关键帧进行演化)、暂停(到达目标帧)、截图(把目标非关键帧变成关键帧)。ffmpeg之类的软件实现这种操作应该是轻而易举。
[聊天-网站建设_网页设计] a676774305:我现在只能等老虎帮忙下一步了。
@echo醉老仙,封装有问题。可以用格式工厂转换封装,比如选择转换为mp4,然后视频编码选Copy,音频编码选Copy。这样就不会发生转码,只是把视频流音频流重新打包一下,很快就可以完成。
这样转换后应该就可以正常显示时长了。如果还不行,尝试其他封装格式,比如FLV、MKV等。