我建议使用命令行和ffmpeg,如下所示:
ffmpeg -ss
start_time -i
input_file .ext -t
持续时间 -vcodec copy -acodec copy
output_file .ext
- .ext必须是受支持的视频类型,并且在两种情况下都相同,请注意名称和 .ext 之间不应有空格,只有在上面才能使粗体和斜体起作用。
-ss
应该在输入文件之前,这允许选择开始时间之前的最后一个关键帧,并且必须在之前-t
- start_time和duration都可以是秒数、分钟:秒、小时:分钟:秒,并且 分钟和秒都限制为任何冒号格式的 2 位数字,并且任何秒都可以附加 .milliseconds。
-vcodec copy -acodec copy
通知 ffmpeg 您想要完全相同的视频和音频编码,即没有质量损失。
另请注意,由于 ffmpeg 在所谓的管道中工作,因此大多数选项的顺序非常重要,因此如果您的输出文件名出现在您的某些选项之前,它们将被假定为管道中下一阶段的选项,因此将不影响您的输出图像。这样做是为了让您可以在单个命令行上指定一个输入文件和几个具有不同选项的输出文件,例如,您可以生成一系列 10 秒的剪辑,每 5 分钟间隔一次,准备重新组合它们。
这个解决方案是:
- 免费/免费
- 开源
- 除非您要求,否则质量不会改变
- 如果您需要,您可以更改格式、分辨率、顺序、添加静止帧等等。
- Windows、Linux 和 Mac
- 您确实需要找到拆分时间并手动记下它们,但这不应该是太多的延伸。
ffmpeg 有许多可用的 GUI 前端,并且许多程序没有提到它们真正所做的只是提供一个,但是为什么还要为这样的简单操作而烦恼。
适用于 OP 的示例命令:
ffmpeg -i OriginalVideo.flv -ss 1:00 -t 3:00 -vcodec copy -acodec copy OutputFile.flv
感谢 Sopalajo de Arrierez 花一些时间进行实验并发布对他们有用的东西。