Bitstreamout-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
(Seit 1.7 unbenötigt.)
 
(38 dazwischenliegende Versionen von 29 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Beschreibung==
 
==Beschreibung==
 +
'''Autor:''' Werner Fink
 +
 +
Dieses Plugin empfängt den mit 16 bit kodierten Audio-Stream einer DVB-Karte und sendet ihn über den PCI-Bus an den S/PDIF-Ausgang einer vom ALSA-Treiber unterstützen Soundkarte.
 +
 +
<!-- ===Status=== -->
 +
 +
==Bilder==
 +
[[Bild:bitstreamout-plugin.jpg|thumb|none|''Einstellungen'']]
 +
 +
<!-- ==Bedienung== -->
 +
<!-- ===[[SVDRP]] Befehle=== -->
 
==Hardwareanforderungen==
 
==Hardwareanforderungen==
 +
* Eine von ALSA unterstütze Soundkarte
 +
 
==Softwareanforderungen==
 
==Softwareanforderungen==
 +
* ALSA
 +
* libmad
 +
 
==Installation==
 
==Installation==
==Probleme==
+
<!-- ===Optionen=== -->
==Links==
+
<!-- ===Patches=== -->
{|
+
===Source===
| [1]
+
<pre>
| http://bitstreamout.sourceforge.net
+
cd $SOURCEDIR
| Homepage des Plugins
+
tar xvzf libmad-<VERSION>.tar.gz
 +
cd libmad-<VERSION>
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
ldconfig
 +
</pre>
 +
 
 +
===[[Arch-Linux]]===
 +
pacman -S libmad
 +
 
 +
===[[Crux]]===
 +
prt-get depinst libmad
 +
 
 +
===[[Debian]]===
 +
apt-get install libmad0-dev
 +
 
 +
===[[Gentoo]]===
 +
emerge libmad
 +
 
 +
===[[SuSE]]===
 +
yast -i mad-devel
 +
 
 +
==Konfiguration==
 +
<!-- ===Einstellungen=== -->
 +
===Parameter===
 +
{| class="wikitable"
 +
|-
 +
!Parameter (kurz)
 +
!Parameter (lang)
 +
!Beschreibung
 +
|-
 +
| -o            || --onoff            || Hauptmenueintrag anschalten
 +
|-
 +
| -m ''<DATEI>'' || --mute=''<DATEI>'' || Script zum an-/abschalten des [[S/PDIF]]-Interface
 
|}
 
|}
 +
 +
<!-- ==Sonstiges== -->
 +
<!-- ===Probleme=== -->
 +
<!-- ===Tipps=== -->
 +
<!-- ===Wunschliste=== -->
 +
<!-- ===Snapshot=== -->
 +
 +
==Versions-Historie==
 +
{| width=100% class="wikitable"
 +
|-
 +
! Version
 +
! Datum
 +
! Beschreibung
 +
! Link
 +
|-
 +
| 0.89c
 +
| 13.05.2008
 +
|
 +
* Make it build even with make plugins
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=75765]
 +
|-
 +
| 0.89b
 +
| 17.04.2008
 +
|
 +
* Support only VDR 1.6.0 and higher
 +
* Scan always mpeg audio header in mad_frame_decode() as we work around the buffer guard internal of mad_header_decode()
 +
* Do not delay first resulting PCM frame of mad_frame_decode()
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=75765]
 +
|-
 +
| 0.85
 +
| 14.03.2006
 +
|
 +
* Various cleanups and bug fixes
 +
* Try to get Mpeg Audio more lip sync
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=47194]
 +
|-
 +
| 0.84
 +
| 23.06.2005
 +
|
 +
* Add recording check to avoid to run into Add/DelPid trouble
 +
* Use switching thread even for VDR 1.3.21+
 +
* The ORF sample provided by a user has a large delay gap therefore do not timeout after 3 seconds.
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=35623]
 +
|-
 +
| 0.83a
 +
| 12.04.2005
 +
|
 +
* kleines Bugfix-Release, damit sollte muten nun ohne Verlust des AC3 Kanals möglich sein
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=32851]
 +
|-
 +
| 0.83
 +
| 01.04.2005
 +
|
 +
* Add bug fix from Marcel Wiesweg in byte handle class
 +
* Add thread locking class based on cThreadLock to get a non interrupted S/P-DIF forwarding in case of starting and
 +
handling low state of the HW buffer of the sound card.
 +
* Drop workaround on VDR Add/DelPid bug for ptOther and the handling on `Device or resource busy' because it breaks
 +
replay part of the plugin.
 +
* Start the live forwarding thread by attaching the receiver, requires a new logic to wait on the data stream and its type.
 +
* Make MP2 Audio more synchron
 +
* Be sure to store the correct name for PCMinitial
 +
* Do not flood the syslog with mp2 messages if burst size is less than for layer II/III.
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=32314]
 +
|-
 +
| 0.81
 +
| 18.03.2005
 +
|
 +
|
 +
|-
 +
| 0.80
 +
| 15.03.2005
 +
|
 +
* Add nonlinear mp2 loop through S/P-DIF similar to AC3/DTS
 +
* Use a frame based mp2 parser for libmad with buffer gard
 +
* Make PCM initial wait frames configurable
 +
* Remove Z680 option
 +
* Remove MP2offset
 +
* Add a workaround for broken sub audio header in PS1 payloads
 +
* Be smarter in AV synchronization, wait on stable STC value
 +
* Make xlist find plain AC3 in PS1 payload even from ORF
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=31507]
 +
|-
 +
| 0.70
 +
| 20.02.2005
 +
|
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=30367]
 +
|-
 +
| 0.61f
 +
| 26.10.2004
 +
|
 +
* für alle bitstreamout user, die oft Synchronisationsprobleme mit dem ZDF haben, eine neue Version.
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=24077]
 +
|-
 +
| 0.61
 +
| 03.06.2004
 +
|
 +
|
 +
|-
 +
| 0.50e
 +
| 29.04.2004
 +
|
 +
* Simply continue to get next pcm frame if PTS != STC
 +
* Compare system clock delay with STC delay and only if both clocks are in sync we assume that STC is stable
 +
* Switch back to frame repeat instead of sample repeat even for real audio.
 +
* Try to solve delay detection to get the min start delay
 +
* Don't repeat frames but stereo samples in case of audio
 +
* Fix boolean cut&paste error in shm_malloc()
 +
* Lock threads in Live Receiver and also in S/P-DIF forwarding thread.
 +
| [[http://www.vdr-portal.de/board/thread.php?threadid=16418]]
 +
|-
 +
| 0.50b
 +
| 26.03.2004
 +
|
 +
* Use always cDevice::CurrentChannel() in ChannelSwitch() to be sure to get always the live channel on the primary card.
 +
* Be sure that we do not get a SIGSEGV if terminated
 +
* Add a further delay value for LiveTV
 +
* Try out some DTS sanity checks
 +
* Add some kernel version magic to shm_memory_tool
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=14494]
 +
|-
 +
| 0.50a
 +
| 09.01.2004
 +
|
 +
|
 +
|-
 +
| 0.50
 +
| 09.01.2004
 +
|
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=10643]
 +
|-
 +
| 0.49
 +
| 20.12.2003
 +
|
 +
| [http://www.vdr-portal.de/board/thread.php?threadid=9699]
 +
|-
 +
| ...
 +
| ...
 +
|
 +
|
 +
|}
 +
 +
==Links==
 +
# [http://www.alsa-project.org ALSA Soundkarten Treiber]
 +
# [http://www.underbit.com/products/mad MAD (M)PEG (A)udio (D)ecoder Homepage]
 +
# [http://bitstreamout.sourceforge.net Homepage des Plugins]
 +
# [http://www.vdr-portal.de/board/thread.php?threadid=1958 AC3 mit bitstreamout HOWTO und AC3overDVB Infos]
 +
 +
[[Kategorie:Veraltete Plugins]]
 +
{{i18n|bitstreamoutplugin}}

Aktuelle Version vom 3. August 2013, 10:47 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Werner Fink

Dieses Plugin empfängt den mit 16 bit kodierten Audio-Stream einer DVB-Karte und sendet ihn über den PCI-Bus an den S/PDIF-Ausgang einer vom ALSA-Treiber unterstützen Soundkarte.


[Bearbeiten] Bilder

Einstellungen

[Bearbeiten] Hardwareanforderungen

  • Eine von ALSA unterstütze Soundkarte

[Bearbeiten] Softwareanforderungen

  • ALSA
  • libmad

[Bearbeiten] Installation

[Bearbeiten] Source

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

[Bearbeiten] Arch-Linux

pacman -S libmad

[Bearbeiten] Crux

prt-get depinst libmad

[Bearbeiten] Debian

apt-get install libmad0-dev

[Bearbeiten] Gentoo

emerge libmad

[Bearbeiten] SuSE

yast -i mad-devel

[Bearbeiten] Konfiguration

[Bearbeiten] Parameter

Parameter (kurz) Parameter (lang) Beschreibung
-o --onoff Hauptmenueintrag anschalten
-m <DATEI> --mute=<DATEI> Script zum an-/abschalten des S/PDIF-Interface


[Bearbeiten] Versions-Historie

Version Datum Beschreibung Link
0.89c 13.05.2008
  • Make it build even with make plugins
[1]
0.89b 17.04.2008
  • Support only VDR 1.6.0 and higher
  • Scan always mpeg audio header in mad_frame_decode() as we work around the buffer guard internal of mad_header_decode()
  • Do not delay first resulting PCM frame of mad_frame_decode()
[2]
0.85 14.03.2006
  • Various cleanups and bug fixes
  • Try to get Mpeg Audio more lip sync
[3]
0.84 23.06.2005
  • Add recording check to avoid to run into Add/DelPid trouble
  • Use switching thread even for VDR 1.3.21+
  • The ORF sample provided by a user has a large delay gap therefore do not timeout after 3 seconds.
[4]
0.83a 12.04.2005
  • kleines Bugfix-Release, damit sollte muten nun ohne Verlust des AC3 Kanals möglich sein
[5]
0.83 01.04.2005
  • Add bug fix from Marcel Wiesweg in byte handle class
  • Add thread locking class based on cThreadLock to get a non interrupted S/P-DIF forwarding in case of starting and

handling low state of the HW buffer of the sound card.

  • Drop workaround on VDR Add/DelPid bug for ptOther and the handling on `Device or resource busy' because it breaks

replay part of the plugin.

  • Start the live forwarding thread by attaching the receiver, requires a new logic to wait on the data stream and its type.
  • Make MP2 Audio more synchron
  • Be sure to store the correct name for PCMinitial
  • Do not flood the syslog with mp2 messages if burst size is less than for layer II/III.
[6]
0.81 18.03.2005
0.80 15.03.2005
  • Add nonlinear mp2 loop through S/P-DIF similar to AC3/DTS
  • Use a frame based mp2 parser for libmad with buffer gard
  • Make PCM initial wait frames configurable
  • Remove Z680 option
  • Remove MP2offset
  • Add a workaround for broken sub audio header in PS1 payloads
  • Be smarter in AV synchronization, wait on stable STC value
  • Make xlist find plain AC3 in PS1 payload even from ORF
[7]
0.70 20.02.2005 [8]
0.61f 26.10.2004
  • für alle bitstreamout user, die oft Synchronisationsprobleme mit dem ZDF haben, eine neue Version.
[9]
0.61 03.06.2004
0.50e 29.04.2004
  • Simply continue to get next pcm frame if PTS != STC
  • Compare system clock delay with STC delay and only if both clocks are in sync we assume that STC is stable
  • Switch back to frame repeat instead of sample repeat even for real audio.
  • Try to solve delay detection to get the min start delay
  • Don't repeat frames but stereo samples in case of audio
  • Fix boolean cut&paste error in shm_malloc()
  • Lock threads in Live Receiver and also in S/P-DIF forwarding thread.
[[10]]
0.50b 26.03.2004
  • Use always cDevice::CurrentChannel() in ChannelSwitch() to be sure to get always the live channel on the primary card.
  • Be sure that we do not get a SIGSEGV if terminated
  • Add a further delay value for LiveTV
  • Try out some DTS sanity checks
  • Add some kernel version magic to shm_memory_tool
[11]
0.50a 09.01.2004
0.50 09.01.2004 [12]
0.49 20.12.2003 [13]
... ...

[Bearbeiten] Links

  1. ALSA Soundkarten Treiber
  2. MAD (M)PEG (A)udio (D)ecoder Homepage
  3. Homepage des Plugins
  4. AC3 mit bitstreamout HOWTO und AC3overDVB Infos
In anderen Sprachen