有没有mp4视频无损裁剪软件?
6923 98
[1 楼] 一晴方觉夏深 [泡菜]
24-10-27 19:58
最近拍视频(mp4格式)遇到一个问题。
比如有的视频录制的时间太长,比如55分钟。而其中可能只有2分钟才是我想要永久保存的。如果直接保存这段40分钟的视频,占用的空间比较大(比如超过10GB)。这种情况经常都会遇到,因此积累下来浪费是空间非常可观。

有没有这样的视频裁剪软件,可以根据输入的起始时间、终止时间,裁剪出我所需的这段视频,且为无损——跟原视频分辨率、帧率、码率、色彩等等完全一样,再进行保存。这就能节约大量的空间。而且做到,比如给定的起止时间共计2分钟,裁剪出来的文件大小,跟原视频中2分钟所占用的空间完全相同。

请问有没有这样的软件?或者告知其他解决方法。

如果用pr或者fcp来裁剪,是不是也能达到这样的效果呢? —— 只要确保分辨率、帧率、码率、色彩与原片一致。

[99 楼] 00000 [陈年泡菜]
3-13 19:44
苹果手机里照片app就可以
[98 楼] 孔雀 [老坛泡菜]
1-16 22:38
Trompette 发表于 2025-01-16 22:37
因为原生 FFmpeg 也没有这个功能,所以 Smart Cut 不是 GUI 套壳组装命令行参数能做到的
不用说什么思路啊,干不了啊,我不干啊啥的
LosslessCut 是开源的,是不是 GUI 一看就明白
对啊,一看就明白。
[97 楼] Trompette [泡菜]
1-16 22:37
孔雀 发表于 2025-01-16 22:28
我肯定不干啊,这事儿不就是扩展下知识面,我连视频都不处理。只拍静态照片。
如果你觉得“我不干”=“这事儿不可能”,那我只能说到此为止了。

因为原生 FFmpeg 也没有这个功能,所以 Smart Cut 不是 GUI 套壳组装命令行参数能做到的

不用说什么思路啊,干不了啊,我不干啊啥的
LosslessCut 是开源的,是不是 GUI 一看就明白

[96 楼] 孔雀 [老坛泡菜]
1-16 22:28
Trompette 发表于 2025-01-16 22:23
如你所说,你来组装下命令参数试试?
我肯定不干啊,这事儿不就是扩展下知识面,我连视频都不处理。只拍静态照片。

如果你觉得“我不干”=“这事儿不可能”,那我只能说到此为止了。
[95 楼] Trompette [泡菜]
1-16 22:23
孔雀 发表于 2025-01-16 22:19
我在你回复的帖子里已经给出了用原生FFMPEG实现基于关键帧的无损切割的思路了。

如你所说,你来组装下命令参数试试?
[94 楼] 孔雀 [老坛泡菜]
1-16 22:19
Trompette 发表于 2025-01-16 21:37
原生 FFmpeg 都没有 Smart Cut,GUI 也不能凭空做
既然能做 Experimental 版,这部分就不是 GUI 了
我在你回复的帖子里已经给出了用原生FFMPEG实现基于关键帧的无损切割的思路了。
[93 楼] Trompette [泡菜]
1-16 21:37
孔雀 发表于 2025-01-16 19:08
我进入这个链接阅读理解了一下,感觉和我看软件描述的评估是一致的(下面是该功能描述的谷歌翻译):
该功能的关键在于关键帧定位。我理解,该应用使用ffmpeg根据用户输入位置定位最近的关键帧(stackoverflow),然后从关键帧进行切割(还是使用f...

原生 FFmpeg 都没有 Smart Cut,GUI 也不能凭空做
既然能做 Experimental 版,这部分就不是 GUI 了
[92 楼] 孔雀 [老坛泡菜]
1-16 19:08
Trompette 发表于 2025-01-16 11:43
你再仔细看看有关 Smart Cut 的部分就明白了 (你截图的倒数第三行蓝字)


我进入这个链接阅读理解了一下,感觉和我看软件描述的评估是一致的(下面是该功能描述的谷歌翻译):



该功能的关键在于关键帧定位。我理解,该应用使用ffmpeg根据用户输入位置定位最近的关键帧(stackoverflow),然后从关键帧进行切割(还是使用ffmpeg),以达成“无损切割”的效果。

同时,该应用参考了Smart Media Cutter开源的方案,作为“灵感来源(take inspiration from it)”。
[91 楼] Trompette [泡菜]
1-16 11:43
孔雀 发表于 2025-01-16 01:51
是这个么? github,com/mifi/lossless-cut


你再仔细看看有关 Smart Cut 的部分就明白了 (你截图的倒数第三行蓝字)
[90 楼] technician [泡菜]
1-16 09:31
苹果手机的相册就可以做到了,看不出编辑对画质的影响,或者剪映。电脑上格式工厂也行,就是有时有点小问题。
[89 楼] 臭手 [老坛泡菜]
1-16 08:37
Trompette 发表于 2025-01-15 19:32
话也不能说得太绝对
LosslessCut 的 Smart LossCut,原生 FFmeg 就没有
难为作者能想到这种需求

也可能不是作者想到的,这类开源软件都有个特点就是会广泛听取用户意见,而且会尽可能的修改完善,官方论坛上都有很多作者跟用户的直接交流帖子。
很多想法和点子是用户提出来的,作者能实现的就实现,没法实现的也会跟用户解释原因。比起商业软件那种反馈个BUG几年没下文的官方渠道要快捷高效得多。
[88 楼] 孔雀 [老坛泡菜]
1-16 01:51
Trompette 发表于 2025-01-15 19:32
话也不能说得太绝对
LosslessCut 的 Smart LossCut,原生 FFmeg 就没有
难为作者能想到这种需求


是这个么? github,com/mifi/lossless-cut

LosslessCut aims to be the ultimate cross platform FFmpeg GUI for extremely fast and lossless operations on video, audio, subtitle and
other related media files.



孔雀 编辑于 2025-01-16 01:53
[87 楼] Trompette [泡菜]
1-15 19:32
孔雀 发表于 2025-01-15 11:07
LosslessCut就是个ffmpeg的gui而已。
小软件全都是。包括安卓苹果win/linux/macos都是。帮你组装下命令参数而已。
就像小图片软件基本都是imagemagicky的gui命令组装器。

话也不能说得太绝对
LosslessCut 的 Smart LossCut,原生 FFmeg 就没有
难为作者能想到这种需求
[86 楼] 孔雀 [老坛泡菜]
1-15 11:07
Trompette 发表于 2025-01-04 18:59
我没用过 LosslessCut,没本事盲猜
和学习各种软件,解决奇怪问题的时间相比
FFmpeg 其实很省心省事的
你用 “FFmpeg -ss 开始秒数 -i 输入文件 -c copy 输出文件” 的格式试试
开始秒数放在最前面,让 FFmpeg...
LosslessCut就是个ffmpeg的gui而已。

小软件全都是。包括安卓苹果win/linux/macos都是。帮你组装下命令参数而已。

就像小图片软件基本都是imagemagicky的gui命令组装器。
[85 楼] 夫名 [泡菜]
1-15 11:03
5018L 发表于 2024-10-30 17:16
“无损”只是一个说法而已,剪辑再导出就一定重新编码。建议学习一些剪辑知识,选择合适的编码方式和码率导出视频,“和原来一样”不一定是合适的。。。。。

如果需要的片段是从一个关键帧开始的,重新编码不是必须的,其他人在本帖里说的比较多了,本质上就是直接复制视音频文件的那一部分视音频数据,重新做一个文件头,标注一下新的视音频文件的基本信息就可以了。如果需要的片段不是从一个关键帧开始,那么就要重新编码一小部分视音频数据了,直到遇到一个关键帧。
[84 楼] 臭手 [老坛泡菜]
1-11 21:03
含笑出刀 发表于 2025-01-11 17:57
按你给的地址下了一个试用,感觉确实不错
以前用格式工厂替代FFMPEG,大视频经常闪退

觉得好用就行
[83 楼] 含笑出刀 [资深泡菜]
1-11 17:57
臭手 发表于 2024-10-27 20:48
平时用LosslessCut对付这种情况,开源免费,号称是无损切割的,不过没有去验证过是不是有损。反正那么多用户没人骂应该就是无损吧。
精细的编辑不行,但是原文件原格式无损分割一下,还是挺快的。

按你给的地址下了一个试用,感觉确实不错
以前用格式工厂替代FFMPEG,大视频经常闪退
含笑出刀 编辑于 2025-01-11 17:57
[82 楼] 一晴方觉夏深 [泡菜]
1-5 00:47
Trompette 发表于 2025-01-04 18:59
我没用过 LosslessCut,没本事盲猜
和学习各种软件,解决奇怪问题的时间相比
FFmpeg 其实很省心省事的
你用 “FFmpeg -ss 开始秒数 -i 输入文件 -c copy 输出文件” 的格式试试
开始秒数放在最前面,让 FFmpeg...


貌似已经解决了,应该是有个选项没有勾选的原因。
[81 楼] windmind2006 [资深泡菜]
1-4 19:01
TunesKit Video Cutter
拿这个词组去搜。
[80 楼] Trompette [泡菜]
1-4 18:59
一晴方觉夏深 发表于 2025-01-04 13:25
再请教一个问题,我已经选择了从关键帧处进行切割,为什么还会出现黑屏?
以我对当今软件成熟度的理解,一个视频切割不应该会出现这样的情况呀。
是不是我的关键帧操作不当?如下图,我是点击“钥匙”来前后定位关键帧。

我没用过 LosslessCut,没本事盲猜

和学习各种软件,解决奇怪问题的时间相比
FFmpeg 其实很省心省事的

你用 “FFmpeg -ss 开始秒数 -i 输入文件 -c copy 输出文件” 的格式试试
开始秒数放在最前面,让 FFmpeg 自己找附近的关键帧切

如果还黑屏,那就是源视频或者 FFmpeg 的问题
如果好了,就说明 LosslessCut 有问题
Trompette 编辑于 2025-01-04 19:03
[79 楼] 一晴方觉夏深 [泡菜]
1-4 13:25
再请教一个问题,我已经选择了从关键帧处进行切割,为什么还会出现黑屏?
以我对当今软件成熟度的理解,一个视频切割不应该会出现这样的情况呀。

是不是我的关键帧操作不当?如下图,我是点击“钥匙”来前后定位关键帧。

[78 楼] Scott0902 [泡菜]
24-11-4 13:59

某些相机可以拍摄raw视频,或者视频编码采用ALL-I(全I帧),这种格式每一帧都是关键帧,可以从任意时间点无损剪辑。

借用网上一张示意图有助大家理解,上半部分是ALL-I编码(全关键帧),下半部分是常见的IPB编码(每个若干帧才有一个关键帧)。

[77 楼] 臭手 [老坛泡菜]
24-11-4 10:03
Trompette 发表于 2024-11-04 09:58
关键帧能独立解码生成图像,不依赖其他帧
非关键帧不能独立解码出图像,必须参考附近的关键帧和其他非关键帧联合解码才行

如果剪切点不是关键帧(剪掉了上一个关键帧),
那么剪切点后到下一个关键帧之间的所有非关键帧,都没法正确解码,实际大概会用黑信号填充


原来如此,学习了。
看来以前的理解是错误的,一直以为它就是个标记点呢。
确实有些视频切在关键帧之间的,开头部分会有一些不太顺畅或卡顿的,估计就是黑信号填充的原因吧。
[76 楼] Trompette [泡菜]
24-11-4 09:58
一晴方觉夏深 发表于 2024-11-03 22:20
您好!我再请教一下,在LossLessCut中关键帧是怎么定义和产生的?
关键帧是不是下图中这些白色的竖条位置对应的视频帧?
我没明白它具体有什么作用。比如在LossLessCut读取一个mp4视频,我预览该视频后,在时间线的A点和B点分别按I和O...

关键帧(I帧)是视频编码器(比如 x264,hevc ...)在编码时生成的
LosslessCut 或 FFmpeg (ffprobe工具)能判断哪些帧是关键帧,但不会去定义关键帧

关键帧能独立解码生成图像,不依赖其他帧
非关键帧不能独立解码出图像,必须参考附近的关键帧和其他非关键帧联合解码才行

如果剪切点不是关键帧(剪掉了上一个关键帧),
那么剪切点后到下一个关键帧之间的所有非关键帧,都没法正确解码,实际大概会用黑信号填充
[75 楼] 臭手 [老坛泡菜]
24-11-4 09:12
一晴方觉夏深 发表于 2024-11-03 22:20
您好!我再请教一下,在LossLessCut中关键帧是怎么定义和产生的?
关键帧是不是下图中这些白色的竖条位置对应的视频帧?
我没明白它具体有什么作用。比如在LossLessCut读取一个mp4视频,我预览该视频后,在时间线的A点和B点分别按I和O...

个人理解关键帧的作用应该是个标记或标识,在剪切视频过程中起一个定位点的作用。
楼上有兄弟回复说在切割时关键帧之前和之后重新编码之类的内容太高深,理解不了也不去管它,只说使用过程中的经验看,它应该就是一个标记点,方便你搜索、查询和剪切。

在LossLessCut的设置项里有光标移动、剪切操作都是可以按照关键帧来定位的,也就是你不用一点点拉视频按时间去找场景切换那个点,用快捷键就可以快速跳到上个场景切换点(默认的好像是Alt+方向)。剪切的时候也有按照关键帧切割的方式或者快捷键设定,同样也是可以不用去费心记时间起点终点,只要按照关键帧来回跳就行。
但是这玩意貌似并不太靠谱,关键帧的标记并不那么准确,不知道它的计算依据或者标准是什么,感觉上整个画面里的物体人物变化要达到某个百分比之后他才会判断为一个关键帧,如果是一个人或猫在画面里来回动,只要人或猫的画面占比达不到比例它就不会判定为关键帧,只会按照时间平均分配。除非场景大面积切换,例如从沙发上切换为地面或室外场景才会判断为关键帧切换了。所以实际使用中大部分场景的关键帧是没啥用的。
个人使用经验是自己指定AB点的方式应该优先于关键帧,你自己指定了AB点之后关键帧自然就不起作用了。

或者用67楼兄弟回复我的话来说,既然您不知道它是怎么用的,那基本就说明这功能对您没太大用,管不管它都行。
臭手 编辑于 2024-11-04 09:19
[74 楼] 一晴方觉夏深 [泡菜]
24-11-4 09:05
Scott0902 发表于 2024-11-04 08:06
截图中播放按钮左右两把钥匙就是前一个关键帧、后一个关键帧。


也就是说,什么是关键帧由这个软件自动进行判断?

如果我裁切的起止位置都不在关键帧上,有什么问题或不同吗?
软件如何判断关键帧?有何作用?
[73 楼] Scott0902 [泡菜]
24-11-4 08:06
一晴方觉夏深 发表于 2024-11-03 22:20
您好!我再请教一下,在LossLessCut中关键帧是怎么定义和产生的?
关键帧是不是下图中这些白色的竖条位置对应的视频帧?
我没明白它具体有什么作用。比如在LossLessCut读取一个mp4视频,我预览该视频后,在时间线的A点和B点分别按I和O...

截图中播放按钮左右两把钥匙就是前一个关键帧、后一个关键帧。
[72 楼] 一晴方觉夏深 [泡菜]
24-11-3 22:20
Trompette 发表于 2024-11-03 19:20
LosslessCut 的 KeyframeCut 模式,能实现在关键帧处截断,不需要手工指定
等同于 FFmpeg -ss 开始时间 -i 输入视频 。。。(-ss 参数前置有意义)
但这样截下的视频,会比你输入的长度更长(需要精确剪辑拼接会带来对...


您好!我再请教一下,在LossLessCut中关键帧是怎么定义和产生的?
关键帧是不是下图中这些白色的竖条位置对应的视频帧?

我没明白它具体有什么作用。比如在LossLessCut读取一个mp4视频,我预览该视频后,在时间线的A点和B点分别按I和O设置剪切的起止位置,导出的视频即是我所需的视频片段,这就满足了我的需求。
那么关键帧用在何处?



[71 楼] 一晴方觉夏深 [泡菜]
24-11-3 20:36
臭手 发表于 2024-11-03 18:04
前面回了一贴正在审核,也没法编辑。
想起来再补一句,楼上有兄弟说过,这玩意应该也就是套了个外壳的FFMPEG,帮你把想干的一些活儿的命令行整合起来,省得你再一个字母一个字母敲键盘了。
所以各项功能性能上如果想刨根问底的话,也许直接往FFMPEG那边找...


谢谢!我已经搞懂了怎么设置语言。
其他的我再慢慢研究研究。