Выкладываем видео с камеры в web с помощью open source
08.05.2008YouTube является весьма популярным веб-сервисом, который позволяет людям обмениваться видео контентом в Интернете. Хотя YouTube и другие веб-сервисы потокового видео удовлетворяют многим потребностям пользователей, но у вас может иметься основание для создания своего собственного сайта с потоковым видео. Возможно, Вам необходимо больше контроля каким именно образом ваше видео будет представлено.
Описывается техническое решение получения потокового видео с цифровой видеокамеры, обработки видео потока в формат для распределения, а для создания веб-сайта для пользователей.
Класс видеокамер описанных в этой статье, имеют две общие вещи. Во-первых, они сохраняют видео с использованием цифрового видео (DV) формат. Во-вторых, они используют IEEE-1394 интерфейс для связи с ПК. Если видеокамера удовлетворяет этим двум требованиям, то она должна быть совместима с решением описаным здесь.
В целях увеличения визуального качества записи, DV формат обеспечивает весьма ограниченное сжатие видеоданных. Как результат, файлы в формате DV, как правило, очень большого размера. Примерно 36Mb в секунду, DV может занять 1 Гб диска для четырех минут записи. Очевидно, DV не является хорошим выбором формата для размещения. Перед загрузкой нашего видео контента на сайт, мы сжимем его с помощью Vorbis для аудио и для видео используем Theora. Аудио-и видео-треки будут объеденены, используя формат Ogg.
Получение видео
Первый шаг заключается в том, чтобы получить видео поток с цифровой видеокамеры. Dvgrab это приложение, которое поможет нам. Установите ее на Fedora, используя команду:
$ sudo yum install dvgrab
Dvgrab утилита взаимодействует с цифровой видеокамерой через IEEE-1394 для записи с камеры видео поток на компьютер. Для копирования данных с камеры, поместите камеру в режим воспроизведения и используйте перемотку или или быстрый просмотр для позиционирования на начала нужного видео-сегмента. Подключите камеру к компьютеру через IEEE-1394 кабель. Запускаем начало передачи данных.
$ dvgrab --format raw --autosplit sample
После этой команды камера должна автоматически начать передавать данные.
Если камера имеет ЖК-панели, то на нем будет отображаться записываемый материал. Dvgrab записывает то, что проигрывается камерой. Опция autosplit заставит dvgrab выявлять отдельные записи и сохранить их в файлы вида sample-NUM.dv.
Редактирование и сжатие видео
После захвата видео на диск, оно уже готово для редактирования. Есть несколько бесплатных программ для редактирования видео. Одна из них
Pitivi написана на Python и использует GStreamer. Чтобы установить Pitivi (и некоторые необходимые GStreamer плагины), используйте команду
$ sudo yum install pitivi gstreamer-plugins-good.
После установки Pitivi , мы будем использовать его для кодирования нашей DV в формат Ogg. После запуска Pitivi, нажмите на кнопку Import clips. Выберите видеофайлы и нажмите кнопку Add, чтобы сделать их доступными в Pitivi.
После того как Вы выбрали все клипы, которые хотели, нажмите Close. Теперь вы должны увидеть свое видео в верхнем левом углу Pitivi как показано на Рисунке 2. Вы можете перетащить видео в timeline в нижней части окна. После этого окно должно выглядеть как показано на Рисуноке 3.
Теперь, когда мы собрали наши клипы, настало время для кодирования их в окончательное видео. Это можно сделать, выбрав File->Render. Появится новое окно. Нажмите на кнопку Choose File и введите имя файла, который вы собираетесь создать. Затем щелкните по Modify для выбора параметров video. Рисунок 4 показывает параметры, которые подходят для нашего сайта. Мы будем кодировать видео с разрешением 320x240, используя Ogg, Vorbis и Theora. Нажмите Ok, а затем Record.
В зависимости от продолжительности вашего видео, процесс кодирования может занять длительное время. Пока Вы ждете, скачаем и установим веб-сервер Apache с помощью команды yum install httpd. После того как обработка видео будет завершена, необходимо полученные файлы скопировать в /var/www/html. Назовем наш файл example.ogg.
Размещение видео
Cortado это Java апплет, способный играть с потоковое видео в веб-браузере. Апплет с открытым исходным кодом и поддерживается компанией Fluendo. Мы будем использовать Cortado для обеспечения кросс-платформенного способа проигрывания видео на нашем сайте. Cortado апплет может быть загружена с
Теперь, когда у нас есть видео и апплет Java установленный в /var/www/html, мы напишем небольшой HTML файл, который будет содержать ссылки на оба объекта. Ниже приводится простой index.html для нашего проекта, которые также должн быть помещен в /var/www/html:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>Test video>/title> </head> <body> <applet code="com.fluendo.player.Cortado.class" archive="cortado-ovt-stripped-0.2.2.jar" width="320" height="240"> <param name="url" value="http://www.example.com/example.ogg"/> <param name="keepAspect" value="true"/> <param name="video" value="true"/> <param name="audio" value="true"/> <param name="bufferSize" value="200"/> </applet> </body> </html>
Это HTML документ ссылается на Cortado Java апплет, который находится в том же каталоге. Апплет принимает несколько параметров, в первую очередь url и bufferSize. Url указывает на видео файл (должен быть прописан полный URL). Параметр bufferSize определяет размер клиентской буфера и должен быть увеличен, если видео не играт нормально из-за тормознутости сети. Подробное описание параметров Cortadoa находится в файле README, который идет с исходным кодом.
Все инструменты, необходимые для построения очень простой видео на сайте находятся сейчас у нас в руках. Настало время запустить веб-сервер Apache, выполните команду:
$ sudo /sbin/service httpd start
Чтобы быть уверенными, что каждый раз, когда сервер перезагружается наш веб-сервер запускается, выполните:
$ sudo /sbin/chkconfig httpd on
Загрузиет URL http://www.example.com/, если поддержка Java включена в браузере, то будет проигрываться видео файл. При запуске в Fedora, java-1.7.0-icedtea-plugin необходим для выполнения апплет Cortado.
Теперь вы готовы для записи, кодирования и шаринга видео на web с полным контролем над тем каким образом они будут представлены. Все используемое программное обеспечение, является полностью open source решением для потокового видео.
Источник: