deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 1486|回复: 2

关于LosslessCut切割不精准的解决

[复制链接]

8

主题

100

帖子

602

积分

高级丹师

Rank: 5Rank: 5

积分
602
 楼主| 发表于 2023-2-14 14:21:37 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
本帖最后由 zzyzfx110 于 2023-2-14 18:01 编辑

LosslessCut是个开源无损的切割软件
站内下载

http://dfldata.xyz/forum.php?mod=viewthread&tid=12211

(github开源免费但是下载速度慢,推荐大家直接下站内搬运版)

但是不管是用关键帧切割或者普通切割都有多剪或少剪的部分
这是一个完美主义者所不能忍的


于是我想到了直接调用ffmpeg无损剪文件,这样剪的不依赖软件,而且剪出来更精确更无损

losslesscut也是调用ffmpeg的,其实所有的剪辑转码软件底层都是利用ffmpeg
不过同样有个问题,经测试直接用ffmpeg剪同样会在结尾中多剪240ms

不过这个问题很好解决,直接在末尾时间戳上减掉240ms就可以了
但是当一个视频有好几段要剪,一个一个改这个工作量很大了
不过Lossless Cut提供了导出时间戳功能
可以根据你剪的片段把你所有剪过的精确时间点全部导出。
利用这个文件,我就可以批量处理导出的时间戳,让他们末尾自动全部减去240ms,然后再用ffmpeg批量无损剪,齐活,问题解决~
于是我用Python写了个代码,该代码通过保存的Lossless Cut时间戳文件每行末尾自动减去240ms
然后存成ffmpeg的命令行最后调用ffmpeg来精确无损的剪文件

如果以上听不懂,我就提供一下完美剪辑的步骤吧

重命名MP4文件为1.mp4放在D盘的根目录下
(会改代码的请无视这个要求)
用LosslessCut剪它,精确到毫秒,这一步就不详细讲了
QQ图片20230214135836.png
之后导出时间戳
无标题.jpg
选tsv txt那个选项,将他保存至D:\1.txt下
(同样会改代码的请无视这个要求)

然后运行后面我给的代码文件,这边我就提供代码,
怎么运行就是用python运行呗,bat懒得写,有好心人可以回帖帮我完善这个教程也可以的。
写个Bat很简单,但我就是懒....

该代码会自动将LosslessCut导出的时间戳每个末尾减去240ms
同时加入用ffmpeg剪辑视频的代码,整理为Cut.bat,并保存在D:\的根目录下
(同样会改代码的请无视这个要求)

之后,把ffmpeg.exe拷贝到D:\根目录下,运行cut.bat 就可以了
运行之后,D盘就会多cut1.MP4    cut2.mp4   cut3.mp4 等等等等完美剪完的片段
齐活!

获取代码和ffmpeg楼下,收个辛苦钱把。
程序有BUG,要的私信
程序菜鸟,大神勿喷,虚心向各位大神请教。








回复

使用道具 举报

33

主题

1081

帖子

7247

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
7247
发表于 2023-2-15 07:18:04 | 显示全部楼层
这个软件非常好用,缺点就是切不准,感觉不是末尾240ms的错误,开头结尾都不准,有时提前有时延后。Movavi切的分毫不差,但是导出的文件容量太大
回复 支持 反对

使用道具 举报

8

主题

100

帖子

602

积分

高级丹师

Rank: 5Rank: 5

积分
602
 楼主| 发表于 2023-2-15 07:52:51 | 显示全部楼层
haiou_f 发表于 2023-2-15 07:18
这个软件非常好用,缺点就是切不准,感觉不是末尾240ms的错误,开头结尾都不准,有时提前有时延后。Movavi ...

仔细看,我后来直接用ffmpeg切的,lc只负责时间戳,不参与裁切。ffmpeg开头是准的,结尾不准。
回复 支持 反对

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2024-9-23 04:30 , Processed in 0.095758 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表