Difference between revisions of "Softdevice-plugin"

From VDR Wiki
Jump to: navigation, search
m (Reverted edit of 61.48.105.65, changed back to last version by 70.6.49.12)
Line 1: Line 1:
[http://www.bjicp.com/zcfg.html 政策法规]
+
==Description==
[http://www.bjicp.com/bllc.html 代办流程]
+
[[Image:Softdevice-plugin.jpg|thumb|Screenshot]]
[http://www.bjicp.com/icp.html 代办ICP证]
+
The '''softdevice plugin''' is a software MPEG-2 decoder and is used by [[VDR]] as an output device. Therefore a FF DVB card is not needed. The output comes to the monitor or TV-out of the graphics card. In combination with the [[streamdev-plugin]], a cheap and quiet client could be build.
[http://www.bjicp.com/icpzl.html 代办ICP所需材料 ]
+
[http://www.bjicp.com/icpbbsht.html 北京地区ICP代理委托协议]
+
[http://www.bjicp.com/jsx.html 公司介绍信]
+
[http://www.bjicp.com/qyzlb.html 企业资料表]
+
[http://www.bjicp.com/icpyb.html ICP许可证样本]
+
  
[http://www.bjicp.com/qwicpzl.html 全网ICP所需材料]
+
In contrast to the hardware MPEG decoder of the FF DVB card, the softdevice has no problem decoding HDTV material (with enough [[CPU]] power).
[http://www.bjicp.com/qwicpxy.html 全网ICP代理委托协议]
+
[http://www.bjicp.com/sp.html 代办SP证]
+
[http://www.bjicp.com/spzl.html 代办SP所需材料]
+
[http://www.bjicp.com/spht.html 北京地区SP代理委托协议]
+
[http://www.bjicp.com/spyb.html SP许可证证件样本]
+
[http://www.bjicp.com/qwispzl.html 全网SP所需材料]
+
http://www.bjicp.com/qwspxy.html 全网SP代理委托协议 ]
+
  
[http://www.bjicp.com/isp.html 代办ISP证]
+
The plugin gets the video stream decodes, scales and converts it to the RGB format. The Video is displayed on the [[Framebuffer]] in one of several ways:
[http://www.bjicp.com/ispzl.html 代办ISP所需材料]
+
* Quasi hardware decoding through XvMC ('''''XV'''ideo '''M'''otion '''C'''ompensation'') with low CPU load
[http://www.bjicp.com/ispht.html 北京地区ISP代理委托协议]
+
This is supported with some NVidia graphics cards (GF4MX400 sowie >= GF5), S3 Unichrome (VIA Epia Boards) and possibly other. (Option ''XvMC'' in '''XF86config''')
[http://www.bjicp.com/ispyb.html ISP许可证证件样本]
+
* Software decoding. With overlay output via Xv ('''''XV'''ideo'').
[http://www.bjicp.com/qwispzl.html 全网ISP所需材料]
+
Works with all graphic cards (Option ''v4l'' in '''XF86config''')
[http://www.bjicp.com/qwispxy.html 全网ISP代理委托协议]
+
* Decoding, scaling, YUV2RGB in software. Output through VESA [[framebuffer]] (very high CPU load)
[http://www.bjicp.com/bbs.html BBS审批]
+
[http://www.bjicp.com/bbszl.html 代办BBS所需材料]
+
  
[http://www.bjicp.com/bbsht.html 北京地区BBS代理委托协议]
+
==Hardware requirements==
[http://www.bjicp.com/icpbbsht.html BBS加ICP代理委托协议]
+
Here are some example configurations ('''please supplement'''):  
[http://www.bjicp.com/bbsyb.html BBS审批批复样本]
+
[http://www.bjicp.com/hd315.html 红盾315备案]
+
[http://www.bjicp.com/hd315zl.html 代办红盾315所需材料]
+
[http://www.bjicp.com/hd315ht.html 北京地区红盾315代理委托协议]
+
[http://www.bjicp.com/hd315zs.html 经营性网站备案登记证书 ]
+
[http://www.bjicp.com/kdq.html 跨地区增值业务 ]
+
  
[http://www.bjicp.com/qwspyb.html 增值电信业务经营许可证样本]
+
* PIII 600MHz, 128MB, Matrox G450: ca. 50% load, smooth
[http://www.bjicp.com/qwsp.html 全网sp证代办]
+
* K6/2 450MHz, 128MB, Matrox G200: 100% load, very jerky
[http://www.bjicp.com/qwspzl.html 全网SP所需材料]
+
* Athlon 800 Mhz, 512MB, ATI Radeon VE, jerky
[http://www.bjicp.com/qwspxy.html 全网SP代理委托协议]
+
* Athlon 1100 Mhz,512MB, Nvidia GF2MX200 :ca.50% load, smooth
[http://www.bjicp.com/ispzl.html 代办ISP所需材料]
+
[http://www.bjicp.com/qwisp.html 全网isp证代办]
+
[http://www.bjicp.com/qwispzl.html  全ISP所需材料]
+
[http://www.bjicp.com/qwispxy.html 全网ISP代理委托协议 ]
+
  
[http://www.bjicp.com/kdqbak.html 跨地区增值业务备案]
+
Idealy are graphic cards, which can do some of the decoding work. There are some cards which can do IDCT, MC and BES in hardware. Sadly, the manufacturers seldom give information in how to use these features.
[http://www.bjicp.com/qwbacl.html 备案所需材料]
+
[http://www.bjicp.com/idc.html IDC审批托管 ]
+
[http://www.bjicp.com/callcenter.html 呼叫中心CallCenter]
+
[http://www.bjicp.com/nj.html ICP/SP/ISP年检服务]
+
[http://www.bjicp.com/sw.html 分公司税务]
+
  
 +
One exception are graphic card from Matrox, expecially the G200, G400 and G450. These are great card for this plugin.
  
[http://www.bjicp.com/qwicp.html 全网icp证代办 ]
+
==Software requirements==
[http://www.bjicp.com/qwicpzl.html 全网ICP所需材料 ]
+
* FFMPEG
[http://www.bjicp.com/qwicpxy.html 全网ICP代理委托协议]
+
  
[http://www.yihongtai.com 模块电源]
+
==Installation==
[http://www.gloveboxes.com.cn 手套箱]
+
===Basic (including FB/Xv support)===
[http://www.gloveboxes.cn 手套箱]
+
FFMPEG
[http://www.gloveboxes.com.cn/gas-purification-systems.htm 气体净化器]
+
cd $SOURCEDIR
 +
tar xvzf ffmpeg-<VERSION>.tar.gz
 +
cd ffmpeg-<VERSION>
 +
./configure --prefix=/usr/local \
 +
            --enable-shared
 +
make
 +
make install
 +
ldconfig
 +
 
 +
For ''deinterlacing pp-filters'' in recent plugin versions, FFMPEG needs some additional options at compile time
 +
cd $SOURCEDIR
 +
tar xvzf ffmpeg-<VERSION>.tar.gz
 +
cd ffmpeg-<VERSION>
 +
./configure --enable-shared \
 +
            --enable-pp \
 +
            --enable-gpl
 +
cd libavcodec/libpostproc
 +
make
 +
mkdir -p /usr/local/include/postproc
 +
install -m 644 postprocess.h /usr/local/include/postproc/postprocess.h
 +
cp libpostproc.a /usr/local/lib
 +
cd -
 +
make
 +
make install
 +
ldconfig
 +
 
 +
===DirectFB support===
 +
DirectFB
 +
cd $SOURCEDIR
 +
tar xvzf DirectFB-<VERSION>.tar.gz
 +
cd DirectFB-<VERSION>
 +
./configure --help (für den passenden driver ???)
 +
./configure --prefix=/usr/local \
 +
            --with-gfxdrivers=???
 +
make
 +
make install
 +
 
 +
DFB++
 +
cd $SOURCEDIR
 +
tar xvzf DFB++-<VERSION>.tar.gz
 +
cd DFB++-<VERSION>
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
 
 +
===Vidix support===
 +
Vidix
 +
cd $SOURCEDIR
 +
tar xvzf vidix-cvs.tar.gz
 +
cd vidix
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
ldconfig
 +
 
 +
See [[plugin installation]]
 +
 
 +
Im Makefile muss eingestellt werden, welche Treiber-Variante man benutzen will und wo sich die benötigten Bibliotheken / Headerfiles befinden. Das Framebufferdevice muss existieren und ansprechbar sein. Dazu muss entweder beim Systemstart der VESA-Framebuffer aktiviert werden oder bei unterstützten Grafikkarten das entsprechende Framebuffer Modul geladen sein. Beim Kernel 2.4 und einer Matrox-Karte ist das z.B. das Modul matroxfb-base (modprobe matroxfb-base) Mit fbset wird dann eine passende Auflösung eingestellt, z.B. 768x576 bei 100Hz und 32bit Farbtiefe. Ein entsprechender Eintrag muss in der Datei /etc/fb.modes existieren.
 +
 
 +
===Options===
 +
{| border=1 cellpadding=2 cellspacing=0
 +
|- bgcolor=#efdead
 +
!Option
 +
!Description
 +
|-
 +
| bgcolor=#efefef|XV_SUPPORT=1
 +
| XV support by Stefan Lucke
 +
|-
 +
| bgcolor=#efefef|DFB_SUPPORT=1
 +
| DFB is highly experimental
 +
|-
 +
| bgcolor=#efefef|FB_SUPPORT=1
 +
| FB is unaccelerated and should work with all FBs with 16bit color depth
 +
|-
 +
| bgcolor=#efefef|VIDIX_SUPPORT=1
 +
| Vidix support by Vadim Catana
 +
|-
 +
| bgcolor=#efefef|LIBXDPMS_SUPPORT = 1
 +
| Set this if you want to use DPMS
 +
|}
 +
 
 +
==Configuration==
 +
 
 +
==Parameter==
 +
{| border=1 cellpadding=2 cellspacing=0
 +
|- bgcolor=#efdead
 +
!Parameter (short)
 +
!Parameter (long)
 +
!Description
 +
|-
 +
| -ao alsa:devicename  || || ALSA output device
 +
|-
 +
| -vo xv:              || || X11-Xv output device
 +
|-
 +
| -vo xv:aspect=wide  || || 16:9 aspect ration (1024x576)
 +
|-
 +
| -vo xv:aspect=normal || || 4:3 aspect ration (768x576)
 +
|-
 +
| -vo fb:              || || Framebuffer output device
 +
|-
 +
| -vo dfb:            || || DirectFB output device
 +
|-
 +
| -vo vidix:          || || Vidix output device
 +
|}
 +
 
 +
==Problems==
 +
 
 +
==CVS==
 +
<pre>
 +
cvs -z3 -d:pserver:anonymous@cvs.softdevice.berlios.de:/cvsroot/softdevice co softdevice
 +
</pre>
 +
 
 +
==Links==
 +
{|
 +
| [1]
 +
| http://www.k13zoo.de/vdr
 +
| Plugin homepage
 +
|-
 +
| [2]
 +
| http://www.lucke.in-berlin.de
 +
| Plugin homepage (Xv)
 +
|-
 +
| [3]
 +
| http://softdevice.berlios.de
 +
| Plugin homepage
 +
|-
 +
| [4]
 +
| http://www.mplayerhq.hu
 +
| MPlayer homepage
 +
|-
 +
| [5]
 +
| http://www.directfb.org
 +
| DirectFB homepage
 +
|-
 +
| [6]
 +
| http://www.linuxtv.org/libsoftmpeg
 +
| Libsoftmpeg homepage
 +
|-
 +
| [7]
 +
| http://vidix.sourceforge.net
 +
| VIDIX is (VID)eo (I)nterface for *n(iX)
 +
|-
 +
| [8]
 +
| http://ffmpeg.sourceforge.net
 +
| FFMPEG homepage
 +
|}
 +
 
 +
[[Category:Plugins]]
 +
 
 +
<!-- Link to the german VDR Wiki -->
 +
[[de:Softdevice-plugin]]

Revision as of 17:07, 8 August 2005

Description

The softdevice plugin is a software MPEG-2 decoder and is used by VDR as an output device. Therefore a FF DVB card is not needed. The output comes to the monitor or TV-out of the graphics card. In combination with the streamdev-plugin, a cheap and quiet client could be build.

In contrast to the hardware MPEG decoder of the FF DVB card, the softdevice has no problem decoding HDTV material (with enough CPU power).

The plugin gets the video stream decodes, scales and converts it to the RGB format. The Video is displayed on the Framebuffer in one of several ways:

  • Quasi hardware decoding through XvMC (XVideo Motion Compensation) with low CPU load

This is supported with some NVidia graphics cards (GF4MX400 sowie >= GF5), S3 Unichrome (VIA Epia Boards) and possibly other. (Option XvMC in XF86config)

  • Software decoding. With overlay output via Xv (XVideo).

Works with all graphic cards (Option v4l in XF86config)

  • Decoding, scaling, YUV2RGB in software. Output through VESA framebuffer (very high CPU load)

Hardware requirements

Here are some example configurations (please supplement):

  • PIII 600MHz, 128MB, Matrox G450: ca. 50% load, smooth
  • K6/2 450MHz, 128MB, Matrox G200: 100% load, very jerky
  • Athlon 800 Mhz, 512MB, ATI Radeon VE, jerky
  • Athlon 1100 Mhz,512MB, Nvidia GF2MX200 :ca.50% load, smooth

Idealy are graphic cards, which can do some of the decoding work. There are some cards which can do IDCT, MC and BES in hardware. Sadly, the manufacturers seldom give information in how to use these features.

One exception are graphic card from Matrox, expecially the G200, G400 and G450. These are great card for this plugin.

Software requirements

  • FFMPEG

Installation

Basic (including FB/Xv support)

FFMPEG

cd $SOURCEDIR
tar xvzf ffmpeg-<VERSION>.tar.gz
cd ffmpeg-<VERSION>
./configure --prefix=/usr/local \
            --enable-shared
make
make install
ldconfig

For deinterlacing pp-filters in recent plugin versions, FFMPEG needs some additional options at compile time

cd $SOURCEDIR
tar xvzf ffmpeg-<VERSION>.tar.gz
cd ffmpeg-<VERSION>
./configure --enable-shared \
            --enable-pp \
            --enable-gpl
cd libavcodec/libpostproc
make
mkdir -p /usr/local/include/postproc
install -m 644 postprocess.h /usr/local/include/postproc/postprocess.h
cp libpostproc.a /usr/local/lib
cd -
make
make install
ldconfig

DirectFB support

DirectFB

cd $SOURCEDIR
tar xvzf DirectFB-<VERSION>.tar.gz
cd DirectFB-<VERSION>
./configure --help (für den passenden driver ???)
./configure --prefix=/usr/local \
            --with-gfxdrivers=???
make
make install

DFB++

cd $SOURCEDIR
tar xvzf DFB++-<VERSION>.tar.gz
cd DFB++-<VERSION>
./configure --prefix=/usr/local
make
make install

Vidix support

Vidix

cd $SOURCEDIR
tar xvzf vidix-cvs.tar.gz
cd vidix
./configure --prefix=/usr/local
make
make install
ldconfig

See plugin installation

Im Makefile muss eingestellt werden, welche Treiber-Variante man benutzen will und wo sich die benötigten Bibliotheken / Headerfiles befinden. Das Framebufferdevice muss existieren und ansprechbar sein. Dazu muss entweder beim Systemstart der VESA-Framebuffer aktiviert werden oder bei unterstützten Grafikkarten das entsprechende Framebuffer Modul geladen sein. Beim Kernel 2.4 und einer Matrox-Karte ist das z.B. das Modul matroxfb-base (modprobe matroxfb-base) Mit fbset wird dann eine passende Auflösung eingestellt, z.B. 768x576 bei 100Hz und 32bit Farbtiefe. Ein entsprechender Eintrag muss in der Datei /etc/fb.modes existieren.

Options

Option Description
XV_SUPPORT=1 XV support by Stefan Lucke
DFB_SUPPORT=1 DFB is highly experimental
FB_SUPPORT=1 FB is unaccelerated and should work with all FBs with 16bit color depth
VIDIX_SUPPORT=1 Vidix support by Vadim Catana
LIBXDPMS_SUPPORT = 1 Set this if you want to use DPMS

Configuration

Parameter

Parameter (short) Parameter (long) Description
-ao alsa:devicename ALSA output device
-vo xv: X11-Xv output device
-vo xv:aspect=wide 16:9 aspect ration (1024x576)
-vo xv:aspect=normal 4:3 aspect ration (768x576)
-vo fb: Framebuffer output device
-vo dfb: DirectFB output device
-vo vidix: Vidix output device

Problems

CVS

cvs -z3 -d:pserver:anonymous@cvs.softdevice.berlios.de:/cvsroot/softdevice co softdevice

Links

[1] http://www.k13zoo.de/vdr Plugin homepage
[2] http://www.lucke.in-berlin.de Plugin homepage (Xv)
[3] http://softdevice.berlios.de Plugin homepage
[4] http://www.mplayerhq.hu MPlayer homepage
[5] http://www.directfb.org DirectFB homepage
[6] http://www.linuxtv.org/libsoftmpeg Libsoftmpeg homepage
[7] http://vidix.sourceforge.net VIDIX is (VID)eo (I)nterface for *n(iX)
[8] http://ffmpeg.sourceforge.net FFMPEG homepage