Posts by 50watt

    Danke für die rasche Antwort und die Version 1.0!


    Am AV-Receiver sind meine Lautsprecher angeschlossen - er dekodiert die Audiodaten (DTS,...) und gibt diese an die Lautsprecher aus.
    Ich verwende also nicht die Soundkarte des VDR um die Lautstärke zu ändern.


    Wie mache ich den AV-Receiver zum "Active-Device"?

    Kann man mit der VDR-Fernbedienung die Lautstärke des AV-Receivers via CEC steuern?


    Hardware Setup: YaVdr via Pulse-Eight USB-CEC Adapter per HDMI an AV-Receiver, der AV-Receiver via HDMI an TV


    Code
    1. svdrpsend plug cecremote LSTD
    2. 220 vdr-wz SVDRP VideoDiskRecorder 2.2.0; Mon Apr 6 12:58:05 2015; UTF-8
    3. 214-Available CEC Devices:
    4. 214- Device 0 path: /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 port: /dev/ttyACM0 Firmware 0005
    5. 214-
    6. 214-Active Devices:
    7. 214- 0# TV @0000 TV TV Sony
    8. 214- 1# Recorder 1 @1000 VDR VDR VDR
    9. 214 5# Audio @1000 RECEIVER RECEIVER Pioneer
    10. 221 vdr-wz closing connection


    Die Lautstärke des AV-Receivers (CEC-Keys: VOLUME_UP, VOLUME_DOWN, MUTE) soll mit der VDR-Fernbedienung (Vdr-Keys: Volume+, Volume-, Mute) kontrolliert werden.
    Wie löst man das?


    Legt man dazu in cecremote.xml eine vdrkeymap an?


    Wie sendet man die Keys dann zum AV-Receiver?

    YaVDR funktioniert bei mir mit vdr-plugin-cecremote (0.6.0-0yavdr0~precise) wieder, wenn ich in /etc/vdr/plugins/plugin.cecremote.conf alles auskommentiere (ein "#" an den Anfang der Zeile einfügen).


    /etc/vdr/plugins/plugin.cecremote.conf sieht hier nun so aus:


    Code
    1. # cecremote (0.0.3) - Send/Receive CEC commands
    2. #
    3. # -c --configdir <dir> Directory for config files : cecremote
    4. #
    5. # -c /var/lib/vdr/plugins/cecremote


    Danach den VDR starten...
    und CEC genießen ;-)

    Yavdr startet vdr mit

    Code
    1. -c /var/lib/vdr


    Ist das der Grund für die Fehlermeldung:

    Code
    1. vdr: [cecremote] Can not open file /var/lib/vdr/plugins//var/lib/vdr/plugins/cecremote/cecremote.xml for getting line number

    ?

    Hier ein Versuch einer Installationsanleitung für Traco für yavdr 0.5


    Basiert auf


    yavdr0.5-alpha1 / traco


    Wer Traco installiert kann im VDR via Menü -> 4(Video) -> 1 (Aufzeichnungen) eine Aufzeichnung mit den (Pfeil rauf/Pfeil runter) Tasten auswählen und anschließend mit "(rote Taste) Befehle" die ausgewählte Aufzeichnung nach

    • Pal
    • SD
    • small HD
    • HD


    als .mp4 transcodieren (kann durchaus Stunden dauern (auf meinem G620)).



    • HandBrakeCLI installieren:

      Code
      1. sudo add-apt-repository ppa:stebbins/handbrake-snapshots
      2. sudo apt-get update
      3. sudo apt-get install handbrake-cli


    • pearl deamon:

      Code
      1. sudo apt-get install libproc-daemon-perl


    • Traco installieren:

      Code
      1. wget http://www.glaessixs.de/~glaess/traco-201205031611.deb
      2. sudo dpkg -i traco-201205031611.deb


    • Traco mit der Version vom git aktualisieren:

      Code
      1. git clone https://github.com/kakadoo/traco.git
      2. cd traco
      3. sudo cp *.pm /usr/lib/perl5/Traco/
      4. sudo cp *.pl /usr/bin/


      Die am 30.November 2012 geclonte git Version läuft bei mir nur mit folgender Änderung der Datei Traco.pm:

      Code
      1. sudo vi /usr/lib/perl5/Traco/Traco.pm


      Zeile 308 von

      Code
      1. $runline .= " -i ${$dir}/vdrtranscode.ts";


      in

      Code
      1. $runline .= " -i ${dir}/vdrtranscode.ts";


      ändern und Zeile 362 von

      Code
      1. $runline .= " -o ${$dir}/vdrtranscode_tmp.${$profile}->{'container'}";


      in

      Code
      1. $runline .= " -o ${dir}/vdrtranscode_tmp.${$profile}->{'container'}";


      ändern.


    • Traco Konfigurationsdateien kopieren/adaptieren:

      Code
      1. sudo cp debian/vdr/command-hooks/reccmds.traco.conf.sample /usr/share/vdr/command-hooks/reccmds.traco.conf
      2. sudo cp traco.conf /etc/vdr/
      3. sudo vi /etc/vdr/traco.conf


      In Zeile 4 und 5 von /etc/vdr/traco.conf die Verzeichnisse an yavdr anpassen:

      Code
      1. ## General settings
      2. Indir = /opt/video.00
      3. Outdir = /opt/video.00/film


      ändern in

      Code
      1. ## General settings
      2. Indir = /srv/vdr/video.00
      3. Outdir = /srv/vdr/video.00/film


    • Outdir noch anlegen und Besitzer anpassen:

      Code
      1. sudo mkdir /srv/vdr/video.00/film
      2. sudo chown vdr:vdr /srv/vdr/video.00/film


    • /etc/init.d/tracosrv.sh anlegen, Besitzer anpassen und starten:

      Code
      1. sudo cp debian/init.d/tracosrv.sh /etc/init.d/
      2. sudo chmod a+x /etc/init.d/tracosrv.sh
      3. sudo /etc/init.d/tracosrv.sh start



    Viel Spass!

    In yavdr 0.5 braucht man noch python-serial, welches wie folgt installiert werden kann:

    Code
    1. aptitude install python-serial


    In Zeile 18 des Python-Scripts fehlt das Anführungszeichen am Ende der Zeile.
    Sie sollte wohl so lauten:

    Code
    1. aspect43 = "kc 01 01"


    Folgendes funktioniert bei mir:
    Script markieren/kopieren.
    Mit

    Code
    1. sudo vi /usr/local/bin/tvcontrol


    eine neue Datei erstellen und den kopierten Inhalt des Python-Scripts einfügen, dann speichern.


    Datei ausführbar machen:

    Code
    1. sudo chmod a+x /usr/local/bin/tvcontrol


    LG-Fernseher ausschalten:

    Code
    1. sudo tvcontrol --poweroff

    Zusammenfassung aller oben geposteten Anleitungen und Korrekturen (Apache2 Port habe ich auf 8088 geändert da auf 8080 xbmc läuft):
    Folgendes habe ich nicht berücksichtigt, da es hier auch ohne funktioniert:

    Code
    1. In der /etc/apache2/httpd.conf folgendes eintragen, damit QuickTime auf dem Iphone kapiert, was es gestreamt bekommt:
    2. AddType application/x-mpegURL .m3u8
    3. AddType video/MP2T .ts


    Hier funktioniert istreamdev nun mit yavdr 0.5 und iPhone 4 (ios6.0) wenn folgende Schritte ausgeführt werden:
    1. notwendige Pakete installieren

    Code
    1. apt-get update
    2. apt-get dist-upgrade
    3. apt-get install libtheora0 libtheora-dev zlib1g-dev subversion git-core libapache2-mod-php5 php5 php5-curl php5-gd php5-idn php5-imagick php5-xcache libavcodec-dev libavformat-dev libavutil-dev libfaac-dev libfaad-dev libmp3lame-dev libxvidcore-dev libbz2-dev yasm libx264-dev libx11-dev libxfixes-dev


    2. Port für Apache ändern
    (auf dem Default-Port 80 lauft ja das yavdr WFE)

    Code
    1. mcedit /etc/apache2/ports.conf


    hier Port 80 auf 8088 ändern ->

    Code
    1. NameVirtualHost *:8088
    2. Listen 8088


    Code
    1. mcedit /etc/apache2/sites-enabled/000-default


    hier wieder 8088 anstatt 80 ->

    Code
    1. <VirtualHost *:8088>


    3. x264 installieren

    Code
    1. git clone git://git.videolan.org/x264.git
    2. cd x264
    3. ./configure --prefix=/usr
    4. make
    5. make install
    6. ldconfig


    4. iStreamdev installieren

    Code
    1. mkdir /var/www/istreamdev
    2. cd /var/www/
    3. git clone git://projects.vdr-developer.org/istreamdev.git
    4. mkdir /var/www/istreamdev/ram
    5. chown -R www-data:www-data istreamdev


    5. FFmpeg installieren

    Code
    1. cd /tmp
    2. wget http://ffmpeg.arrozcru.org/autobuilds/ffmpeg/sources/ffmpeg-r25922-swscale-r32676.tar.bz2
    3. tar xvjf ffmpeg-r25922-swscale-r32676.tar.bz2
    4. cd ffmpeg-r25922-swscale-r32676
    5. ./configure --prefix=/var/www/istreamdev --enable-gpl --enable-libxvid --enable-postproc --enable-avfilter --enable-shared --enable-libx264 --enable-nonfree --enable-libfaac --enable-libmp3lame --enable-version3 --enable-postproc --enable-pthreads --enable-x11grab
    6. make && make install


    6. Segmenter installieren

    Code
    1. cd /var/www/istreamdev/segmenter
    2. gcc -Wall -g segmenter.c -o segmenter -lavformat -lavcodec -lavutil -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad -lxvidcore -ltheora -ltheoraenc -ltheoradec -lpthread
    3. strip segmenter
    4. cp segmenter /usr/local/bin
    5. ln -s /usr/local/bin/segmenter /usr/bin/segmenter


    7. Konfigurationsdateien anpassen:
    Eigenes Netz eintragen (z.B. 192.168.1.0/16)

    Code
    1. mcedit /etc/vdr/svdrphosts.conf


    In

    Code
    1. mcedit /var/www/istreamdev/bin/istream.sh


    nach der Variablendeklaration folgendes einfügen ( Zeile 17, nach "FILES=${11}" )


    Code
    1. # librabries for this event for ffmpeg set to the specific ones!
    2. LD_LIBRARY_PATH="/var/www/istreamdev/lib:$LD_LIBRARY_PATH"
    3. export LD_LIBRARY_PATH
    4. ldconfig


    8. istreamdev Konfiguration holen:

    Code
    1. cd /var/www/istreamdev
    2. wget "http://www.vdr-portal.de/index.php?page=Attachment&attachmentID=30981&h=5100144bfcf2e7b21004ccba89c5699a47915982" -O config.php.zip
    3. unzip config.php.zip


    9. istreamdev Konfiguration (/var/www/istreamdev/config.php) korrigieren

    Code
    1. mcedit /var/www/istreamdev/config.php


    Zeilen 9-11 Pfad für die Logdateien anpassen:

    Code
    1. $debugfile="/var/log/istreamdev/istreamdev.log"; // Debug file
    2. $ffmpegdebug=0; // Debug ffmpeg
    3. $ffmpegdebugfile="/var/log/istreamdev/istreamdev-ffmpeg.log"; // FFmpeg debug file


    In Zeile 14 und 15 Username und Passwort ändern und merken ;-)
    In Zeile 16

    Code
    1. $httppath='/var/www/istreamdev/';


    durch

    Code
    1. $httppath='/istreamdev/';


    ersetzen


    Die Zeilen 29 und 30 habe ich wie folgt korrigiert - so kann ich auch Dateien vom Netzwerk wiedergeben

    Code
    1. $videosource='/media/Video/'; // Video files directory
    2. $audiosource='/media/Musik/'; // Audio files directory


    10. Log-Verzeichnis erstellen (mit passenden Rechten)

    Code
    1. mkdir /var/log/istreamdev
    2. chown www-data:www-data /var/log/istreamdev


    istreamdev Logging (wer es braucht) wird in /var/www/istreamdev/config.php in Zeile 8 mit $debug=1; aktiviert.


    11. Logos kopieren:

    Code
    1. cd /var/www/istreamdev/logos/
    2. wget http://justlinux.de/vdr/liquid-logos4anthra_HD-1.0.tar.gz
    3. tar -xzvf liquid-logos4anthra_HD-1.0.tar.gz
    4. mv liquid-logos4anthra_HD/* ./


    12. Webserver Apache 2 neu starten

    Code
    1. /etc/init.d/apache2 restart


    Nun kann man sich vom iphone/ipad via http://vdr.ip.adresse:8088/istreamdev einloggen (Username und Passwort siehe oben ;-)


    PS: Die Kanalliste im VDR muss zumindest eine Kategorie enthalten:

    • über das Webfrontend bei den Kanälen eine neue Kategorie "Favoriten" oder ähnliches einrichten und alle Kanäle darin/darunter oder eine Auswahl von Kanälen
    • oder statt im Webfrontend direkt in der channels.conf (etc/vdr/channels.conf) in die erste Zeile ":Favoriten" eintragen

    Anbei die Antwort von Synology (Kein Bug, ein fehlendes Feature?):


    -------- Original-Nachricht --------
    Betreff: Re: Synology DSM4.1 Beta Program #1035: [DS109+]
    Datum: Wed, 25 Jul 2012 17:11:08 +0800
    Von: Synology Beta Program Team <beta@synology.com>



    Hi ,


    Thanks for your feedback.


    It seems you are trying to do some modification on DiskStation, however we do no have support for 3rd party software and/or modification.
    For such feature enhancements however, I will be glad to add your inquiry to our enhancement database for our developers analysis.


    We thank you for your continual support. Feel free to contact us for any further assistance.



    Best Regards,


    Alexander Wong

    Anbei eine funktionierende /usr/syno/etc/rc.d/S99avahi.sh sowie ein diff gegen die aktuelle Originalversion aus der DSM 4.1-2567 Beta Firmware (Damit können die 3rdparty.*.service von oben wieder verwendet werden).
    Bug habe ich an Synology soeben gemeldet.


    Files

    • S99avahi.zip

      (2.8 kB, downloaded 334 times, last: )

    Für die soeben erschienene DSM 4.0 beta muss kein Script mehr editiert werden.
    Es reicht die Definitionen im Verzeichnis /usr/syno/avahi/services/ mit dem Dateinamen 3rdparty.*.service zu erstellen.
    Anschließend auf der diskstation noch

    Code
    1. /usr/syno/etc/rc.d/S99avahi.sh restart

    ausführen - that's it!
    (Die Änderungen bleiben auch nach einem Neustart der Diskstation erhalten - es muss nicht "manuell" gestartet werden)


    Hier einige Beispiele für die Definitionen:
    (die ersten beiden Zeilen

    XML
    1. <?xml version="1.0" standalone='no'?>
    2. <!DOCTYPE service-group SYSTEM "avahi-service.dtd">


    der angeführten Beispieldateien sind nicht verpflichtend und können auch ausgelassen werden)


    /usr/syno/avahi/services/3rdparty.video.service


    /usr/syno/avahi/services/3rdparty.audio.service


    /usr/syno/avahi/services/3rdparty.photo.service


    /usr/syno/avahi/services/3rdparty.vdr.service

    Hatte täglich nicht reproduzierbare Abstürze von XBMC mit yaVDR 0.4


    Ein Update des NVIDIA Grafik-Treibers von 270.10 auf 290.10 brachte deutliche Besserung (hier ist eine GeForce GT520 silent im Einsatz)!


    Code
    1. sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    2. sudo aptitude update
    3. sudo aptitude dist-upgrade
    4. sudo reboot


    Die aktuelle nvidia Treiberversion kann wie folgt angezeigt werden:

    Code
    1. cat /proc/driver/nvidia/version


    HTH 50watt

    Um die CPU-Temperatur und die GPU-Temperatur in XBMC -> System -> Systeminfo anzuzeigen, musste ich die Datei
    /var/lib/vdr/.xbmc/userdata/advancedsettings.xml mit folgendem Inhalt erstellen:

    Code
    1. <advancedsettings>
    2. <cputempcommand>sensors|sed -ne "s/Core 1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>
    3. <gputempcommand>echo "$(nvidia-settings -c :1 -tq GPUCoreTemp) C"</gputempcommand>
    4. </advancedsettings>


    HTH 50watt

    yavdr 0.4 kann Verzeichnisse für Bilder, Musik, Videos und Aufzeichnungen, die im Netzwerk auf Servern, NAS, etc. gefunden werden, automatisch einbinden.
    So können ohne weitere Konfiguration z.B. Bilder, Videos,... von einem Server sofort in XBMC betrachtet werden.


    yavdr 0.4 verwendet dazu "Zeroconf", eine ursprünglich von Apple stammende Idee. Die Linuximplementierung heißt "avahi".


    Damit der avahi-mounter von YAVDR 0.4 die Netzwerkfreigaben "Video", "Music", "Photo" (und bei mir auch vdr_recordings) von der Synology Diskstation (DSM 3.2-1955) automatisch mountet, kann man


    auf der Synology Diskstation im script "/usr/syno/etc/rc.d/S99avahi.sh" folgendes unmittelbar über

    Code
    1. AddHTTP() {
    2. Port=`GetAdminPort`

    einfügen (ab Zeile 161):


    Weiter unten in der selben Datei (hier ab Zeile 379) nach

    Code
    1. AddHTTP $ServName


    noch folgendes einfügen:

    Code
    1. AddVDR $ServName
    2. AddVIDEO $ServName
    3. AddAUDIO $ServName
    4. AddPHOTO $ServName


    Diese Änderungen müssen bei jedem Firmware Update der Synology Diskstation erneut gemacht werden.


    Im Webinterface der Synology Diskstation: Systemsteuerung -> "Gemeinsame Ordner" -> "Nfs-Berechtigung" der oben angeführten Ordner (music, photo, video, vdr_root) einen Eintrag für yavdr hinzugefügt (Achtung: nicht die IP-Adresse des yavdr sondern yavdr-Computername.workgroup z.B. yavdr1.arbeitsgruppe), lesen/schreiben, root squash: keine Zuordnung, Asynchron: Ja


    Auf der Synology Diskstation das vorhin editierte script "/usr/syno/etc/rc.d/S99avahi.sh restart" ausführen (oder die Diskstation rebooten).


    That's it - ab nun sind die Verzeichnisse der Synology Diskstation (Photos, videos,...) wie in der avahi-mounter YAVDR Dokumentation beschrieben eingebunden und können via vdr bzw xbmc verwendet werden.


    HTH
    50watt