Написание программы для создания видео презентаций

Автор работы: Пользователь скрыл имя, 18 Января 2012 в 21:16, курсовая работа

Описание

В данном проекте была сделана программа для создания AVI презентаций , для разработки которой мне потребовалось умение работать с программой Delphi 7, знание языка Delphi а конкретнее работа с компонентом AviWriter в среде Delphi.

Работа состоит из  1 файл

рамка.doc

— 1.56 Мб (Скачать документ)

 

        Введение

       …Еще  лет пятнадцать назад работа с  видео казалась невозможной экзотикой – теперь же едва ли не каждый второй покупатель компьютера не приминет уточнить: «… и чтобы с видео можно было работать!».

       Пришествию  видео способствовали сразу несколько  факторов. Во – первых, рост емкости жестких дисков и скорости процессоров. Не будем забывать, что даже с использование стандартных алгоритмов компрессии часовой фильм может занять на диске несколько гигабайт. А наложение внесенных при редактировании фильма изменений и спецэффектов(рендеринг) может занимать в несколько раз больше времени, чем фактическая продолжительность вашего «ролика» (и время это напрямую зависит от процессора).

       Второй  фактор – бум цифрового видео. В «аналоговую» эпоху видео можно  было ввести в компьютер только с помощью специальных плат – «оцифровщиков», которые стоили несколько сотен долларов. И следовательно, были не слишком доступны трудящимся массам. Сегодня дело другое: теперь видео поток вводиться в компьютер уже в цифровом виде, а для подключения цифровой видеокамеры к компьютеру нужен лишь недорогой контроллер FireWire. Переход на цифровую технику не только обеспечивает лучшее качество изображения, но и дарит пользователям множество новых возможностей.

       Наконец, третья причина революции «цифрового видео» - безусловно, появление новых алгоритмов сжатия(компрессии) видеопотока.

       Приступая к выполнению дипломного проекта, я поставил перед собой цели:

  • Написать программу для создания презентаций в формате .avi;
  • Добавить в программу возможность редактирования кадров;
  • Сделать программу наиболее простой в понимании для обычных пользователей;
  • Обеспечить возможность доступа к программе широкому кругу пользователей;
  • А так же более глубоко изучить работу с видео данными в среде разработки программного обеспечения Delphi 7.

 

1. Теоретическая часть

1.1 Сущность изучаемой  проблемы

       Презентация – это форма представления  информации как с помощью разнообразных  технических средств, так и без  них. Как правило, представляются новые проекты, товары, услуги, идеи и т.п. В целом задача презентации – сделать так, чтобы ее объект заинтересовал аудиторию.

       Для воспроизведения видео в программах написанных на Delphi существует специальный компонент мультимедийный проигрыватель (TMediaPlayer), он входит в стандартную поставку Delphi. Данный компонент включает в себя ряд возможностей Универсального проигрывателя Windows и предназначен для воспроизведения в рамках программы музыкальных и видеоклипов в различных форматах, поддерживаемых драйвером MCI (Media Control Interface). Управление воспроизведением осуществляется при помощи набора кнопок, напоминающих кнопки музыкальных центров.

        Рис 1. Компонент TMediaPlayer 

       Для работы с видео требуется технология DirectShow. В концепции DirectShow мультимедийные данные – это поток, который проходит через несколько обрабатывающих блоков. Блоки, обрабатывающие поток данных, передают данные по цепочке друг другу, таким образом можно представить себе несколько «устройств», каждое из которых выполняет какую-то обработку данных и передает их соседнему «устройству». Эти «устройства» или «блоки обработки» данных называют фильтрами. Цепочка, по которой передаются данные, содержит несколько фильтров, связанных определенным образом.

       В DirectShow имеются готовые фильтры, из которых, словно из детских кубиков, программист может выстроить ту или иную цепочку обработки данных, кроме того, конечно, можно создавать свои, нестандартные фильтры.

       Для создания такой «цепочки обработки» (которая, кстати, официально называется Filter Graph – «граф фильтров» или, в несколько вольном переводе – «схема соединения фильтров»), так вот для создания схемы соединения фильтров, предназначен самый базовый и лежащий в основе всех основ компонент DirectShow, под названием Filter Graph Manager – Менеджер Графа Фильтров. 

1.2 Обоснование выбора  программных средств  для выполнения  проекта

       Для создания своей программы создания AVI презентаций я использовал среду визуального программирования Delphi 7. Так как она наиболее проста в использовании. Во-первых, в Delphi 7 сразу после запуска создается готовая пустая форма. Во-вторых, для добавления нового объекта не нужно его описывать так как Delphi уже имеет ряд готовых объектов для добавления которых нужно просто перенести их с панели компонентов на любое свободное место формы. В третьих в Delphi встроен высокопроизводительный компилятор в машинный код, который обеспечивает производительность необходимую для построения приложений в архитектуре «клиент-сервер». И в четвертых с помощью Delphi очень легко разработать пользовательский интерфейс.

       Вид экрана после запуска Delphi несколько необычен. Вместо одного окна на экране появляются пять (такой вид интерфейса называется SDI):

  • Главное окно – Delphi 7;
  • Окно стартовой формы – Form1;
  • Окно редактора свойств объектов – Object Inspector;
  • Окно просмотра списка объектов – Object Tree View;
  • Окно редактора кода – Unit1.pas.

       Рис 2. Вид окна Delphi 7

       Окно  редактора кода почти полностью  закрыто окном стартовой формы.

       В главном окне находится меню команд, панели инструментов и палитра компонентов.

       Окно  стартовой формы (Form1) представляет собой заготовку главного окна разрабатываемого приложения.

       Окно  Object Inspector – окно редактора свойств объектов предназначено для редактирования значений свойств объектов. 
В окне редактора кода, которое моно увидеть, отодвинув в сторону окно формы, следует набирать текст программы. В начале работы над новым проектом это окно редактора кода содержит сформированный Delphi шаблон программы.

       Для работы с видео требуется технология DirectShow, а чтобы работать с ней необходимо иметь некоторые представление о технологии COM (Component Object Model) – хотя быть знатоком этой технологии вовсе не обязательно – просто достаточно знать, что для получения COM-интерфейса нужно вызвать QueryInterface; скачать заголовочные файлы DirectShow API, переведенные на Delphi в рамках проекта JEDI и либо поместить их в каталог Delphi\Lib либо добавить путь к каталогу, в котором они находятся в установках Delphi Library Path.

       Существует много способов работы с видео. Предназначенные для этого компоненты Delphi не очень помогут в решении задачи воспроизведения подобных файлов на поверхностях, поэтому нам придется воспользоваться нестандартными методами.

       Прежде  всего мы познакомимся с модулем vfw.pas, не входящим в набор стандартных модулей Delphi, но работающим со стандартной системной библиотекой avifil32.dll.

       Вместе  с Delphi поставляется набор справочных файлов системного программиста, корпорации Microsoft. С их помощью вы сможете  разобраться во всех тонкостях использования этого модуля.

       Поскольку модуль vfw.pas годится не для каждого видео, иногда используется еще один способ воспроизведения видео, основанный на использовании модуля DirectShow. Эта библиотека также входит в состав DirectX, включает набор функций для работы с мультимедиа.

       При воспроизведении файла с помощью  модуля VFW картинка получается искаженной, поэтому и приходится прибегать к иному способу. Отказаться от первого способа полностью не является возможным, поскольку DirectShow тоже годится не для любого файла. Другая причина, по которой мы не можем усердствовать в изучении упомянутого модуля, состоит в том, что он может применяться лишь с интерфейсами ранних версий.

       Так же для записи видео файлов не редко  используется готовый модуль AviMaker. Он содержит описание класса TAviMaker, выполняющего за нас всю изнурительную работу. Программисту остается только подготовить набор растров, составляющих последовательность кадров создаваемого фильма, и вызвать метод записи.

       В данной курсовой я буду использовать не менее легкий в понимании компонент AviWriter, разработанный Elliott Shevin. AviWriter - компонент, для создания элементарных видео файлов формата AVI.  AviWriter построит файл формата AVI, содержащий один поток любого числа элементов TBitmaps, плюс единственный WAV файл.

       Познакомившись  с различными способами воспроизведения  видеоданных, мы научимся создавать AVI-файлы.

 

        2. Практическая часть

       2.1 Описание интерфейса пользователя 

        После запуска программы появляется главное окно программы. Оно поделено на три части. В верхней части окна программы расположено главное меню программы. На левой стороне окна находится список кадров будущей презентации и настройки сохраняемого файла. Справа от списка кадров будущей презентации находятся кнопки управления порядком следования кадров в презентации и кнопка удаления ненужного файла. Посередине окна программы расположена панель вывода выбранного кадра, ниже этой панели находятся кнопки переключения кадров, кнопка предварительного просмотра, кнопка вызова редактора кадра и полоса прокрутки  кадров. На правой стороне окна отображается информация по выбранному кадру. 

        Для того чтобы добавить в презентацию  видео файл необходимо нажать на кнопку «Добавить AVI» расположенную чуть ниже списка кадров будущей презентации или пройти по ссылке Файл – Добавить AVI, после этого в появившемся диалоговом окне выбрать нужный видео файл и нажать на кнопку «Открыть». Программа начнет раскадровку видео файла, время раскадровки напрямую зависит от количество кадров в видео файле, поэтому если видео очень большой длинны это может занять очень много времени.

Рис 4. Диалоговое оно добавления видео файла

Рис 5. Диалоговое окно добавления изображения

       Для того чтобы добавить в проект изображения необходимо нажать на кнопку «Добавить картинку» расположенную чуть ниже списка кадров будущей презентации или пройти по ссылке Файл – Добавить картинку.

       В программе создания AVI презентаций также предусмотрено добавление в презентацию звуковых эффектов. Для этого необходимо подготовить файл формата WAV, выбрать звуковой файл для привязки к презентации можно нажав на кнопку «Добавить WAV» или пройдя по ссылке Файл – Добавить WAV. Следует также помнить, что нельзя добавить отдельный звук для каждого кадра, звуковая дорожка привязывается по длине готовой презентации. Если звуковой файл длиннее готовой презентации то остаток звукового файла просто отбрасывается, поэтому это необходимо учитывать при подготовке звукового файла для презентации.

Рис 6. Диалоговое окно добавления звуковой дорожки

       Так же в программе реализованы возможности  редактирования графических изображений. Для того чтобы вызвать окно редактора изображений необходимо нажать на кнопку «Редактировать» расположенную ниже панели вывода выбранного файла, или пройти по ссылке Правка – Редактировать. После этого на экране появится окно редактирования изображений. Визуально его можно поделить на две части слева панель вывода редактируемого изображения, а справа инструменты рисования и кнопка «сохранить». По правой и нижней части панели вывода редактируемого изображения расположены вертикальная и горизонтальная полосы прокрутки соответственно.

Рис 7. Окно редактора изображении

       2.2. Разработка алгоритма решения задачи

       Создание  AVI файла происходит при помощи нестандартного для Delphi  компонента AVI WRITER, разработанный Elliott Shevin взявшего большую часть кода у Anders Melander.

       AviWriter - компонент, для создания элементарных видео файлов формата AVI.

       AviWriter построит файл формата AVI, содержащий  один поток любого числа элементов TBitmaps, плюс единственный WAV файл.

       Свойства  компонента AviWriter:

  • Растровые изображения: TList указателей на объекты TBitmap, которые становятся кадрами видео потока формата AVI. Компонент распределяет и освобождает TList. Порядком следования объектов TBitmap можно при помощи TList. Для создания видео файла требуется как минимум одно растровое изображение.
  • Высота, Ширина: Размерности видео формата AVI, измеряется в пикселях.
  • FrameTime: Продолжительность каждого видео кадра, в миллисекундах.
  • Растяжение: Если значение true, каждый TBitmap в списке Bitmaps будет подогнан по размерам, определенным в Высоте и Ширине. Если false, для каждого TBitmap будет скопирован его верхний левый угол без растяжения.
  • Имя файла: название файла формата AVI.
  • WAVFileName: Название файла WAV, который станет аудио потоком для файла формата AVI. Это дополнительное свойство, звуковой поток добавляется по желанию.

Информация о работе Написание программы для создания видео презентаций