Как я могу получить аппаратный снимок экрана?
-
02-07-2019 - |
Вопрос
В прошлом некоторые из моих проектов требовали от меня создания киноверсии полноэкранного Flash-приложения.Самый простой способ сделать это — сделать снимок экрана.Однако запись изображений с разрешением выше 1024x768 приводит к прерывистому видео, что неприемлемо.Я понимаю, что существуют аппаратные решения для захвата полноэкранного видео, но что это такое, мне узнать не удалось.Мой вывод должен масштабироваться до 1920x1080 и в результате получить несжатый файл AVI без прерывистости.
Решение
Различные профессиональные продукты поддерживают захват в формате Full HD:
http://www.decklink.com/products/hd/
Есть и другие.Захват полного несжатого цифрового или аналогового потока — довольно сложное требование.
-Адам
Другие советы
Если приложение Flash неинтерактивно, существует множество инструментов, которые могут выполнить захват не в реальном времени (но совершенно плавный и идеальный) либо в файл AVI, либо в серию PNG.
Если он интерактивный и вам абсолютно необходим захват в реальном времени, FRAPS действительно сможет выполнить эту работу, по крайней мере, в Vista, где обычно не так уж сложно манипулировать FRAPS для записи различных приложений, не относящихся к DirectShow, с использованием Aero в качестве графического слоя.
Если вы загрузите фильм в элемент управления Flash ActiveX, вы можете вызвать IViewObject::Draw
метод (или метод OleDraw
вспомогательная функция) на элементе управления, чтобы нарисовать его в DC по вашему выбору и пройти по каждому кадру анимации.Извлечь звук будет сложнее, но если вы создали анимацию самостоятельно, это не составит особых проблем.
Филлипс dvdr3575h и другие приставки могут быть самыми простыми.Однако я не верю, что они поддерживают ту резолюцию, которую вы ищете.
Если повезет, ваш графический адаптер уже имеет аналоговый видеовыход.Вы можете подключить DVD-рекордер и просто оцифровать видеосигнал на отдельном аппаратном блоке.
Однако это не даст вам 1920x1080.
Если вам действительно нужно получить снимки с разрешением выше, чем DVD, вам нужен профессиональный (и невероятный дорогое) оборудование для видеозахвата.
редактировать:
Кстати, если вы хотите снимать 1920x1080 в реальном цвете со скоростью 30 кадров в секунду без сжатия, вам нужно как-то хранить 237 мегабайт в секунду.Просто чтобы дать вам представление о том, с каким объемом данных вам приходится иметь дело...
Если вам не нужно щелкать по фильму, Flash CS3 поддерживает покадровый экспорт Flash-роликов (включая сценарии).
Откройте свою анимацию во Flash. Если у вас нет доступного файла .fla, создание простой оболочки, которая загружает ваш SWF, тоже должно работать.Затем перейдите «Файл» -> «Экспорт» -> «Экспортировать фильм» и выберите Quicktime.Установите различные сложные моменты по своему вкусу, и тогда Flash будет выполнять анимацию так быстро, как только сможет, избавляя вас от риска потери кадров и необходимости ждать захвата со скоростью 1 кадр в секунду.
http://rgb.com/Я уже рассматривал их продукт - очень высококачественное/дорогое, но идеальное видео, и это аппаратное решение, поэтому оно не требует интенсивной загрузки процессора на машине, на которой вы пытаетесь провести демонстрацию.