Autor Thema: Raspberry und Samsung Smart TV  (Gelesen 16102 mal)

Hexaflexagon

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
Raspberry und Samsung Smart TV
« am: November 09, 2014, 08:37:51 Nachmittag »
Hallo zusammen,

ich habe im Moment den Sundtek Stick an meinem Raspberry PI B+ angeschlossen und per Tvheadend läuft auf meinem Computer auch hervorragend das TV-Programm. Also SD und HD Kanäle.

Doch sobald ich auf dem Raspberry XMBC und Tvheadend installiert habe, kommt es immer zu Bild Problemen und sobald ich dann mit XMBC versuche TVheadend anzusprechen und das TV-Programm zu bekommen stürzt es komplett ab, weil die Leistung zu schwach ist.

Da ich ein Samsung UE46F6500 habe und der Smart Hub besitzt, gibt es eine Möglichkeit so den Stream von TVheadend oder anderen Programmen auf den Fernseher zu bekommen?

Oder gibt es eine Möglichkeit den Raspberry an den Fernseher anzuschliessen und gleichzeitig mit dem Stick das Signal über den selben Raspberry zu empfangen?

Mit freundlichen Grüßen
Hexaflexagon

Edit: Was ich geschafft habe ist, das ich mit dem Browser vom Samsung Fernseher tvheadend öffnen konnte und so schauen konnte. Doch sehr schwierig überhaupt dahin zukommen und fullscreen geht nicht, aber er konnte es abspielen.
« Letzte Änderung: November 09, 2014, 09:12:47 Nachmittag von Hexaflexagon »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8514
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #1 am: November 10, 2014, 02:59:04 Nachmittag »
Hi,

du wirst 2 Raspberry PIs benötigen, einen als Backend (zum Aufnehmen) und einen als Frontend.

Der Raspberry PI hat nur einen Core, auf den einen Core nun die Bedienung von XBMC, TVHeadend und den Treiber zu legen ist etwas viel.

Das TV Kenne ich leider nicht, daher kann ich da keine Aussagen machen.
Failure is a good thing! I'll fix it

Hexaflexagon

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #2 am: November 10, 2014, 03:52:29 Nachmittag »
Das hatte ich mir auch erst gedacht. Meine Tests mit einem zweiten Raspberry PI, der XBMC benutzt, waren jetzt nicht so hervorragend.

Nach langer Suche ist meine Lösung eine App für den Samsung Smart TV. Mit der Smart IPTV kann ich die Sender vom Tvheadend auf den Fernseher problemlos anschauen.
http://siptv.eu/

Bei Bedarf wäre ich auch bereit eine Anleitung noch zu dokumentieren, falls jemand das Interesse hat, weil die optimale Einstellung etwas gedauert hatte und ich mich durch viele Foren lesen musste.
« Letzte Änderung: November 10, 2014, 03:54:04 Nachmittag von Hexaflexagon »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8514
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #3 am: November 10, 2014, 05:03:54 Nachmittag »
Ich denke ein Howto wäre sicherlich hilfreich für einige. Die Geräte werden ja so ziemlich mit jedem Gerät verwendet das USB hat, einige Leute verwenden sicherlich auch ein Samsung TV damit.
Failure is a good thing! I'll fix it

salopette

  • Newbie
  • *
  • Beiträge: 8
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #4 am: November 12, 2014, 10:47:41 Nachmittag »
hätte grosses Interesse!

Hexaflexagon

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #5 am: November 18, 2014, 07:48:51 Nachmittag »
Ich bin im Moment noch selbst am Testen.
Sobald es gut und stabil läuft, werde ich mal dokumentieren, was ich alles für Einstellungen vorgenommen habe

millennia

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #6 am: Januar 01, 2015, 11:57:52 Vormittag »
Hallo zusammen,

Ich habe es nicht hinbekommen.
"Smart IPTV" kann zwar die Playlists lesen und gibt mir auch die EPG-Daten, ich sehe aber nur schwarz und nach ein paar Sekungen "Connecting" steht dann nur noch "Error" in der unteren rechten Ecke.
Was muss denn in der M3U stehen, damit man Streams wiedergeben kann?

Mittlerweile habe ich schon viel experimentiert: Plex, HTML5, einlesen der Playlist via USB, ...
Außerdem bin ich mir nicht sicher, ob TVHeadend auf dem RaspPi B+ transcodieren kann. Dazu habe ich keine Dokumentation bei TVHeadend im Hinblick auf die API gefunden, ich weiß also gar nicht, was als Angabe bei mux in der URL gültig ist und wie das dann weiter verarbeitet werden muss.

LG
m.

Edit: Hier mal der Inhalt einer M3U, direkt aus tvheadend und so, wie sie auch von SIPTV angenommen wird:

#EXTM3U
#EXTINF:0,Das Erste
#EXTVLCOPT:network-caching=1000
http://192.168.1.3:9981/stream/channelid/36

Edit: Mittlerweile habe ich den RasPi tvheadend mit ffmpeg static kompilieren lassen und nun auch eine neuere Version des Ganzen. Ich verfolge nach einigen rumprobieren nun eher den Ansatz, den http-steam vom raspberry transcordieren zu lassen. Dazu soll omxtx dienen und mediatomb verteilt möglichst das Ergebnis...
« Letzte Änderung: Januar 02, 2015, 09:13:50 Nachmittag von millennia »

Hexaflexagon

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #7 am: Januar 03, 2015, 12:33:20 Vormittag »
Meine m3u Datei sieht so aus
[code]#EXTM3U
#EXTINF:-1,Das Erste HD
http://192.168.178.35:9981/stream/channel/e254ae036089568f21e46340ad25280b
#EXTINF:-1,ZDF HD
http://192.168.178.35:9981/stream/channel/6dc1d1e6e40c5a18eb5429939f844ffb

Ich benutze aber auch die neuste Version. Also die aus Git, weil ich mit den anderen Versionen das nicht zum Laufen bekommen habe.

Bei mir läuft es jetzt mittlerweile sehr gut und werde meine Schritte dokumentieren!


Doku:

Zuerst stelle ich die Taktung auf High und ändere das Passwort
sudo raspi-config
Danach bringe ich alles auf den neusten Stand
sudo apt-get -y update
sudo apt-get -y dist-upgrade
sudo apt-get -y autoremove
sudo apt-get -y autoclean
sudo rpi-update

Nun befreie ich meinen Raspberry von allem überflüssigen. Falls man den X-Server braucht, sollte man das überspringen!
sudo aptitude -y purge gpicview xarchiver xpdf galculator scratch dillo midori netsurf-gtk omxplayer alsa-base alsa-utils penguinspuzzle python-pygame lxde-core lxde-common lxde-icon-theme lxinput lxmenu-data lxpolkit lxrandr lxsession lxsession-edit lxshortcut lxtask lxterminal lxappearance lightdm lightdm-gtk-greeter openbox ttf-dejavu-core fontconfig fontconfig-config fonts-freefont-ttf wpagui x11-common dbus-x11 desktop-base desktop-file-utils hicolor-icon-theme leafpad xdg-utils xauth gnome-themes-standard gtk2-engines raspberrypi-artwork wolfram-engine minecraft-pi python-minecraftpi

sudo dpkg --configure -a

Da ich kein ipv6 brauche, schalte ich den Dienst ab.
sudo echo "net.ipv6.conf.all.disable_ipv6=1" > /etc/sysctl.d/disableipv6.conf
sudo echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist
sudo sed -i '/::/s%^%#%g' /etc/hosts

Nun installiert man die Treiber.
cd
wget http://www.sundtek.de/media/sundtek_netinst.sh
chmod 755 sundtek_netinst.sh
sudo ./sundtek_netinst.sh

Und stelle den Stick auf DVBC ein.
/opt/bin/mediaclient --setdtvmode=DVBC
Jetzt bereite ich den Stick für das Kompilieren von tvheadend vor.
sudo apt-get install unzip libcurl4-openssl-dev pkg-config git build-essential dvb-apps gcc-4.7
Hole mir die neuste Version von Github.
git clone https://github.com/tvheadend/tvheadend.git
Nun kompiliere ich tvheadend und installiere es zugleich.
cd tvheadend
export CC=gcc-4.7
./configure && make && sudo make install

Danach erstelle ich noch einen Benutzer für tvheadend.
adduser tvheadend
Dann füge ich die Datei sundtek.conf noch in /etc/ ein
# ----- GLOBAL SECTION -----
#Set loglevel for logging to /var/log/mediasrv.log
#autoupdate=[on|off]                    #enable automatic driver update, default off
#loglevel=[off|min|full]         #default: off
#max .. little bit more debug
#pluginpath=/path/to/drivers            #set path to drivers
#dvb_api_version=x.y                    #default API version will be parsed from
                                        #/usr/include/linux/dvb/version.h, if no such file is
                                        #available the latest internally supported API version will be
                                        #used (which will be quite new)
#audio_skip_bytes=N                     #when changing analogTV channels,
                                        #skip N bytes to suppress audio noise
bulk_notification=on              #default off, bulk_notification will only trigger device_attach once
                                        #after the the first device scan when the driver is started up
                                        #after this first scan, the notification will be triggered
                                        #normally again for each device.
                                        #
                                        #for example when 2 devices are attached to the system only one
                                        #notification will be triggered initially, any at a later time
                                        #attached device will generate another device_attach notification
                                        #by default each device will call the script which is set up with
                                        #device_attach
#use_tvvideo=[on|off]                   #use /dev/tvvideoN instead of /dev/video
                                        #this works around a new Adobe Flash bug in 2012, where flash crashes
                                        #if files (/dev/videoN) other than /dev/video0 are available
 
use_hwpidfilter=on               #For DVB-C, DVB-T, DVB-S/S2
                                        #enable PID filter, please be careful with that, there are only 15 HW Pid filters available
                                        #when more than 15 pids are set up the pid filter will be disabled automatically

#dmhwpidfilter=[on|off]                 #default on, in some cases off might be useful to disable hw pid filter for settopboxes
                                        #if you get a black image when capturing a TV channel and watching another channel on the
                                        #same transponder - try this option and reboot

#usb_transaction_delay=[0-20]           #throttle the USB setup transactions, this can solve problems with weak USB stacks for
                                        #example for embedded boards, unit is milliseconds

#usb_timeout=[0 - N]                    #USB timeout for each transaction in milliseconds, 0 default infinite
#voltage_tone_off=[1 or 0]              #0 .. default, normal behaviour
                                        #1 .. force DVB-S/S2 to not use any Voltage or Tone (ignore any user parameters)
                                       
ir_disabled=1                   #0 .. enable remote control polling, the driver will permanently check for remote control keys
                                        #1 .. disable remote control polling, might fix bugs with weak USB stacks on embedded boards

#
#Enable listening on network
#enablenetwork=[on|off] #default: off

#Lowest adapter number to start with, e.g. /dev/dvb/adapter5/frontend0
#first_adapter=5

#Lowest videodevice number to start with, e.g. /dev/video5
#first_videodev=5

#Call attach script when new device appears
#device_attach=[PATH_TO_SCRIPT] [PARAMETER|DEVID] #"DEVID" will automatically be replaced with the device ID

#Call detach script when device disappears
#device_detach=[PATH_TO_SCRIPT] [PARAMETER|DEVID] #"DEVID" will automatically be replaced with the device ID

#Dreambox especially for DM800HD (not SE!)
#vtuner_acceleration=[on|off]                           #default off, accelerate Dreambox 800HD datatransfer between USB Stick and
                                                        #DM800HD

# ----- Section for adapter with [SERIALNUMBER] -----
#Get adapter serial number with /opt/bin/mediaclient -e
#[SERIALNUMBER]

#Description register as dreambox tuner
#dreambox_support_fe1=[on|off] #default: off

#Infrared protocol to use
#ir_protocol=[RC5|NEC|RC6] #default: NEC

#Keymap to use, e.g. "/lib/udev/rc_keymaps/vp702x"
#rcmap=[PATH_TO_KEYMAP] #default: keymap which comes with the device

#Choose initial DVB mode for hybrid DVB-T/DVB-C devices only
#initial_dvb_mode=[DVBC|DVBT]

#Call attach script when new device appears
#device_attach=[PATH_TO_SCRIPT] [PARAMETER|DEVID] #"DEVID" will automatically be replaced with the device ID

#Call detach script when device disappears
#device_detach=[PATH_TO_SCRIPT] [PARAMETER|DEVID] #"DEVID" will automatically be replaced with the device ID

#disable_analogtv=[0|1]                                      #disable initialization of analogTV Frontend
#Initial Audio Volume level for DVB-C/T Hybrid devices
#volume=[0-127] #default: 118, this applies to DVB-C/T/AnalogTV devices
#volume1=[0-255]                        #default: 219, this applies to DVB-T/AnalogTV devices
                                        #  please note too high volume might overdrive the audio IC
                                        #  219 or lower is recommended, although it's based on your
                                        #  situation; some devices only support that for FM-Radio
#soft_volume=[0-100]                    #software volume adjustment, some devices don't support
                                        #  hardware adjustment, v4l2-ctl -l -d /dev/videoN will show
                                        #  up if software volume adjustment is available, values
                                        #  higher than 100 will amplify the audiostream

# WSS callback (see http://en.wikipedia.org/wiki/Widescreen_signaling)
# trigger script when the videoformat changes between 16:9 or 4:3
#wss_callback=[scriptname]
# WSS_4_3_FULL
# WSS_14_9_LETTERBOX_CENTRE
# WSS_14_9_LETTERBOX_TOP
# WSS_16_9_LETTERBOX_CENTRE
# WSS_16_9_LETTERBOX_TOP
# WSS_16_9_LETTERBOX_DEEPER
# WSS_14_9_FULL_HEIGHT_4_3
# WSS_16_9_FULL_HEIGHT_16_9
# WSS_UNABLE_TO_DEMODULATE

#Timeout in ms after that WSS_UNABLE_TO_DEMODULATE will be called
#wss_demodulation_timeout=[MILLISECONDS]

#vtuner_skip0=vtuner0                  # skip /dev/misc/vtuner0 can also be vtunerN
#vtuner_skip1=vtuner1                  # skip /dev/misc/vtuner1 can also be vtunerN

#ts_settle_timeout=N                   # block sending TS data to the application for N milliseconds (0-4000), default 0
#fe_helper=/path/to/channellist        # override frequency setup and use parameters from channellist
                                       # VDR channellists can be used here (eg. created by w_scan)
                                       # this somewhat guarantees high speed channel switching
                                       # when used with a lousy player
                                       # Astra 19.2 Channellist: 1)

#disable_crc=on                        # disable driver internal CRC check for PSI tables

#standby_timeout=0-50000               # set standby timeout default is 15 Seconds (15000) value in milliseconds
### UNICABLE ###
#unicable_frequency=N                  # Unicable Frequency
#unicable_satcr=N                      # SaTCR

#alsa_blocking=off                     # default is on, off might be able to avoid some issues with
                                       # weird alsa drivers

#    following is the network section, the 2 given ip addresses are IPTV sample servers

#[NETWORK]
#device=192.168.0.1:0
#device=192.168.0.1:1

Und die Datei tvheadend in /etc/init.d/
#!/bin/bash
### BEGIN INIT INFO
# Provides:          tvheadend
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Should-Start:      $syslog
# Should-Stop:       $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1
# Short-Description: start/stop tvheadend Server
### END INIT INFO
 
TVHNAME="tvheadend"
TVHBIN="/usr/local/bin/tvheadend"
TVHUSER="tvheadend"
TVHGROUP="tvheadend"
PIDFILE=/var/run/$TVHNAME.pid
 
start() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo "$TVHNAME already running (pid $PID)."
            exit 1
        fi
    fi
    echo -n "Starting tvheadend: "
    start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user ${TVHUSER} --exec ${TVHBIN} -- \
        -u ${TVHUSER} -g ${TVHGROUP} -f -C
    echo "Done."
}
 
stop() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo -n "Stopping $TVHNAME: "
            start-stop-daemon --stop --quiet --pidfile $PIDFILE --name ${TVHNAME}
            echo "Done."
        else
            echo "$TVHNAME is not running."
        fi
    else
        echo "$TVHNAME is not running."
    fi
}
 
status() {
    if [ -e $PIDFILE ]; then
        PID=$(ps ax | grep -v grep | grep -w $(cat $PIDFILE) | awk '{print $1}')
        if [ -n "$PID" ]; then
            echo "$TVHNAME is running (pid $PID)."
        else
            echo "$TVHNAME is not running."
            [ -e $PIDFILE ] && exit 1 || exit 3
        fi
    fi
}
 
case "$1" in
start) start ;;
stop) stop ;;
restart) stop && sleep 2 && start ;;
*) echo "Usage: $0 [start|stop|restart|status]" && exit 1 ;;
esac
 
exit 0

Als letztes noch tvheadend in den Autostart
chmod +x /etc/init.d/tvheadend
update-rc.d tvheadend defaults
/etc/init.d/tvheadend start

Nun starte ich den Raspberry neu und erreiche mit
http://raspberry:9981/ das Webinterface von tvheadend!

Quellen: http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-live-fernsehen-mit-tvheadend/
http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-performance-tuning-und-tweaks/

Die Einstellung von TVheadend und Smart IPTV folgt noch![/code]
« Letzte Änderung: Januar 03, 2015, 01:20:38 Vormittag von Hexaflexagon »

mario89

  • Newbie
  • *
  • Beiträge: 4
    • Profil anzeigen
Re:Raspberry und Samsung Smart TV
« Antwort #8 am: April 21, 2015, 01:28:50 Nachmittag »
Hi, könntest du deine Anleitung noch ergänzen?

Hab bisher TVHeadend laufen und kann auch über VLC PLayer Streams anzeigen. SIPTV läuft auch schon auf dem Samsung, und hab es auch geschafft mal als Test einen CHannel einzuspielen. Leider bekomme ich jedoch kein Bild und unten rechts steht "Error".

Vermute fasst das liegt damit zusammen, dass man nirgendwo einen User und PW eingeben kann.

Wäre also cool wenn du deine Anleitung vervollständigen könntest.

Danke :)