我从命令行运行以下命令:
handbrakeCLI.exe -i SourceFile.mkv -o OutputFile.mkv --stop-at 120
根据CLI指南您可以提供 --stop-at 值作为秒数(这就是我想要的,停止将 120 秒编码到文件中)。
我的目的是从整部电影中快速创建一个高质量的视频剪辑,以测试其他编码过程。
但是,当我查看输出文件时,它是整部电影。有什么想法吗?
答案1
答案可以在 Handbrake 的帮助中找到:
handbrakeCLI.exe --help
正确的语法如下:
--stop-at <unit:#> Stop encoding at a given frame, duration (in seconds),
or pts (on a 90kHz clock)
例子:
handbrakeCLI.exe -i SourceFile.mkv -o OutputFile.mkv --stop-at duration:120
这将为您提供视频的前 120 秒
答案2
好吧,所以我决定用ffmpeg像这样:
ffmpeg -i SourceFile.mkv -ss 00:00:05 -t 00:02:30 -ac 2 -sn OutputFile.mkv
解释:
- ss :寻找开始,或“在此时间点开始我的编码”(hh:mm:ss)
- t:持续时间(hh:mm:ss)
- ac :音频通道,因为这部特定的电影在编码过程中传播音轨时遇到了问题
- sn :抑制字幕,因为 ffmpeg 对字幕轨道有抱怨
这完全符合我所寻找的内容。
答案3
截至 2015 年 4 月,我发现了以下情况,我不知道将来是否会改变:
--start-at duration:120 --stop-at duration:60
持续start-at
时间实际上是“从”某个观点.stop-at
持续时间真的长度(真正的持续时间)。所以这个词的duration
意思不同。上面那行的意思是:从 00:02:00 开始,持续 60 秒。所以一个快速记住它的方法是:start-at
是在某个点,stop-at
是长度。