使用 VLC CLI,有没有办法播放播放列表中每个视频的最后 x 秒?
我知道:
--start-time=开始时间
The stream will start at this position (in seconds).
--stop-time=停止时间
The stream will stop at this position (in seconds).
--run-time=运行时间
The stream will run this duration (in seconds).
但是如果没有一些花哨的逻辑,这些都不是我想要的。
这是为了审查动作触发的视频,最后 15 秒通常是最有趣的,用于确定您是要观看还是保存整个视频。
如果你也
ffmpeg
安装了,可以使用下面的脚本。它很简单,不会处理边界情况,例如短于 15 秒的视频或有缺陷的文件(您必须扩展它)。但除此之外,它使用 VLC 播放文件的最后 15 秒:当然,您可以将其放入
for
循环中。简单的 bash 脚本编写能力就足以做到这一点(您应该明白)。我还没有找到从 VLC 检索视频文件长度的方法,所以我不得不使用
ffmpeg
.第二种可能性是直接处理播放列表。为此,您需要一个 XSLT 处理器,例如
xsltproc
(Linux/Ubuntu) 或 Saxon-HE(Linux/Windows):例如,假设您有一个名为 的 VLC 播放列表
play.xspf
。然后将此 XSLT-1.0 样式表(名为
playlist.xslt
)应用到播放列表:你可以这样做
或者
它的输出是一个
bash
脚本,该脚本将运行播放列表中每个文件的最后 15 秒,或者如果文件短于 15 秒则跳过该文件。如果您使用的是 Windows,只需删除该
#!/bin/bash
行(如有必要,将其余部分调整为批处理文件要求)。