命令行应用程序显示电影播放时间

命令行应用程序显示电影播放时间

在 OS X 上我可以使用哪些命令行应用程序来获取电影播放时间?我希望能够做这样的事情:

$ running_time matrix.avi
136 min

答案1

最多命令行编码工具可以提供此信息。添加一些 shell 脚本将输出修剪为仅包含持续时间的行。

添加更多内容以将该行处理为您想要的“xxx min”输出。具体需要什么取决于您使用的工具。(请参阅 mplayer 示例以获取建议。)获得这些后,您可以创建一个 shell 脚本或别名来运行该命令running_time

FFMpeg:

ffmpeg -i foo.avi
ffmpeg -i foo.avi 2>&1 | grep Duration

Mplayer/Mencoder(ID_LENGTH 以秒为单位):

mplayer -vo null -ao null -identify -frames 0 foo.avi
mplayer -vo null -ao null -identify -frames 0 foo.avi | grep ID_LENGTH

# ugly, but outputs "xx mins"
mplayer -identify -ao null -vo null -frames 0 foo.avi | grep ^ID_LENGTH= | cut -d = -f 2 | perl -lne 'print sprintf("%d mins", $_/60)'

转码(使用tcprobe工具):

tcprobe -i foo.avi
tcprobe -i foo.avi | grep duration

答案2

您可能需要看看以下工具:

相关内容