Снимаем скриншоты с Flash средствами PHP
Автор: Magir. Рубрика: Технические отступления Добавить комментарийТемы снятия скриншотов с Flash-роликов и игр я коснулся в предыдущем посте. Немного подумав я нашел одно решение – создаем страницу . Обычный Flash-ролик, но секрет кроется в исходном коде:
<?
ob_start();
?>
<html>
<body>
<object type="application/x-shockwave-flash" data=" http://dl.ziza.ru/other/022010/09/utro2/games/game1.swf" height="500" width="650"><br> <param name="movie" value="http://dl.ziza.ru/other/022010/09/utro2/games/game1.swf"><br> </object>
<?
ob_flush(); flush();
sleep(5);
?>
</body>
</html>
Суть в том, что флеш-ролик отдается сразу, а дальнейшая выдача страницы отстает на 5 секунд. Что мы делаем дальше – дальше мы обращаемся к адресу: , ждем пару минут и обращаемся к нему еще раз – в ответ уже получаем готовый скриншот первого кадра Flash-ролика.
Сервис 4all.lv, по сути, открывает указанный ему адрес в браузере FireFox, снимает скриншот и отдает пользователю. Зачем же нужна задержка в выдаче страницы? А всё очень просто – чтобы в скриншоте было не окно загрузки ролика, а его первый нормальный кадр. За эти 5 секунд ролик уже будет отображаться и загружаться, а скриншот с него снимут только когда страница будет загружена целиком.
Остается одна проблема – такая как на моем примере – для запуска игры нужно нажать кнопку после загрузки флеша целиком. Поэтому скриншот получился некрасивым. Но таких Flash-игр немного, обычно после загрузки появляется красивая картинка главного меню, которая вполне подходит!

Февраль 11th, 2010 at 01:13
[...] парсинга или делаются самостоятельно, по мною ранее описанному способу, жанр (он же раздел) выбирается в один клик с [...]