Javascript-форум (https://javascript.ru/forum/)
-   Flash (https://javascript.ru/forum/flash-actionscript-program/)
-   -   Как получить длину видео (https://javascript.ru/forum/flash-actionscript-program/38903-kak-poluchit-dlinu-video.html)

Джэксон 07.06.2013 10:31

Как получить длину видео
 
Здравствуйте! Передо мной стоит задача сделать видео проигрыватель. Уже всё почти готово, но я не знаю как найти длину видео. Весь интернет обрыл - нет ничего конкретного. На адобовском сайте посмотрел, но те функции у меня не пошли. Посоветуйте пожалуйста, как можно найти длину видео.

Gozar 09.06.2013 18:15

// for an FLV file
length = Stream.length("streamName");

Джэксон 10.06.2013 16:12

Спасибо большое. Выручили! Сейчас попробую.

Джэксон 10.06.2013 16:20

Не работает. Можете написать мне под мой код? Переменная с NetStream у меня называется ns. Переменная класса Video у меня называется vid.

Gozar 10.06.2013 16:30

Этот код взят со страницы официальной документации Adobe.

Я уже давно не работаю с флешь. Флешь должен умереть. Из моей практики, решения лучше искать на официальном или специализарованном сайте. Здесь мало флешеров.

http://help.adobe.com/en_US/FlashMed...d117-7ffe.html

Возможно одним flash player-ом будет не обойтись и придется использовать php + ffmpeg для получения длинны видео и передачи этих данных в плеер.

В любом случае желаю терпения в решении этого вопроса. Либо есть встроенный метод у адоба, либо придется писать костыль.

Джэксон 10.06.2013 22:45

Я нашёл ответ на официальном сайте!!!:)
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
var ns_lenght:int; /*Переменная с длиной видео в секундах*/
function ns_onMetaData(item:Object):void {
ns_lenght=item.duration;
}

Tim 24.07.2013 08:22

$movie = new ffmpeg_movie(String path_to_media, boolean persistent)
$movie->getDuration()

http://www.opennet.ru/base/dev/ffmpeg_php.txt.html

Tim 23.08.2013 15:08

Код:

ffmpeg -i video.mp4
Вернёт информацию о видео файле. В том числе продолжительность (duration). Дальше парсим регуляркой '/Duration: (.*?),/. Но обычно passthru и shell_exec на хостинге запрещены, так что предыдущий вариант лучше.


Часовой пояс GMT +3, время: 06:04.