Hallo.
Ich habe schon öfters bei euch im Forum gestöbert und habe so einige gute Tips erhalten. Nun denke ich das ich auch etwas zurück geben kann. Falls diese Problem schon behandelt und gelöst wurde bitte ich um Entschuldigung.
Ich hatte das Problem, das mein TS 410 nach dem Update auf 3.2.3 bzw. 3.2.4 mit dem enthaltenen Twonky5 meine m2ts Aufnahmen nicht mehr richtig gestreamt wurden. Die PS3 hat immer "Inkompatible Datei" angezeigt. Komischerweise war mit dem Twonky4 aus der FW 3.1.2 alles ok und es wurden alle Files (HD und SD) gestreamt :-/
Kurz zum Hintergrund, die Aufnahmen stammen von meine Humax Icord und es wäre doch schade wenn man diese nicht mehr nutzen könnte.
Ich habe mir die Mühe gemacht und den Twonky4 aus der FW 3.1.2 zu "extrahieren" und FW unabhängig in das TS 410 zu integrieren. Ich denke das diese Vorgehensweise für alle Modelle machbar ist.
Vor dem Upgrade habe ich sämtliche Twonky Dateien aus dem Flash ins RAID gesichert. Meine Wahl viel auf das Verzeichnis /opt/twonky4.
Zu Sichern sind:
/mnt/ext/opt/twonkymedia/
/etc/config/twonkyvision-mediaserver.ini
/etc/config/twonkyvision-mediaserver.ini.default
/etc/init.d/twonkymedia.sh
Die ini-Files habe ich unter /opt/twonky4/config abgelegt und den db-Pfad in der ini angepasst (bei mir /opt/twonky4/twonkymedia.db)
In der Admin-Oberfläche muss der automatische Start des Twonky deaktiviert werden.
Das Skript /etc/init.d/twonkymedia.sh habe ich mir nach /opt/etc/init.d/ kopiert (in meiner Konfig der Pfad in dem ich alle meine Startup-Skripte installiere) und angepasst.
Ich füge mal meine twonkymedia.sh hier als Code mit an. Diese habe ich mit in die autorun.sh eingetragen.
Eins noch vorweg. Ich bin kein Skript-Guru und das Skript hat bestimmt noch Verbesserungspotential, aber es funktioniert.
Das Skript wurde stark von mir reduziert um alle unnötigen Checks zu entfernen (z.B. check ob Twonky über die Admin-GUI deaktiviert wurde, check ob die Source vorhanden ist etc...)
#!/bin/sh
#==================================================================[ Setup ]===
WORKDIR="/opt/twonky4"
PIDFILE=/var/run/twonky.pid
DBCACHEDIR="${WORKDIR}/twonkymedia.db/cache"
CONFDIR="${WORKDIR}/conf"
CONFFILE="${CONFDIR}/twonkyvision-mediaserver.ini"
DEFCONFILE="${CONFFILE}.default"
DAEMON="${WORKDIR}/twonkymedia"
LOG_FILE="${WORKDIR}/twonkymediaserver-log.txt"
NET="224.0.0.0"
#=================================================================[ Script ]===
clean_twonky_cache()
{
if [ -d ${DBCACHEDIR} ]; then
/bin/rm -rf ${DBCACHEDIR}/*
[ $? = 0 ] && echo "TwonkyMedia cache have been cleaned."
fi
if [ x"`/bin/cat /etc/config/crontab | /bin/grep "twonkymedia"`" = x ]; then
echo "0 3 * * * /bin/rm -rf ${DBCACHEDIR}/*" >> /etc/config/crontab
/usr/bin/crontab /etc/config/crontab
fi
}
# Source function library.
if [ -f /etc/rc.status ]; then
# SUSE
. /etc/rc.status
rc_reset
else
# Reset commands if not available
rc_status() {
case "$1" in
-v)
true
;;
*)
false
;;
esac
echo
}
alias rc_exit=exit
fi
case "$1" in
start)
clean_twonky_cache
if [ -e $PIDFILE ]; then
PID=`cat $PIDFILE`
echo "Twonky server seems already be running under PID $PID"
echo "(PID file $PIDFILE already exists). Checking for process..."
running=`ps -ef |grep twonky |grep -v grep |grep $PID |awk -F" " '{print $5}'`
if ( [ "${DAEMON}"=="${running}" ] ); then
echo "Process IS running. Not started again."
else
echo "Looks like the daemon crashed: the PID does not match the daemon."
echo "Removing flag file..."
rm $PIDFILE
$0 start
exit $?
fi
exit 0
else
if [ ! -x "${DAEMON}" ]; then
echo "Twonky servers not found".
rc_status -u
exit $?
fi
echo -n "Starting UPnP MediaServer: ($DAEMON) "
if [ ! -f ${CONFFILE} ]; then
/bin/cp ${DEFCONFFILE} ${CONFFILE}
fi
# for multicast use
NETSTAT=`/bin/netstat -rn |grep $NET |awk -F" " '{print $1}'`
if [ -z ${NETSTAT} ]; then
echo "Route not present. Adding route."
route add -net ${NET} netmask 240.0.0.0 dev bond0
else
echo "Route present. No need to set it again."
fi
# end
/opt/bin/nohup $DAEMON -inifile "${CONFFILE}" -enableweb 2 -powersavemode 1 &
rc_status -v
fi
;;
stop)
if [ ! -e $PIDFILE ]; then
echo "Shutting down UPnP MediaServer services: twonkymedia."
echo "PID file $PIDFILE not found, stopping server anyway..."
killall twonkymedia 2>/dev/null 1>/dev/null
rc_status -u
exit 3
else
echo -n "Shutting down UPnP MediaServer services: twonkymedia."
PID=`cat $PIDFILE`
kill -s TERM $PID
kill -9 `pidof twonkymediaserver`
rm -f $PIDFILE
route del -net 224.0.0.0 netmask 240.0.0.0 dev bond0
# end
rc_status -v
fi
;;
reload)
if [ ! -e $PIDFILE ]; then
echo "PID file $PIDFILE not found, stopping server anyway..."
killall twonkymedia 2>/dev/null 1>/dev/null
rc_status -u
exit 3
else
echo -n "Reloading Twonky server ... "
PID=`cat $PIDFILE`
kill -s HUP $PID
rc_status -v
fi
;;
restart)
$0 stop
/bin/sleep 1
$0 start
;;
status)
if [ ! -e $PIDFILE ]; then
running=`ps -ef |grep twonky |grep -v grep |awk -F" " '{print $5}'`
if [ "${running}" == "" ]; then
echo "No twonky server is running"
else
echo "A twonky server seems to be running (PID: "${running}"), but no PID file exists."
echo "Probably no write permission for ${PIDFILE}."
fi
exit 0
fi
PID=`cat $PIDFILE`
running=`ps -ef |grep twonky |grep -v grep |grep $PID |awk -F" " '{print $5}'`
if ( [ "${DAEMON}"=="${running}" ] ); then
echo "Twonky server IS running."
else
echo "Looks like the daemon crashed: the PID does not match the daemon."
fi
;;
*)
echo ""
echo "Twonky server"
echo "-------------"
echo "Syntax:"
echo " $0 {start|stop|restart|reload|status}"
echo ""
exit 3
;;
esac
rc_exit
Alles anzeigen
Nun ist man unabhängig von zukünftigen Updates, hat eine funktionierende Twonky4-Konfig die mit m2ts Files gut zurecht kommt und kann zukünftige FW's installieren.
Die Twonkykonfiguration kann man nun weiterhin bequem über den Webbrowser mit dem Standardport 9000 durchführen. Den Restart über die GUI nach Konfigurationsänderungen habe ich nicht ausprobiert, mache ich immer per SSH.
Vielleicht funktioniert der Twonky in der nächsten Release wieder zuverlässig. :roll:
Viel Spaß,
snafu79