Node-Webkit 从 avi 文件路径获取视频时长

Node-Webkit Get video duration from avi file path

我正在寻找一种从 Node-Webkit 中的 avi 文件路径获取视频持续时间的方法,该方法不涉及使用 ffmpeg。

ffprobe.exe 是一个大文件 (30mb),当我唯一需要它时,将其全部保留似乎有点过分。

读取文件的视频属性,例如持续时间、比特率、分辨率等,需要进行一些解码。所以,是的,你需要 ffmpeg。

安装后,您可以使用 HTML5 音频和视频功能。

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video

有一个节点模块:avprober 这是命令行工具 avprobe 的包装器,它与 avconv

的安装捆绑在一起

它显示给定媒体文件的详细信息,如持续时间

... 或者,这里有一些 python 使用 hachoir 解析媒体头信息...它确实处理视频文件(AVI、mp4 等)以显示持续时间

import sys

from hachoir_core.cmd_line import unicodeFilename
from hachoir_core.i18n import getTerminalCharset
from hachoir_metadata import extractMetadata
from hachoir_parser import createParser


filename = sys.argv[1]
charset = getTerminalCharset()
filename, real_filename = unicodeFilename(filename, charset), filename
parser = createParser(filename, real_filename=real_filename)
metadata = extractMetadata(parser)
print("Duration (hh:mm:ss.f): %s" % metadata.get('duration'))