Xine-plugin

Материал из RuVDRWiki

Перейти к: навигация, поиск

Содержание

Описание

Автор: Reinhard Nissl

Описание: VDR-Xine предназначен для использования VDR с бюджетными картами. В обычном случае необходима хотябы одна карта с MPEG2-декодером (DXR3-карта или FF-карта), где бюджетные DVB-карты используются как дополнение, для записи на жесткий диск (например нескольких каналов одновременно с разных транспондеров или спутников).

С плагином Xine возможно использование только одной бюджетной DVB карты в VDR имеющем в обязателном порядке более быстрый процессор, чем в системах с FF-картами, так как бюджетные карты не имеют встроенного MPEG2 декодера.

Как альтернатива имеется также Softdevice-plugin.


Изображения

Вывод через Kaffeine
Вывод через Kaffeine
Вывод через Xine-ui
Вывод через Xine-ui

Требования к железу

сдесь отображены толко несколько примеров :

CPU@MHz / RAM Grafikkarte Last Sonstiges
PIII@550 / 512 Matrox G550 mit vidix подёргивается катинка при отображении OSD
PIII@933 / 512 nVidia GForce MX 5200 ~ 50% Xine-lib и Xine-Ui скомпилированны самостоятельно; xv; непритормаживает и с OSD; Деинтерлейсинг 70% нагрузки
Athlon@800 / 512 ATI Radeon VE подёргивается катинка при высоком разрешении
PIII@700 / 256 ATI Radeon 7000 ~ 42% Xine через сеть; xv; нормально отображается при @1280x1024x24, Деинтерлейсинг ~60% нагрузки
P4@2800 / 512 Matrox G550 ~ 50% подёргивается катинка с OSD, Деинтерлейсинг размером окна
PII@400 / 256 NVIDIA Geforce 4 MX 480 XvmC катинка почти не дёргается , к сожалению нет OSD; xv: не отображается
PII@400 / 196 NVIDIA Geforce 4 MX 480 ~ 60% XvmC катинка почти не дёргается, Деинтерлейсинг возможен
Athlon@1800 / 512 NV Gf Ti 4200 ~ 10% xv-воспроизведение: нормальная картинка при DVB
AMD64@32bit, 1800 / 512 NV Gf 6600 (PEG) ~ 35% Xv, tvtime как предложено в инструкции . CPU работает на 1000 (Cool'n'Quiet). близко к идеалу
AMD Duron@1200 / 256 SIS740 (TV-Out) ~ 40% Xv, катинка не дёргается (только слегка при переключении)
P4 Celeron (Northwood) 3.0GHz / 256MB ATI Radeon 9200 ~ 20% "новая" Nova-T PCI, kernel 2.6.15, gxine: ruckelfrei, катинка не дёргается (только слегка при переключении)
AMD Athlon@1200 / 768MB GeForce4 MX 440 ~7% Xvmc, OSD не просвечивается, катинка не дёргается, ~20% с присвечивающимся OSD
AMD64@64bit, 3400@1000 / 2GB ATI Radeon 9600 XT 8% -
AMD X2 BE-2400, 2300@1000 / 2GB ATI Radeon 1250 onBoard ~15% opengl, Cool'n'Quiet, CPU 1000 MHz при PAL-сигнале. у HD CPU с 2300 MHz и ~60% нагрузки.
P4 3,14 GHz / 2 GB NVIDIA GeForce 7800 GS ~7% с Деинтерлейсингом, при активном OSD ~25% нагрузки
Pentium M 1,7 GHz / 2 GB GeForce FX 5200 ~3% XvMC с HW-BOB Деинтерлейсингом , при активном OSD ~8% нагрузки
VIA C3 Nehemiah 1 GHz VIA CLE266 + interner MPG-2-Dek. ~15% XvMC через X11 и Xine-плагин: идеально
E4300@1,8GHz / 1GB GeForce 8400 GS ~3% Linux 2.6.23 x86-64 (почти без дополнительных модулей) -> через X11 (xorg) и Xine-плагин: на 1080i (HDMI) -> жеский диск монтирован на сервере

Требования к программному обеспечению

  • xine-{lib,ui}, где наличие Xine-ui не совем обязательно, в нормальонм случае, каждый Frontend, стояший на Xine-lib, должен работать. (другие Frontends в этот момент не станут поддерживать --enable-vdr-keys , ./configure --help знает существенно больше)
  • альтернативно к xine-ui, можно применить oxine как Frontend.

Установка плагина

## зогрузка Source
cd $SOURCEDIR
wget http://home.vr-web.de/~rnissl/xine-lib-cvs-<VERSION>.tar.bz2
wget http://home.vr-web.de/~rnissl/xine-ui-cvs-<VERSION>.tar.bz2
wget http://home.vr-web.de/~rnissl/vdr-xine-<VERSION>.tgz

## распаковка Source
tar xvzf vdr-xine-<VERSION>.tgz -C $(pwd)/VDR/PLUGINS/src
tar jxvf xine-lib-cvs-<VERSION>.tar.bz2
tar jxvf xine-ui-cvs-<VERSION>.tar.bz2

## установка линка Symlinks
cd VDR/PLUGINS/src
ln -s xine-<VERSION> xine

## копирование "loops"
cd xine
mkdir -p /etc/vdr/plugins/xine
find . -name *.mpg -exec cp -v \{} /etc/vdr/plugins/xine \;

## линк для Player
ln -vs $(pwd)/xineplayer /usr/local/bin/xineplayer

## перевод xine-lib
cd ../../../../xine-lib
find $SOURCEDIR/VDR/ -name xine-lib.patch -exec patch -p1 -i \{} \;
./autogen.sh --prefix=/usr/local
make
make install
ldconfig

## перевод frontends
cd ../xine-ui
find $SOURCEDIR/VDR/ -name xine-ui.patch -exec patch -p1 -i \{} \;
./autogen.sh --prefix=/usr/local \
             --enable-vdr-keys
make
make install

Для 64-битных процессоров напимер AMD64 , надо изменить Makefile

- #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual
+ #CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual -fPIC

после этого перевести , как обычно:

cd $SOURCEDIR/VDR
make clean
make <OPTIONEN> all plugins

после запуска runvdr для X основанных :

xine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"

обойти все сообщения, можно также "minimal" через Framebuffer:

fbxine "vdr:/tmp/vdr-xine/stream#demux:mpeg_pes"

через сеть это называется:

xine "netvdr://host:port#demux:mpeg_pes"

(:порт при этом любой) при этом надо стартовать плагин с дополнительным параметром "-p" (смотри инструкцию), поэтому:

-P 'xine -r -p'


Опции

VDR_XINE_SET_VIDEO_WINDOW=1 für volle yaepg-plugin Unterstützung aktivieren


Конфигурация

В актуальной версии плагина находится плэйер, который может воспроизводить и другие форматы.

cp $SOURCEDIR/VDR/PLUGINS/src/mp3/examples/mplayer.sh.example /usr/local/bin/mplayer.sh

подогнать

- MPLAYER="mplayer"
+ MPLAYER="/usr/local/bin/xineplayer"

можно к этому добавить, что в данной стадии это работает только с Lirc, причём только в модусе mplayer-plugin TRADITIONAL .


Параметры

Существуют следующие параметры команд:

Параметр Описание
-i N instance number to append to FIFO directory
-q turn off debug messages on console
-r turn on remote (pressing keys in xine controls VDR)
-s switch to curses skin, while xine is disconnected

Параметры плагина могут быть переданы следующим образом.

vdr <VDR параметр> -P'xine <параметр>' <следующий VDR параметр>

Пример:

vdr -P'xine -r'

Sonstiges

Проблемы

  • В принципе также и выдача OSD с XVmC возможна, в единичных случаях это приводит некоторым затруднениям, которые можно обойти с помошью некоторых установок Xine [например disable exact alpha blending и активацией xvmc_nvidia_colorfix ]

SuSE спецификация

Оригинальный Xine пакет от SuSE нужно удалить, т.к. для наших потребностей он не подходит.

echo xine-ui xine-lib xine-devel|xargs rpm -e --nodeps

в настоящей стадии плагин днлжен работать почти с каждым дистром одинаково.

С SuSe от версии 9.3 , Xine-Player уже готов к испльзованию с VDR. Только стрим не находится в /tmp/vdr-xine. Недостатком готового PRM пакета , является высокая нагрузка на процессор. На PIII@933 VDR работал только от части (дёргание картинки при ОСД). Компиляция Xine-Lib, Xine-UI и VDR, приводит к более лучшим результатам - до 40-50% меньшую нагрузку на процессор (xv в качестве видеотрайбера, NVidia GForce FX5200).

Debian Sarge

Дебиан имеет слишком старую версию automake(1.4). Её надо обновить минимум до 1.5 . Я использую 1.9 .

так что

apt-get install automake1.9

последовало от

update-alternatives --config automake

после этого должно заработать.

Советы

Mplayer

Вместо xineplayers можно использовать также mplayer (даже в SLAVE-модусе). Здесь минимальный mplayer.sh (для использовании под X11 и Slave):

#!/bin/sh

CMDLINE="mplayer -fs -vo xv -ao oss -cache 4096 -slave -nolirc -quiet"
DISPLAY=:0.0 $CMDLINE "$1" 2>&1 | logger
exit

Старт Xine вместе с ВДР

В случае если Xine должно стартовать вместе ВДР, нужно до компилляции плагина добавить в xine.c исходные коды:

bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
  return false;
+ pid_t cpid;
+ switch (cpid = fork()){
+ case 0: SystemExec("xine -f --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+ }
  return true;
}

Вырабатывание стоящей картинки

cat <BILD>.jpg \
    | jpegtopnm \
    | pnmscale -xsize=720 -ysize=576 \
    | ppmtoppm \
    | ppmtoy4m -F 25:1 -A 4:3 -I p -r -v 2 -n 1 \
    | mpeg2enc -f 0 -a 2 -q 1 -n p -T 120 -R 2 -g 12 -G 12 -o <NAME>.mpg


Команда для kanotix/Debian Sid

png2yuv -j <file>.png -f 25 -I p -n 2 | mpeg2enc -f 3 -a 2 -b 7500 -o <file>.mpg


Ссылки

  1. Xine Projekt Homepage
  2. Homepage плагина
  3. использование Xine-Plugin через сеть
  4. Kanotix - Streaming-Server mit Xine-Plugin für Client mit Xine-Player
  5. XvMC
  6. Linvdr mit fbxine und vidix

Kategorie:Plugins Kategorie:Budget-Only_Systeme

На других языках