Posts Tagged “Linux”

Vorlesen mit webReader

Viele kennen zwischenzeitlich den sog. XP Modus, der unter Windows zur Verfügung steht. Damit kann man eine Windows XP Installation virtualisiert unter Windows 7 betreiben. Sowohl die Lizenz für das virtuelle Windows  XP als auch für die Virtualisierungssoftware “Windows Virtual PC” ist bei Windows 7 inklusive.

Warum also VMware Server oder Virtualbox als kostenlose Virtualisierungssoftware benutzen wenn für Windows 7 ebenfalls eine Gratisvariante bereitsteht?

Nun, zunächst einmal ist festzuhalten, daß die Testinstallation von SLES 10 SP3 zwar grundsätzlich lief, die Eingabe per Tastatur aber sonderbare Effekte hervorrief. Ein normales Benutzen der VM war so nicht möglich. Eine kurze Suche auf Google klärte die Problemursache – Probleme bei der Zeitsynchronisierung in Virtual PC seit Linux-Kernel 2.6.x. Das Problem läßt sich einfach lösen in dem in der Konfiguration des Bootloaders grub /boot/grub/menu.lst die Einstellung clock=pit mitgegeben wird (siehe Screenshot).

Die Desktopintegration, Komfort-Features werden nur für Windows als Gast-VM angeboten. Mit “STRG + ALT + Pfeil links” kann man die Maus aus der VM befreien.

Nach dem kurzen Test kann ich für mich festhalten, daß unter Virtual PC die gelegentliche Nutzung von Linux-VMs möglich ist. Vor allem wenn bereits der XP-Modus installiert wurde kann ggf. auf weitere Dienste im Hintergrund verzichtet werden und so etwas an Resourcen gespart werden.

Bei intensiver Nutzung von VMs bietet die Konkurrenz deutlich mehr Komfort.

Comments Kommentare deaktiviert

Vorlesen mit webReader

Im Networker Blog von Preston de Guise bin ich hier und hier auf eine höchst interessante Open Source Software gestoßen. MHVTL ist eine Virtual Tape Library, realisiert als Linux Kernel Modul plus Binaries zur Administration. Die Software simuliert eine SCSI Jukebox bei der die Anzahl und Typ der Bandlaufwerke, die Anzahl der Schächte und die Anzahl der Ein-/Ausgabeschächte frei konfiguriert werden können. Die virtuellen Bänder werden als Dateien gespeichert – die Standardgröße beträgt 500MB und kann ebenfalls konfiguriert werden. Da die Software unter /opt installiert wird sollte man ggf. einen eigenen Moutpoint dafür vorsehen.

Für MHVTL gibt es ein Supportforum, das ggf. bei Problemen weiterhelfen kann.

In meinem Beispiel habe ich in der VTL vier LTO4 Bandlaufwerke, 33 Schächte (Schacht 33 für Reinigung) und 4 E/A-Schächte eingestellt. Bestückt ist die VTL mit 20 LTO3 Bändern und 3 Reinigungsbändern.

Start der VTL

pc303420-vm3:/ # /etc/init.d/mhvtl start
vtltape: version 0.18.1
vtltape: version 0.18.1
vtltape: version 0.18.1
vtltape: version 0.18.1
vtllibrary: version 0.18.1
vtllibrary process PID is 6621
done
pc303420-vm3:/ # lsscsi -g
[0:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda  /dev/sg0
[0:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb  /dev/sg1
[1:0:0:0]    mediumx SPECTRA  PYTHON           5500  -         /dev/sg6
[1:0:1:0]    tape    IBM      ULT3580-TD4      5500  /dev/st0  /dev/sg2
[1:0:2:0]    tape    IBM      ULT3580-TD4      5500  /dev/st2  /dev/sg4
[1:0:3:0]    tape    IBM      ULT3580-TD4      5500  /dev/st1  /dev/sg3
[1:0:4:0]    tape    IBM      ULT3580-TD4      5500  /dev/st3  /dev/sg5

Inbetriebnahme der VTL im EMC Networker Backupprogramm

pc303420-vm3:/ # inquire -l

-l flag found: searching all LUNs, which may take over 10 minutes per adapter
for some fibre channel adapters.  Please be patient.

scsidev@0.0.0:VMware, VMware Virtual S1.0 |Disk, /dev/sg0
scsidev@0.1.0:VMware, VMware Virtual S1.0 |Disk, /dev/sg1
scsidev@1.0.0:SPECTRA PYTHON          5500|Autochanger (Jukebox), /dev/sg6
S/N: XYZZY
ATNN=SPECTRA PYTHON          XYZZY
WWNN=11223344ABCDEF00
scsidev@1.1.0:IBM     ULT3580-TD4     5500|Tape, /dev/nst0
S/N: XYZZY_A1
ATNN=IBM     ULT3580-TD4     XYZZY_A1
WWNN=11223344ABCDEF01
scsidev@1.2.0:IBM     ULT3580-TD4     5500|Tape, /dev/nst2
S/N: XYZZY_A2
ATNN=IBM     ULT3580-TD4     XYZZY_A2
WWNN=11223344ABCDEF02
scsidev@1.3.0:IBM     ULT3580-TD4     5500|Tape, /dev/nst1
S/N: XYZZY_A3
ATNN=IBM     ULT3580-TD4     XYZZY_A3
WWNN=11223344ABCDEF03
scsidev@1.4.0:IBM     ULT3580-TD4     5500|Tape, /dev/nst3
S/N: XYZZY_A4
ATNN=IBM     ULT3580-TD4     XYZZY_A4
WWNN=11223344ABCDEF04
pc303420-vm3:/ # jbconfig -l

Jbconfig is running on host pc303420-vm3.max-boegl.biz (Linux 2.6.16.60-0.54.5-default),
and is using pc303420-vm3.max-boegl.biz as the NetWorker server.

1) Configure an AlphaStor Library.
2) Configure an Autodetected SCSI Jukebox.
3) Configure an Autodetected NDMP SCSI Jukebox.
4) Configure an SJI Jukebox.
5) Configure an STL Silo.

What kind of Jukebox are you configuring? [1] 2
14484:jbconfig: Scanning SCSI buses; this may take a while …
Installing ‘Spectralogic’ jukebox – scsidev@1.0.0.

What name do you want to assign to this jukebox device? mhvtl
15814:jbconfig: Attempting to detect serial numbers on the jukebox and drives …

15815:jbconfig: Will try to use SCSI information returned by jukebox to configure drives.

Turn NetWorker auto-cleaning on (yes / no) [yes]?
The drives in this jukebox cannot be auto-configured with the available
information. You will need to provide the path for the drives.
Is (any path of) any drive intended for NDMP use? (yes / no) [no]
Is any drive going to have more than one path defined? (yes / no) [no]

Please enter the device path information in one of the following formats:

/dev/nst0 –for local path or
host:device-path –for remote node or NDMP device(s) or
host:drive-letter:directory path –for Windows disk file

Drive  1, element 1
Drive path ? /dev/nst0

Drive  2, element 2
Drive path ? /dev/nst1

Drive  3, element 3
Drive path ? /dev/nst2

Drive  4, element 4
Drive path ? /dev/nst3

Please select the appropriate drive type number:
1) 3480                  25) 9840C                 48) SAIT-2
2) 3570                  26) 9840D                 49) SD3
3) 3590                  27) 9940                  50) sdlt
4) 3592                  28) 9940B                 51) sdlt320
5) 4890                  29) adv_file              52) sdlt600
6) 4mm                   30) Atmos COS             53) SLR
7) 4mm 12GB              31) dlt                   54) T10000
8) 4mm 20GB              32) dlt vs160             55) T10000B
9) 4mm 4GB               33) dlt-s4                56) tkz90
10) 4mm 8GB               34) dlt-v4                57) travan10
11) 4mm DAT160            35) dlt1                  58) TS1120
12) 4mm DAT72             36) dlt7000               59) TS1130
13) 8mm                   37) dlt8000               60) tz85
14) 8mm 20GB              38) file                  61) tz86
15) 8mm 5GB               39) himt                  62) tz87
16) 8mm AIT               40) logical               63) tz88
17) 8mm AIT-2             41) LTO Ultrium           64) tz89
18) 8mm AIT-3             42) LTO Ultrium-2         65) tz90
19) 8mm AIT-4             43) LTO Ultrium-3 66) tzs20
20) 8mm AIT-5             44) LTO Ultrium-4         67) VXA
21) 8mm Mammoth-2         45) optical               68) VXA-172
22) 9490                  46) qic                   69) VXA-2
23) 9840                  47) SAIT-1                70) VXA-320
24) 9840b

Enter the drive type of drive 1? 43
Are all the drives the same model? (yes / no) [yes]

Jukebox has been added successfully

The following configuration options have been set:

> Jukebox description to the control port and model.
> Autochanger control port to the port at which we found it.
> Networker managed tape autocleaning on.
> Barcode reading to on.
> Volume labels that match the barcodes.
> Slot intended to hold cleaning cartridge to 33.  Please insure that a
cleaning cartridge is in that slot
> Number of times we will use a new cleaning cartridge to 5.
> Cleaning interval for the tape drives to 6 months.

You can review and change the characteristics of the autochanger and its
associated devices using the NetWorker Management Console.

Would you like to configure another jukebox? (yes/no) [no]

VTL testen

pc303420-vm3:/ # nsrjb
1:      mhvtl   [enabled]
There is only one enabled and configured jukebox: mhvtl

Jukebox mhvtl: (Ready to accept commands)
14118:nsrjb: No volumes found in the media database…continuing.
slot  volume                            pool  barcode   volume id  recyclable
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11: -*                                      ULT001L3  -
12: -*                                      ULT002L3  -
13: -*                                      ULT003L3  -
14: -*                                      ULT004L3  -
15: -*                                      ULT005L3  -
16: -*                                      ULT006L3  -
17: -*                                      ULT007L3  -
18: -*                                      ULT008L3  -
19: -*                                      ULT009L3  -
20: -*                                      ULT010L3  -
21: -*                                      ULT011L3  -
22: -*                                      ULT012L3  -
23: -*                                      ULT013L3  -
24: -*                                      ULT014L3  -
25: -*                                      ULT015L3  -
26: -*                                      ULT016L3  -
27: -*                                      ULT017L3  -
28: -*                                      ULT018L3  -
29: -*                                      ULT019L3  -
30: -*                                      ULT020L3  -
31: -*                                      CLN001L1  -
32: -*                                      CLN002L1  -
33: Cleaning Tape (5 uses left)             CLN003L1  -
*not registered in the NetWorker media data base

drive 1 (/dev/nst0) slot   :
drive 2 (/dev/nst1) slot   :
drive 3 (/dev/nst2) slot   :
drive 4 (/dev/nst3) slot   :

Meine Testkonfiguration

SLES10SP3 VM auf VMware Server 2.02

pc303420-vm3:/ # uname -a
Linux pc303420-vm3 2.6.16.60-0.54.5-default #1 Fri Sep 4 01:28:03 UTC 2009 i686 i686 i386 GNU/Linux

pc303420-vm3:/ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 10 SP3 (i586) – Kernel \r (\l).

pc303420-vm3:/ # rpm -qa | grep lgto
lgtonode-7.6-1
lgtoclnt-7.6-1
lgtoserv-7.6-1
lgtonmc-7.6-1
lgtoman-7.6-1

pc303420-vm3:/etc/mhvtl # cat device.conf

VERSION: 3

# VPD page format:
# <page #> <Length> <x> <x+1>… <x+n>
# NAA format is an 8 hex byte value seperated by ‘:’
# Note: NAA is part of inquiry VPD 0×83
#
# Each ‘record’ is sperated by one (or more) blank lines.
# Each ‘record’ starts at column 1
# Serial num max len is 10.
# Compression: factor <value> enabled [0|1]
#     Where <value> is zlib compression factor 1 = Fastest compression
#                                              9 = Best compression
#         enabled 1 – Compression is enabled,
#         enabled 0 – Compression is disabled

Library: 0 CHANNEL: 0 TARGET: 0 LUN: 0
Vendor identification: SPECTRA
Product identification: PYTHON
Product revision level: 5500
Unit serial number: XYZZY
NAA: 11:22:33:44:ab:cd:ef:00

Drive: 1 CHANNEL: 0 TARGET: 1 LUN: 0
Vendor identification: IBM
Product identification: ULT3580-TD4
Product revision level: 5500
Unit serial number: XYZZY_A1
NAA: 11:22:33:44:ab:cd:ef:01
Compression: factor 1 enabled 1
VPD: b0 04 00 02 01 00

Drive: 2 CHANNEL: 0 TARGET: 2 LUN: 0
Vendor identification: IBM
Product identification: ULT3580-TD4
Product revision level: 5500
Unit serial number: XYZZY_A2
NAA: 11:22:33:44:ab:cd:ef:02
Compression: factor 1 enabled 1
VPD: b0 04 00 02 01 00

Drive: 3 CHANNEL: 0 TARGET: 3 LUN: 0
Vendor identification: IBM
Product identification: ULT3580-TD4
Product revision level: 5500
Unit serial number: XYZZY_A3
NAA: 11:22:33:44:ab:cd:ef:03
Compression: factor 1 enabled 1
VPD: b0 04 00 02 01 00

Drive: 4 CHANNEL: 0 TARGET: 4 LUN: 0
Vendor identification: IBM
Product identification: ULT3580-TD4
Product revision level: 5500
Unit serial number: XYZZY_A4
NAA: 11:22:33:44:ab:cd:ef:04
Compression: factor 1 enabled 1
VPD: b0 04 00 02 01 00

pc303420-vm3:/etc/mhvtl # cat library_contents
VERSION: 2

Drive 1: XYZZY_A1
Drive 2: XYZZY_A2
Drive 3: XYZZY_A3
Drive 4: XYZZY_A4

Picker 1:

MAP 1:
MAP 2:
MAP 3:
MAP 4:

# Slot 1 – ?, no gaps
# Slot N: [barcode]
# [barcode]
# a barcode is comprised of three fields: [Leading] [identifier] [Trailing]
# Leading “CLN” — cleaning tape
# Leading “W” — WORM tape
# Leading “NOBAR” — will appear to have no barcode
# If the barcode is at least 8 character long, then the last two characters are Trailing
# Trailing “S3″ – SDLT600
# Trailing “X4″ – AIT-4
# Trailing “L1″ – LTO 1
# Trailing “TA” – T10000+
# Trailing “JA” – 3592+
# Trailing “JB” – 3592E05+
# Trailing “JW” – WORM 3592+
# Trailing “JX” – WORM 3592E05+
#
Slot 1:
Slot 2:
Slot 3:
Slot 4:
Slot 5:
Slot 6:
Slot 7:
Slot 8:
Slot 9:
Slot 10:
Slot 11: ULT001L3
Slot 12: ULT002L3
Slot 13: ULT003L3
Slot 14: ULT004L3
Slot 15: ULT005L3
Slot 16: ULT006L3
Slot 17: ULT007L3
Slot 18: ULT008L3
Slot 19: ULT009L3
Slot 20: ULT010L3
Slot 21: ULT011L3
Slot 22: ULT012L3
Slot 23: ULT013L3
Slot 24: ULT014L3
Slot 25: ULT015L3
Slot 26: ULT016L3
Slot 27: ULT017L3
Slot 28: ULT018L3
Slot 29: ULT019L3
Slot 30: ULT020L3
Slot 31: CLN001L1
Slot 32: CLN002L1
Slot 33: CLN003L1

Hier noch ein paar Screenshots vom Betrieb der VTL im Networker 7.6 …

P.S.

Die Eval-Version des EMC Networker läßt sich mit “grace” als Auth-Code 6 Wochen lang betreiben.

Sollte jemand beim Erstellen der virtuellen Bänder bzw. beim Aufruf des Tools mktape auf den Bug “mktape error: Structure of MAM incorrect size: 1016″ stoßen bitte hier weiterlesen…

Comments 7 Kommentare »

Vorlesen mit webReader

Wer Linux oder OpenSolaris in einer Multiboot-Umgebung betreibt verwendet i.d.R. grub als Bootmanager. Will man dann u.U. grub wieder loswerden, z.B. weil man OpenSolaris nur testen wollte, und auf den Standard Windows XP Bootmanager wieder zurückstellen funktioniert das folgendermaßen:

  • Windows XP CD und Administrator-Passwort bereithalten (falls nicht bekannt, das Passwort vorher neu vergeben!)
  • Windows-Partition auf aktiv setzen (Windows > rechte MT auf Arbeitsplatz > Verwalten > Datenspeicher > Datenträgerverwaltung > rechte MT  auf Partition C: > Partition als aktiv markieren > ja), danach Reboot
  •  von Windows XP CD starten und mit “R” in die Wiederherstellungskonsole wechseln, i.d.R. mit “1″ das relevante Windows auswählen und das Administrator-Passwort eingeben
  • Danach fixboot, ggf. auch fixmbr eingeben, anschließend Reboot
  • Danach können die Linux-/OpenSolaris-Partitionen gefahrlos in der Datenträgerverwaltung gelöscht werden

Comments 2 Kommentare »

Vorlesen mit webReader

media tomb aufsetzen

Nachdem ich schon seit einiger Zeit eine PS3 besitze machte ich mich auf die Suche nach einem dazu passendem Media Server, der unter OpenSUSE 11.0 läuft. Zunächst fiel mir dazu TwonkyVision ein – der kostet allerdings knapp 30€. Beim Googlen sichtete ich media tomb, der Streaming Server ist kostenlos und über das packman-Repository stehen auch fertige Pakete für OpenSUSE 11.0 bereit.

Es wird natürlich eine Datebank für den Mediaserver benötigt. Ich bevorzuge hier MySQL aus Performancegründen. Falls noch nicht geschehen muß also zunächst die MySQL-Datenbank installiert werden und der Autostart per rc-Skripte eingerichtet werden. Das gleiche gilt für media tomb. Hier muß noch das zusätzliche Paket zur MySQL-Unterstützung bei der Installation mit ausgewählt werden.

Zunächst also den MySQL-Dienst starten:

/etc/init.d/mysql start

Danach muß man eine Datenbank samt zugehörigen User im MySQL anlegen.

mysql -p -u root
mysql> CREATE DATABASE mediatomb;
mysql> GRANT ALL ON mediatomb.* TO 'mediatomb'@'localhost';

Danach muß die Konfigurationsdatei /etc/mediatomb.conf für das Startskript bearbeitet werden.

## This is a sambel configuration file for the MediaTomb daemon script
## used on Fedora Core

## By default the configuration will be created in /etc/mediatomb

## Network interface on which the server will run, you need to edit this!
MT_INTERFACE="eth0"

## User defined command line options that may be passed to the server
MT_OPTIONS=""

## MediaTomb will be started on port 50500
MT_PORT="50500"

## MediaTomb will run as mediatomb
MT_USER="mediatomb"
MT_GROUP="mediatomb"

## Location of the PID file
MT_PIDFILE="/var/run/mediatomb.pid"

## Location of the log file
MT_LOGFILE="/var/log/mediatomb"

## Location of the config file/database
MT_HOME="/etc"
MT_CFGDIR="mediatomb"

Der Name für das Standard-Netzwerkinterface muß eingetragen werden, der Rest kann auf Default bleiben.

Im Anschluß muß die Konfigurationsdatei /etc/mediatomb/config.xml für media tomb angepaßt werden.

Datenbanktyp auf MyQSL einstellen:

   <storage>
      <sqlite3 enabled="no">
        <database-file>mediatomb.db</database-file>
      </sqlite3>
      <mysql enabled="yes">
        <host>localhost</host>
        <username>mediatomb</username>
        <database>mediatomb</database>
      </mysql>
    </storage>

PS3-Unterstützung aktivieren:

    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

Unterstützung für Umlaute in Dateinamen aktivieren (Unicode-Zeichensatz UTF-8):

 <import hidden-files="no">
    <scripting script-charset="UTF-8">
      <common-script>/usr/share/mediatomb/js/common.js</common-script>
      <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
      <virtual-layout type="builtin">
        <import-script>/usr/share/mediatomb/js/import.js</import-script>
      </virtual-layout>
    </scripting>
    <filesystem-charset>UTF-8</filesystem-charset>
    <metadata-charset>UTF-8</metadata-charset>
    <playlist-charset>UTF-8</playlist-charset>

AVI-Playback für PS3 ermöglichen:

        <!-- Uncomment the line below for PS3 divx support -->
        <map from="avi" to="video/x-divx"/>

Das Startskript /etc/init.d/mediatomb enthält 2 Fehler. Diese müssen korrigiert werden, damit der Dienst korrekt starten kann.

...
case "$1" in
        start)
                # Start daemon.
                echo -n "Applying multicast settings to $MT_INTERFACE... "
                # those settings are necessary for us to react to M-SEARCH requests
                route add -net 239.0.0.0 netmask 255.0.0.0 $MT_INTERFACE >/dev/null 2>&1
                ifconfig $MT_INTERFACE allmulti
                touch $MT_PIDFILE
                chown $MT_USER $MT_PIDFILE

                mkdir -p "/$MT_HOME/$MT_CFGDIR"
                chown $MT_USER "/$MT_HOME/$MT_CFGDIR"
...

Danach kann der media tomb – Dienst gestartet werden:

/etc/init.d/mediatomb start

Jetzt ist es wichtig das Startprotokoll /var/log/mediatomb auf Fehlermeldungen oder Warnungen zu prüfen:

2008-10-18 20:11:13    INFO: Loading configuration from: /etc/mediatomb/config.xml
2008-10-18 20:11:13    INFO: Checking configuration...
2008-10-18 20:11:13    INFO: Setting filesystem import charset to UTF-8
2008-10-18 20:11:13    INFO: Setting metadata import charset to UTF-8
2008-10-18 20:11:13    INFO: Setting playlist charset to UTF-8
2008-10-18 20:11:13    INFO: Configuration check succeeded.
2008-10-18 20:11:13    INFO: database doesn't seem to exist. automatically creating database...
2008-10-18 20:11:13    INFO: database created successfully.
2008-10-18 20:11:13    INFO: Initialized port: 50500
2008-10-18 20:11:13    INFO: Server bound to: 192.168.178.2
2008-10-18 20:11:14    INFO: MediaTomb Web UI can be reached by following this link:
2008-10-18 20:11:14    INFO: http://192.168.178.2:50500/

Jetzt kann die Bedienoberfläche von media tomb im Browser unter der zuvor im Log genannten URL geöffnet werden. Hier im Beispiel ist das http://192.168.178.2:50500 (die IP-Adresse variiert natürlich, der Port 50500 ist Standard bei OpenSUSE).

Zunächst muß ein Ordner mit Mediendateien angegeben werden, der darauf indiziert wird. Mann kann dabei einstellen ob das regelmäßig oder event-basierend wiederholt werden soll.

Danach läuft die Indizierung und man kann bald darauf in der Datenbank stöbern.

Nun kann man mit der Playstation 3 als Streaming Client Musik und Videos vom heimischen PC geniessen!

media tomb tunen

Leider unterstützt die PS3 nicht alle gebräuchlichen Audio/Video-Formate. Man kann allerdings den PC nutzen der PS3 unbekannte Formate vor dem Streamen umzuwandeln. Genutzt wird dazu z.B. das Tool ffmeg. Danach können ts-Dateien vom SAT-Receiver, Matroska-Videos und viele weitere Formate auf der PS3 abgespielt werden. Der einzige Nachteil bei transkodierten Streams ist, daß Standardfunktionen wie Pause, sowie Vor- und Rücklauf nicht funktionieren. Es gibt hier nur Start und Stop…

Zunächst 2 Skripte anlegen:

Datei /usr/bin/mediatomb-transcode-audio:

#!/bin/bash
FFMPEG_PATH="/usr/bin/ffmpeg"
INPUT="$1"
OUTPUT="$2"
VIDEO_CODEC="mpeg2video"
VIDEO_BITRATE="4096k"
VIDEO_FRAMERATE="25"
AUDIO_CODEC="mp2"
AUDIO_BITRATE="192k"
AUDIO_SAMPLERATE="44100"
AUDIO_CHANNELS="2"
FORMAT="dvd"
exec "${FFMPEG_PATH}" -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} \
-r ${VIDEO_FRAMERATE} -acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -ar ${AUDIO_SAMPLERATE} \
-ac ${AUDIO_CHANNELS} -f ${FORMAT} - > "${OUTPUT}" 2>/dev/null

Datei /usr/bin/mediatomb-transcode-video:

#!/bin/bash
FFMPEG_PATH="/usr/bin/ffmpeg"
INPUT="$1"
OUTPUT="$2"
VIDEO_CODEC="mpeg2video"
VIDEO_BITRATE="4096k"
VIDEO_FRAMERATE="25"
AUDIO_CODEC="mp2"
AUDIO_BITRATE="192k"
AUDIO_SAMPLERATE="44100"
AUDIO_CHANNELS="2"
FORMAT="dvd"
exec "${FFMPEG_PATH}" -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} \
-r ${VIDEO_FRAMERATE} -acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -ar ${AUDIO_SAMPLERATE} \
-ac ${AUDIO_CHANNELS} -f ${FORMAT} - > "${OUTPUT}" 2>/dev/null

Danach könnte eine Beispielkonfiguration so aussehen:

Datei /etc/mediatomb/config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<config version="1" xmlns="http://mediatomb.cc/config/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd">
<server>
<ui enabled="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<name>MediaTomb</name>
<udn>uuid:52462652-2310-4790-bf19-fd00fefcec24</udn>
<home>/etc/mediatomb</home>
<webroot>/usr/share/mediatomb/web</webroot>
<storage>
<sqlite3 enabled="no">
<database-file>mediatomb.db</database-file>
</sqlite3>
<mysql enabled="yes">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
<!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
-->
<!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
-->
<!-- Uncomment the line below if you have a Telegent TG100 -->
<!--
<upnp-string-limit>101</upnp-string-limit>
-->
</server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<common-script>/usr/share/mediatomb/js/common.js</common-script>
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
<virtual-layout type="builtin">
<import-script>/usr/share/mediatomb/js/import.js</import-script>
</virtual-layout>
</scripting>
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>UTF-8</metadata-charset>
<playlist-charset>UTF-8</playlist-charset>
<mappings>
<extension-mimetype ignore-unknown="no">
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<!-- Uncomment the line below for PS3 divx support -->
<map from="avi" to="video/divx"/>
<map from="divx" to="video/divx"/>
<map from="vob" to="video/divx"/>
<map from="mkv" to="video/x-matroska"/>
<map from="mov" to="video/divx"/>
<map from="qt" to="video/divx"/>
<map from="ts" to="video/divx"/>
<map from="mpeg" to="video/divx"/>
<map from="mpg" to="video/divx"/>
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
<!-- <map from="avi" to="video/avi"/> -->
</extension-mimetype>
<mimetype-upnpclass>
<map from="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="audio/L16" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
<treat mimetype="video/divx" as="avi"/>
<treat mimetype="video/vob" as="avi"/>
</mimetype-contenttype>
</mappings>
</import>
<transcoding enabled="yes">
<mimetype-profile-mappings>
<transcode mimetype="application/ogg" using="audio-common"/>
<transcode mimetype="application/ogg" using="video-common"/>
<transcode mimetype="audio/x-flac" using="audio-common"/>
<transcode mimetype="video/x-flv" using="video-common"/>
<transcode mimetype="video/divx" using="video-common"/>
<transcode mimetype="video/vob" using="video-common"/>
<transcode mimetype="video/x-matroska" using="video-common"/>
</mimetype-profile-mappings>
<profiles>
<profile name="audio-common" enabled="yes" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<hide-original-resource>yes</hide-original-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="mediatomb-transcode-audio" arguments="%in %out"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="video-common" enabled="yes" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<hide-original-resource>yes</hide-original-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="mediatomb-transcode-video" arguments="%in %out"/>
<buffer size="10485760" chunk-size="262144" fill-size="524288"/>
</profile>
<profile name="oggflac2raw" enabled="no" type="external">
<mimetype>audio/L16</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ogg123" arguments="-d raw -f %out %in"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="vlcmpeg" enabled="no" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,
ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ts,dst=%out} vlc:quit"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
</profiles>
</transcoding>
</config>

Nach dem Anpassen der Konfiguration muß media tomb neu gestartet werden. Ebenso müssen die zugewiesenen Verzeichnisse in der datenbank gelöscht und neu eingelesen werden.

Anregungen zur Konfiguration gibt es hier:

http://mediatomb.cc/pages/documentation_overview

http://mediatomb.cc/dokuwiki/faq:faq

http://blog.raczylo.com/archives/467/playstation-3-i-filmy-z-komputera

http://volatileint.blogspot.com/2008/08/using-playstation3-as-media-center-with_30.html

http://www.webmasterpro.de/server/article/services-mediatomb-plattformunabhaengiger-medienserver.html#goto-sony-playstation-3-support

Comments 10 Kommentare »

Vorlesen mit webReader

Auf der Suche nach einem günstigen Multifunktionsgerät inc. LAN/WLAN-Anschluß und Linux-Kompatibilität bin ich bei Brother gelandet. Das DCP-770CW ist Kopierer, Scanner und Tintenpisser in einem Gerät und geht derzeit für 120€ im Versand über die virtuelle Ladentheke. Über USB, LAN oder WLAN kann auf das Gerät zugegriffen werden. Die relativ günstigen Originalpatronen können durch günstigere Patronen, z.B. von Pelikan zum halben Preis, ersetzt werden und damit die Betriebskosten reduziert werden.

Die Erstinbetriebnahme ist inc. auspacken in 15min erledigt:

  • Gefühlte 1000 Klebestreifen entfernen
  • Papier einlegen
  • Einschalten
  • Klappe für Tintenfach am Drucker öffnen
  • Fächer für Patronen öffnen und Transportsicherung entfernen
  • Patronen auspacken, Schutzkappe entfernen und in passende Schächte einstecken, Klappe zu
  • 4 min. warten
  • Testseite begutachten, fertig…

Jetzt kann bereits kopiert und Bilder auf Speicherkarte ausgedruckt werden. Über das Menü kann im Display des MFP jetzt das LAN/WLAN konfiguriert werden.

Die anschließende Installation und Konfiguration unter Opensuse 11 war trivial: http://solutions.brother.com/linux/en_us/index.html

Zum Drucken (CUPS) und Scannen (SANE) sind 3 rpm-Pakete erforderlich. Nach der Installtion sind noch ein paar Anpassungen durchzuführen, die den Zugriff von USB auf IP umstellen.

Der Drucker kann über CUPS aus jeder Linux-Applikation angesprochen werden, über (X)SANE der Scanner ebenfalls. Läßt man ein Tool von Brother als Hintergrundprozess laufen funktioneren auch die Scanfunktionen im Display. Neben scan to file funktioniert z.B. auch scan to image, welches dann Gimp aufruft.

Abschließend war ich doch sehr erstaunt wie problemlos sich das Gerät unter Linux in Betrieb nehmen liess. Vor ein paar Jahren wäre das noch undenkbar gewesen…

Mein Tip: absolute Kaufempfehlung – hier stimmt Preis/Leistung!

Comments Kommentare deaktiviert