Получив в своё распоряжение сей девайс и чуток поигравшись с ним захотелось чего-то бо́льшего нежели просто игры - например просмотр любого видео из домашней коллекции без необходимости синхронизироваться с iTunes. Программ такого рода оказалось довольно много - на любой вкус и цвет но, они все работают только под Windows или Mac OS X, печально - мне нужно чтобы работало в Ubuntu. Поискав ещё, удалось найти варианты с заявленной поддержкой Linux, «из коробки» они конечно же не запускаются.
В итоге получился интересный мануальчик (для (K)Ubuntu) по установке серверной части для программ Air Video и VLC Streamer.
Свой выбор я остановил на платной версии Air Video (есть и бесплатная но показывает в списке к просмотру не все файлы на компьютере) т.к. у неё более дружественный интерфейс и имеется одна немаловажная особенность - перемотка видео на любую точку (как ролики на YouTube), в VLC же видео можно смотреть и перематывать только в пределах обработанного участка. Собственно вот небольшая табличка сравнения:
Air Video
VLC Streamer
Цена
$2.99
$1.99
Ограничения бесплатной версии
Есть - отображает не все файлы на ПК
Нет, поддерживается за счёт рекламы iAd
Кодирование на лету
Есть, вывод сразу в поток
Есть, вывод в файл + передача в поток
Перемотка
Есть
Есть, только в пределах перекодированного фрагмента
Очередь перекодирования
Есть, вывод в отдельный файл m4v (можно скопировать или перенести в iTunes)
Есть, только подготовка для дальнейшего просмотра.
cd git clone git://git.videolan.org/x264 cd x264
./configure --enable-pic make sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \ awk -F'["]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
Установка FFmpeg
Качаем исходники, какую версию для Linux нужно скачать смотрим в этой теме. На данный момент актуальная версия сервера - Alpha6, для неё нужно скачать соответствующую версию ffmpeg
cd wget"http://www.inmethod.com/air-video/download/ffmpeg-for-2.4.5-beta6.tar.bz2" tar xjf ffmpeg-for-2.4.5-beta6.tar.bz2 cdffmpeg
./configure.orig.fixed --enable-gpl--enable-nonfree--enable-postproc \ --enable-pthreads--enable-libfaac--enable-libmp3lame--enable-libx264 \ --enable-libxvid--enable-x11grab--disable-shared--enable-static \ --disable-decoder=aac --enable-libvorbis--enable-libopenjpeg \ --enable-libtheora--enable-libfreetype--enable-version3 make sudo checkinstall --pkgname=ffmpeg--pkgversion="5:$(date +%Y%m%d%H%M)-av"--backup=no \ --deldoc=yes--fstrans=no --default hash x264 ffmpeg ffplay ffprobe
Если конфигурация прервётся с сообщением об отсутствующей библиотеке - просто доустановите её запустите кофигурацию повторно, во время тестов я устанавливал много различных/ненужных библиотек и не уверен что перечислил все необходимые.
USERNAME - пользователь который имеет доступ к медиа-файлам.
Теперь им можно управлять:
sudo start airvideo sudo stop airvideo
Также airvideo можно добавить в Avahi/Bonjour сервис чтобы устройства сами его обнаруживали. О том как настраивать Avahi можно почитать здесь, улучшенная версия - здесь.
Просто добавьте следующую конфигурацию к настройкам (у меня они например в /etc/avahi/services/multi.service):
Для VLC Streamer необходимо наличие плеера VLC с модулем access_output_livehttp, модуль есть пока что только в исходных кодах но возможно скоро появится и в новой версии, так что если Ваш вывод похож, то скорее всего шаг со сборкой VLC можно пропустить:
% vlc --list|grep livehttp
VLC media player 1.2.0-git Twoflower (revision 18dc994)
access_output_livehttp HTTP Live streaming output
Установка VLC
Удалим текущую, есть есть:
sudoapt-get remove vlc vlc-nox
Также нужно обновить x264 и ffmpeg - версия для Air Video тоже подходит (одним выстрелом двух зайцев).
Установим свежую версию VLC, т.к. флаги для конфигурации я решил позаимствовать из родной (ubuntu) версии, то и зависимости для сборки тоже можно взять из неё:
Теперь можно скопировать последнюю рабочую версию для Linux из этой темы и запустить:
cd wget"http://download.hobbyistsoftware.com/Download/desktop?file=VLCStreamer/VLCStreamer_0.1.3.tar.gz"-O VLCStreamer_0.1.3.tar.gz tar xzf VLCStreamer_0.1.3.tar.gz
./VLCStreamerClient