在Java中解析远程文件的FLV头信息(时长)
我想找一个用Java解析FLV文件头部的例子,特别是关于时长的部分。给定一个FLV文件的链接,我想只下载文件的头部,然后解析出时长。我有FLV的规范说明,但我想要一个具体的例子。如果有Python或PHP的例子也可以,但我更倾向于Java。
2 个回答
0
正如the-alchemist在另一个问题中提到的:
我试过了,效果很好。你需要以下这些库:
获取FLV视频时长其实很简单:
FLVReader flvReader = new FLVReader(...); // Can use a File or a ByteBuffer as input
long duration = flvReader.getDuration(); // Returns the duration in milliseconds
1
你在下载头部信息或者解析它的时候遇到问题了吗?如果是下载的问题,可以试试这个代码:
URL url = new URL(fileUrl);
InputStream dis = url.openStream();
byte[] header = new byte[HEADER_SIZE];
dis.read(header);
如果你想读取整数而不是字节,可以用DataInputStream来包装InputStream。
之后只需要查看一下PHP-FLV Info里的getInfo方法,或者看看相关的规范说明。