【发布时间】:2009-08-21 18:47:56
【问题描述】:
我正在寻找一个专门在 Java 中为持续时间解析 FLV 标头的示例。给定 FLV 文件的 URL,我只想下载标题并解析持续时间。我有 FLV 规范,但我想要一个例子。 Python 或 PHP 也可以,但首选 Java。
【问题讨论】:
我正在寻找一个专门在 Java 中为持续时间解析 FLV 标头的示例。给定 FLV 文件的 URL,我只想下载标题并解析持续时间。我有 FLV 规范,但我想要一个例子。 Python 或 PHP 也可以,但首选 Java。
【问题讨论】:
您在下载或解析标头时遇到问题吗?如果正在下载,请使用以下代码:
URL url = new URL(fileUrl);
InputStream dis = url.openStream();
byte[] header = new byte[HEADER_SIZE];
dis.read(header);
如果你想读取整数而不是字节,你可以用 DataInputStream 包装 InputStream。
之后只需查看 PHP-FLV Info 中的 getInfo 方法或阅读规范。
【讨论】:
DataInputStream 并致电readFully。
正如the-alchemist 在this other question 中所说:
Red5 project 有一个类叫做
FLVReader可以满足您的需求。 它已获得 LGPL 许可。
我试过了,效果很好。你需要这个库:
获取 FLV 视频时长就这么简单:
FLVReader flvReader = new FLVReader(...); // Can use a File or a ByteBuffer as input
long duration = flvReader.getDuration(); // Returns the duration in milliseconds
【讨论】: