Dieses HowTo beschreibt wie man den WHS um eine TV Recorder Funktionalität erweitert. Dabei ist nicht vorgesehen das die Aufnahme(n) auch auf dem Server geschaut werden sollen - dafür sind ja die Clients da, oder ?
Anmerkung, Stand 2013 / 14
=> Das ganze funktioniert reibungslos mit einem TechniSat SkyStar USB 2 HD CI Receiver unter WHS2011, sprich Windows Server 2008 x64.
Das HowTo bezieht sich auf eine SD PCI SAT TV Karte, ich gehe davon aus das auch andere TV HW funktioniert sofern sie sich unter dem WHS Betriebssystem installieren und mit DVBViewer betreiben läßt. Welche Hardware mit DVBViewer funktioniert steht hier: http://www.dvbviewer.com/de/index.php?p ... es#devices
Und HD ?
Grundsätzlich sollte das hier beschriebene auch mit HD Karten funktionieren; allerdings kann dann voraussichtl. nicht mittels des Recording Service gestreamt werden. Kann ich mangels HW nicht prüfen (wer es prüfen kann bitte berichten).
Key Features:
- 24/7 TV-Recorder mit komfortablem EPG (siehe Screenshots)
- die Recording Engine läuft als Service, also ohne Anmeldung am WHS
- bequem programmierbar über ein eigenes Webinterface (siehe Screenshots)
- Autosuche Timer: "Nimm alle Sendungen mit Titel "xy" auf" etc. (siehe Screenshots)
- Wiedergabe von Aufzeichnungen und Live TV Signal (im LAN oder über das Internet mittels live Streaming sowie optional Transcoding)
- geringe CPU Auslastung bei der Aufnahme
- eigenes UI für mobile Devices wie iphone, dazu <rec-service-url>/iphone aufrufen !
siehe http://www.dvbviewer.com/de/index.php?p ... &sub=other
- Automatische Transcodierung von TV-Aufzeichnungen auf dem Server in ein (fast) beliebiges anderes Format (mp4 divx avi asf etc.) mittels VLC,
umgesetzt durch Scripte (als Attachment hier verfügbar)
Wie funktioniert das Ganze im Anschluß
Die installierte DVBViewer SW (genau: DVBViewer Pro) stellt die TV Engine.
Der Recording Service dient der DVBViewer Software auf dem WHS (und allen Clients im LAN) als Server und stellt die Funktionen Web Guide, EPG, Timer etc. bereit. Der DVBViewer Pro muss dabei auch auf dem WHS als Client konfiguriert sein. Ist alles fertig eingerichtet, läuft auf dem WHS nur der Recording Service - zu erkennen an dem kleinen Icon in der Taskbar .
Was macht der Recording Service ?
* programmierte Aufnahmen durchführen
* regelmässiges EPG Update
* automatische Aufnahme nach EPG Suchvorgaben
* Verteilung des TV-Empfangs über das Heimnetzwerk
* Verteilung von Aufnahmen über das Heimnetzwerk
HW und SW:
- MS WHS System mit 1 PCI Steckplatz
- Technotrend Skystar 2 PCI DVB-S SD Karte (ca. 17, ebay)
- DVBViewer Pro Software (15) http://www.dvbviewer.com/de/index.php
- DVBViewer Recording Service (Members Area DVBViewer - Login benötigt: http://www.dvbviewer.com/members/download.php?id=1129)
- Technotrend Driver für Windows 2003 Server http://www.technisat-daun-fs.de/downloa ... s_6998.zip
- VLC 0.8.6 http://download.videolan.org/pub/videol ... -win32.zip,
da es mit älteren 1.x - Versionen von VLC definitiv nicht ging ist hier die 0.8.6 angegeben, die Version V.1.1.7 soll aber mittlerweile funktionieren
- Batch & vbs Script zur Transcodierung (Eigenentwicklung, im Anhang)
Mein WHS:
Belinea o.center, AMD 4850e, 3x1.5TB Green HDD WD, 1x 1TB Green HDD, Technotrend Skystar PCI, 2GB RAM, beQuiet 80+ TFX Netzteil,
Stromverbrauch zwischen 50..87W, gemessen mit dem in der c't getestetem Verbrauchsmessgerät von Reichelt.
------------------------------------------------------------------------
Sytem Setup
TV-Karte
Technotrend Karte & Technotrend Driver (Link s.o.) für Windows 2003 Server installieren, neu starten
(Anm.: Natürlich kann man auch andere TV Karten / USB Receiver nutzen. Diese Karte hier ist allerdings empfehlenswert da a) Win 2003 Server Treiber b) sehr günstig zu bekommen (wer auf HDTV verzichten kann) c) zuverlässig mit DVBViewer zu betreiben).
DVBViewer
Quelle: http://www.dvbviewer.com
DVBViewer auf dem Server installieren. Prüfen, dass die TV Karte als solche gefunden wird !Mittels Sendersuchlauf prüfen ob Sender gefunden werden.
Anm.: Die Wiedergabe des Live TV Bilds auf dem Server ist NICHT erforderlich (und muss daher auch nicht getestet werden)! Es geht hier um eine Server Installation die Clients mit Live TV oder Aufzeichnungen versorgt. Für die Wiedergabe auf dem Server müssen auch fehlende BDA Treiber installiert werden was weiteres gefummel nach sich zieht (das nicht sein muss). Also den Server Server sein lassen und am Client schauen!
DVBViewer Recording Service Installation & Konfiguration
Die wichtigsten Punkte hier schon einmal vorab; bitte auf alle Fälle die Anleitung (Link weiter unten) gewissenhaft umsetzen damit man nicht ewig Fehler suchen muss..
Anm.: Für den Recording Service wird eine funktionierende DVBViewer Pro Installation vorausgesetzt (s.o.), da z.B. die Senderliste aus der DVBViewer Installation verwendet wird und auch nur über den DVBViewer verwaltet werden kann.
DVBViewer Recording Service aus dem Mitgliederbereich des DVBViewer laden & installieren.
Anleitung: http://de.dvbviewer.tv/wiki/Recording_S ... sanleitung
Quelle: http://de.dvbviewer.tv/wiki/Recording_S ... sanleitung
User-Account Webinterface
Der initiale User für das EPG heisst "admin", Passwort: leer -> also ändern:
http://de.dvbviewer.tv/wiki/Optionen_Se ... stellungen
Format der Aufzeichnung
Festlegen ob in .ts oder in .mpg aufgezeichnet werden soll.
Empfehlung: MPG hat den Vorteil das angeschlossene Media Center Clients die Aufzeichnungen direkt abspielen (bekanntes Fileformat).
Aufnahmeverzeichnis
Ein Aufnahmeverzeichnis als UNC-Pfad angeben sodass andere Clients die Aufzeichnungen von dort im Anschluss wiedergeben können. Dazu eine entsprechende Freigabe im WHS einrichten. Z.B.: \\server\TV-Archiv
Am WHS ggf. eine Portweiterleitung einrichten um von außen (Internet) auf den EPG des Recording Service zuzugreifen. Den zu verwendenden Port könnt ihr im Recording Service hier einstellen (Beispiel im Bild - Port 8089):
Vom WHS aus sollte man jetzt bereits über http://127.0.0.1:8089/ auf den WebGuide zugreifen können.
Wiedergabe
An diesem Punkt sollte es möglich sein über das Webinterface des Recording Service eine Sendung aufzuzeichnen und diese von einem Client aus über das freigegebene Verzeichnis abzuspielen. Prima !
Die Wiedergabe kann prinzipiell über mehrere Wege erfolgen:
- über das Webinterface mit Transcoding oder ohne (direkt), mittels VLC oder Media Player auf einem beliebigen PC der auf den WHS zugreifen kann
- über (W)LAN durch ein XMBC auf einem PC, auf einem Popcorn Hour (per SMB Share, also über unsere Freigabe TV-Archiv etc.)
- mittels einem beliebigen UPNP Device
- über ein DVBViewer Pro Client der auf einem der PC's installiert ist.
Mit dieser Lösung funktioniert das nutzen des Live TV Signals vom Server aus !
(bei mir reicht allerdings ein g WLAN gerade so nicht von der Bandbreite..)
- mit einem Windows Media Center System. Dazu kann man einfach im Media Center das freigegebene
Verzeichnis des Server mit den Aufzeichnungen unter Videos oder TV-Aufzeichnungen einbinden fertig !
- mit einem Linux oder Windows XMBC System. Dann geht sowohl die Wiedergabe über die Freigabe (SMB)
als auch die Wiedergabe über UPNP (Aufzeichnungen und Live TV (!))
Streaming und Transodierung von Aufzeichnungen
Wir betrachten jetzt zwei verschiedene Aspekte:
- Transcodierung während des Streamings zur Bandbreitenreduktion / Formatkonversion
- Transcodierung von Aufzeichnungen zur Archivierung in einem anderen Format etc
1. Transcodierung während des Streamings
Für die Transodierung von .ts / .mpg / live tv für das EPG zur Wiedergabe über den Web Browser an einem beliebigen Ort (mit Internet Zugang) muss auf dem Server VLC installiert sein. Des weiteren müssen die gewählten Ports am WHS (Firewall) sowie am Router eingestellt sein.
2. Transcodierung von Aufzeichnungen
Transcodierung von aufgezeichnetem TV Material in ein Alternativformat (hier: h.264)
1. Transcodierung während des Streamings
Beide Transcodierungen werden mit Hilfe von VLC und einigen Scripten erledigt - dazu also zunächst VLC 0.8.6 auf dem Server installieren.
Dann eine Sendung unter Aufnahmen im Web Guide wählen und auf den Namen der Sendung klicken. Es öffnet sich ein kleineres Fenster in dem Angaben zur Sendung und unten rechts einige Symbole zu finden sind. Dort auf "Stream" klicken.
Es erscheint ein Folgefenster mit den Wiedergabeparametern.
Erster Test: Direkte Wiedergabe (kein Transcoding). Dazu rechts oben selbige Checkbox klicken und prüfen ob das Video abgespielt wird.
Dazu am WHS oder gleich am Client VLC benutzen. Am Client darf es auch eine neuere Version wie 0.86 sein !
Es wird in diesem Fall der Port des Web Guides & der Port 7522 des Streamserver Port benutzt -> UPnP and http (direct) streaming.
(Das Format ist ein (DVB)nativer TS Stream, eingepackt in http)
Ist das geschafft machen wir den nächsten Schritt. Transcodierung.
Zweiter Test: Transcodierte Wiedergabe.
Dazu genau so vorgehen bis zum Dialog mit den Wiedergabeparametern, jedoch jetzt folgendes einstellen:
Player VLC
Port so lassen
Muxer egal (ich hab ts)
Nutze Videotranscoding [X]
Video Codec MPEG-4
Video Bitrate 512
Video Größe 0.5
Nutze Audiotranscoding [X]
Audio Codec MPEG 4
Audio Bitrate 64
Kanäle 1
Name für diese Konfig eingeben ("LAN VLC MPEG-4 512kbits Mono") und mit "Speichere Vorgabe" speichern.
PS: Hier kann man natürlich auch Profile für Mobile Devices hinterlegen um z.B. mit dem iPhone zu schauen.
Starte Stream wählen
Starte externen Player wählen
Es folgt ggf. die Auswahl des Browsers wie mit der Datei streaming.m3u umzugehen ist.
Öffnen mit VLC
Die .m3u Datei enthält die Stream URL unter der unser Server den Stream anbietet:
http://xxx.xxx.xxx.xxx:3335.
Port 3335 ist der Default Port im Web Guide wenn transcodiert & gestreamt werden soll
Wenn alles klappt öffnet VLC nun unsere Aufzeichnung un der Server transcodiert uns das Video.
Die Portnummer 3335 kann im Dialog für die Wiedergabeparameter angegeben werden und muss entsprechend in den Firewalls (Server, Router, Clients) offen sein !
HILFE !!! Was waren das jetzt alles für Ports ?
8089 - der Standard Port für den Web Guide, auf dem Server erreichbar unter http://127.0.0.1:8089/
7522 streamserver port -> UPnP and http (direct) streaming (UPnP try it with XBMC for windows).
3335 ist der Default Port im Web Guide wenn transcodiert & gestreamt werden soll
Ist auf dem Client ein DVBViewer installiert so werden zusätzlich folgende Ports benutzt:
4012 control server -> DVBViewer control protocol port, wird benötigt für das Streaming zu den DVBViewern auf den Clients
2345 unicast server -> DVBViewer Streaming Port, wird benötigt für das Streaming zu den DVBViewern auf den Clients
Einstellungen dazu: http://de.dvbviewer.tv/wiki/Recording_S ... einrichten
2. Transcodierung von Aufzeichnungen
Dieser Schritt ermöglicht es Videos (nicht nur TV-Aufzeichnungen) automatisch in (ggf. mehrere) Ausgabeformate zu transkodieren.
Denkbar wäre:
TV mpg Videos -> h.264 für den Ipod
Digital Kamera Videos im .mov Format in h.264 wandeln
Installation:
das vbs und das bat-File in einem Ordner nach Wahl installieren, z.b. C:\Programme\vlc_transcoder
In transcode.vbs müssen einige Anpassungen vorgenommen werden. Dazu die Datei mit einem Editor bearbeiten:
Code: Alles auswählen
' ------------ VLC Homedir -------------------
strVLCDir = "C:\Programme\VideoLAN\VLC\"
' ------------- path settings ----------------
strSource = "D:\in"
strTarget = "D:\out"
Es wird nichts gelöscht und nichts überschrieben.
Will man TV-Aufzeichnungen also automatisch umwandeln lassen so sollte der Eintrag strSource auf den Pfad mit den TV-Aufzeichnungen zeigen.
Zu beachten ist das das ganze rechenintensiv ist und ATOM basierte WHS evtl. überfordert sind!
Gestartet wir der Transcoder mittels des beigefügten Batch Files das das .vbs Script startet.
(die Ausführung von vbs-Files muss auf dem Server aktiviert sein)
Nachdem das komplette Filesystem strSource (D:\in) inkl. aller Unterordner abgegrast wurde wird eine Pause gemacht.
Die Pause kann mittels
Code: Alles auswählen
intWarten = 600000 ' Millisec
Es gibt natürlich auch die Möglichkeit die Transcodierung immer um Mitternacht per Task zu starten , wie das geht wisst ihr ja nehme ich an, dann die Endlosschleife einfach entfernen.
Des weiteren kann man (wenn alles soweit funktioniert) das Script auch als Service laufen lassen, Stichwort "AnyToService". Ich hoffe der eine oder andere bekommt jetzt Lust sich seinen Deluxe Video Server mit Transcoding aufzubauen.
Ach so: Gibt man Ein- und Ausgabeordner frei kann man natürlich auch von anderen Clients schnell mal ein Video umwandeln lassen !! (z.B.hilfreich für HD Videos von Camcordern oder Digicams).
Es lassen sich natürlich beliebige weitere "von-zu" - Transcodierungen ergänzen. Regel: Alles was vlc abspielen kann kann es (meist) auch transcodieren
Ein leeres Template zum experimentieren habe ich im Script angelegt.
UPNP
Noch eine Ergänzung zu UPNP. Wer es bis hier geschafft hat (Glückwunsch ) kann natürlich die UPNP Funktionalität des DVBViewer Recording Service ab Version 1.6.2.0 Beta nutzen um AVI, MKV, WMV und ASF Dateien per UPnP/DLNA zu streamen.
Dazu folgende wichtige Informationen:
- Es erfolgt keinerlei Transcoding, es hängt also vom Wiedergabegerät ab, ob die Dateien wiedergegeben werden können
- Im Konfigurationsprogramm des Rec. Service können auf der Seite Videos Verzeichnisse eingetragen werden, die nach Videodateien durchsucht werden sollen. Die Verzeichnisse werden immer rekursiv durchsucht, d.h. mit allen Unterverzeichnissen
- Vthumbs.exe kann für die oben genannten Dateitypen Thumbnails erstellen. Dafür wird benötigt: FFmpeg Revision 18639 for Win32. Die Datei ffmpeg.exe in das Programmverzeichnis des Recording Service entpacken (dort wo die DVBVservice.exe sich befindet). http://tripp.arrozcru.org/
Viel Spass !