Разбор FLV-заголовка (длительности) удаленного файла в Java - PullRequest
5 голосов
/ 21 августа 2009

Я ищу пример синтаксического анализа заголовка FLV на время, особенно в Java. Учитывая URL-адрес FLV-файла, я хочу загрузить только заголовок и проанализировать продолжительность. У меня есть спецификация FLV, но я хочу пример. С Python или PHP тоже все будет в порядке, но Java предпочтительнее.

Ответы [ 2 ]

1 голос
/ 22 августа 2009

У вас есть проблемы с загрузкой или анализом заголовка? если он загружается, используйте этот код:

URL url = new URL(fileUrl);
InputStream dis = url.openStream();
byte[] header = new byte[HEADER_SIZE];
dis.read(header);

Вы можете заключить InputStream в DataInputStream, если хотите читать целые числа, а не байты.

После этого просто посмотрите на метод getInfo из PHP-FLV Info или прочитайте спецификацию.

0 голосов
/ 08 сентября 2010

Как алхимик утверждает в этот другой вопрос :

В проекте Red5 есть класс с именем 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
...