Linux/MythTV: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
→MythWeb funktioniert nicht mit PHP 7
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 19: | Zeile 19: | ||
===Backup der Datenbank=== | ===Backup der Datenbank=== | ||
$ mysqldump -u mythtv - | $ mysqldump -u mythtv -p mythconverg -c > mythtv_backup.sql | ||
oder besser: | |||
$ mysqldump -u mythtv -p mythconverg --add-drop-table --add-locks --allow-keywords --complete-insert --extended-insert --lock-tables --no-create-db --quick --add-drop-table > mythtv_backup.sql | |||
===Restore der Datenbank=== | ===Restore der Datenbank=== | ||
$ mysql -u root -p | $ mysql -u root -p | ||
mysql>drop database mythconverg; | |||
mysql>create database mythconverg; | mysql>create database mythconverg; | ||
mysql>exit | mysql>exit | ||
$ mysql -u mythtv - | $ mysql -u mythtv -p mythconverg < mythtv_backup.sql | ||
===Hostname in der DB ändern=== | ===Hostname in der DB ändern=== | ||
$ mysqldump -u mythtv - | $ mysqldump -u mythtv -p mythconverg -c > mythtv_backup.sql | ||
$ cat mythtv_backup.sql | sed s/\'frontend1\'/\'kidsroom\'/g > mythtv_restore.sql | $ cat mythtv_backup.sql | sed s/\'frontend1\'/\'kidsroom\'/g > mythtv_restore.sql | ||
Zeile 37: | Zeile 40: | ||
mysql>exit | mysql>exit | ||
$ mysql -u mythtv - | $ mysql -u mythtv -p mythconverg < mythtv_restore.sql | ||
=== | ===LCD=== | ||
====LCDproc==== | ====LCDproc==== | ||
LCDproc [http://lcdproc. | LCDproc [http://lcdproc.org/ runterladen] und compilieren/installieren: | ||
cd lcdproc-0.52 | cd lcdproc-0.52 | ||
./configure --enable-drivers=all | ./configure --enable-drivers=all | ||
Zeile 57: | Zeile 55: | ||
cd /home/mythtv | cd /home/mythtv | ||
mkdir lcd | mkdir lcd | ||
cp lcdproc-0.52/LCDd.conf lcd/ | cp lcdproc-0.52/LCDd.conf lcd/ | ||
====Crystalfontz LC-Display 632 seriell==== | |||
Testen:<br> | |||
Testprogramm [http://www.crystalfontz.com/products/632/632_634_linux.tar.gz runterladen]. | |||
cd 632_634_linux | |||
make | |||
./test632_634 /dev/ttyS0 19200 | |||
Treiber: | |||
cp lcdproc-0.52/server/drivers/CFontz.so /home/mythtv/lcd/ | |||
LCDd.conf: | LCDd.conf: | ||
Zeile 75: | Zeile 82: | ||
Reboot=no | Reboot=no | ||
====HD44780 USB==== | |||
Treiber: | |||
cp lcdproc-0.52/server/drivers/hd44780.so /home/mythtv/lcd/ | |||
LCDd.conf: | |||
[server] | |||
Driver=hd44780 | |||
DriverPath=/home/mythtv/lcd/ | |||
[hd44780] | |||
ConnectionType=lcd2usb | |||
Contrast=750 | |||
Brightness=500 | |||
OffBrightness=0 | |||
Size=20x4 | |||
====Demon==== | |||
Starten des Demons (z.B. in /etc/rc.local): | Starten des Demons (z.B. in /etc/rc.local): | ||
/usr/local/sbin/LCDd -c /home/mythtv/lcd/LCDd.conf | /usr/local/sbin/LCDd -c /home/mythtv/lcd/LCDd.conf | ||
Zeile 82: | Zeile 106: | ||
====Links==== | ====Links==== | ||
* [http://www.crystalfontz.com/products/632/index.html Crystalfontz 632] | * [http://www.crystalfontz.com/products/632/index.html Crystalfontz 632] | ||
* [http://lcdproc. | * [http://lcdproc.org/ LCDproc] | ||
* [http://www.mythtv.org/wiki/index.php/LCDproc MythTV Wiki: LCDProc] | * [http://www.mythtv.org/wiki/index.php/LCDproc MythTV Wiki: LCDProc] | ||
* [http://www.mythtv.org/wiki/index.php/LCD_-_CrystalFontz_632_USB_Port MythTV Wiki: Crystalfontz 632 USB] | * [http://www.mythtv.org/wiki/index.php/LCD_-_CrystalFontz_632_USB_Port MythTV Wiki: Crystalfontz 632 USB] | ||
Zeile 110: | Zeile 134: | ||
Nach Aufruf von MythWeb mit einem mobilen Browser kann es sein, dass das Mobile Template ab dann auch bei einem Desktop Browser verwendet wird. Dies kann man zurücksetzen, indem man '''?RESET_TMPL=true''' an die URL anhängt. | Nach Aufruf von MythWeb mit einem mobilen Browser kann es sein, dass das Mobile Template ab dann auch bei einem Desktop Browser verwendet wird. Dies kann man zurücksetzen, indem man '''?RESET_TMPL=true''' an die URL anhängt. | ||
=== | ===LCD-TV ignoriert analogen Toneingang beim Anschluss von Bild über DVI/HDMI=== | ||
Neuere nVidia-Treiber mit neueren Grafikkarten aktivieren generell Ton über HDMI, falls der TV das kann. Dadurch schaltet der TV den analogen Toneingang ab. Aber nicht alle Grafikkarten können wirklich Ton über HDMI ausgeben (durch Verbindung mit Tonausgang auf dem Mainboard). Das Ergebnis ist kein Ton. | |||
Die Lösung besteht darin, die EDID-Info des TVs als Datei abzuspeichern, zu modifizieren (Audiofähigkeiten des TVs entfernen) und in '''xorg.conf''' als zu verwendende EDID-Info anzugeben. | |||
Siehe hier: http://www.mythtv.org/wiki/Configuring_Analog_Sound_DVI_to_HDMI | |||
===Seektable reparieren=== | |||
Quelle: http://www.mythtv.org/wiki/Repairing_the_Seektable | |||
mythtranscode --mpeg2 --buildindex --allkeys --showprogress --infile <filename> | |||
===mythtv-setup 0.26 erkennt DVB-Karten nicht, mythbackend aber schon=== | |||
Fehlermeldung in der Console: | |||
E FE_GET_INFO ioctl failed (/dev/dvb/adapter1/frontend0) | |||
eno: No such device (19) | |||
Laut MythTV-Entwicklern ist das ein Bug in den DVB-Treibern, obwohl es nur auf manchen Rechnern passiert. | |||
Als Workaround kann man nebenbei femon laufen lassen (0 = Adapter-Nummer): | |||
femon -H -a0 | |||
===Nach MySQL-Update kann mythfrontend nicht mehr zur Datenbank connecten=== | |||
Fehler: | |||
QSqlDatabase: QMYSQL driver not loaded | |||
Lösung: | |||
emerge -1 qtsql | |||
===Patches=== | |||
====Bob 2x Deinterlacing funktioniert nicht, weil die Frequenz nicht ganz stimmt==== | ====Bob 2x Deinterlacing funktioniert nicht, weil die Frequenz nicht ganz stimmt==== | ||
Zeile 146: | Zeile 196: | ||
Bei DVB senden einige Sender (PRO7, SAT1, Kabel1, DMAX, DSF, ...) falsche und dauernd wechselnde Kennungen bzgl. Progressive/Interlaced. Das führt dazu, dass MythTV nicht flüssig abspielt. Man muss dann immer wieder (die Einstellung wird nicht gemerkt) nach Play im OSD den Video Scan auf Interlaced stellen statt automatische Erkennung. | Bei DVB senden einige Sender (PRO7, SAT1, Kabel1, DMAX, DSF, ...) falsche und dauernd wechselnde Kennungen bzgl. Progressive/Interlaced. Das führt dazu, dass MythTV nicht flüssig abspielt. Man muss dann immer wieder (die Einstellung wird nicht gemerkt) nach Play im OSD den Video Scan auf Interlaced stellen statt automatische Erkennung. | ||
'''Patch, der den Video Scan fest auf Interlaced stellt''': | '''Patch, der den Video Scan fest auf Interlaced stellt (MythTV 0.21)''': | ||
Index: mythtv/libs/libmythtv/NuppelVideoPlayer.cpp | Index: mythtv/libs/libmythtv/NuppelVideoPlayer.cpp | ||
=================================================================== | =================================================================== | ||
Zeile 186: | Zeile 236: | ||
m_can_double = false; | m_can_double = false; | ||
m_scan_tracker = 2; | m_scan_tracker = 2; | ||
'''Patch, der den Video Scan fest auf Interlaced stellt (MythTV 0.22)''': | |||
--- mythtv/libs/libmythtv/NuppelVideoPlayer.cpp.bak 2010-03-22 14:03:04.717767488 +0100 | |||
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.cpp 2010-03-22 14:29:05.593567418 +0100 | |||
@@ -182,7 +182,7 @@ | |||
video_disp_dim(0,0), video_dim(0,0), | |||
video_frame_rate(29.97f), video_aspect(4.0f / 3.0f), | |||
forced_video_aspect(-1), | |||
- m_scan(kScan_Interlaced), m_scan_locked(false), | |||
+ m_scan(kScan_Interlaced), m_scan_locked(true), | |||
m_scan_tracker(0), m_scan_initialized(false), | |||
keyframedist(30), | |||
// Prebuffering (RingBuffer) control | |||
@@ -1065,7 +1065,7 @@ | |||
return; | |||
SetScanType((m_scan_tracker > min_count) ? kScan_Interlaced : kScan_Progressive); | |||
- m_scan_locked = false; | |||
+ m_scan_locked = true; | |||
} | |||
void NuppelVideoPlayer::SetScanType(FrameScanType scan) | |||
@@ -1081,6 +1081,7 @@ | |||
return; | |||
m_scan_locked = (scan != kScan_Detect); | |||
+ m_scan_locked = true; | |||
m_scan_initialized = true; | |||
m_frame_interval = frame_interval; | |||
@@ -1179,7 +1180,7 @@ | |||
SetScanType(detectInterlace(scan, m_scan, video_frame_rate, | |||
video_disp_dim.height())); | |||
- m_scan_locked = false; | |||
+ m_scan_locked = true; | |||
m_scan_tracker = (m_scan == kScan_Interlaced) ? 2 : 0; | |||
} | |||
@@ -2997,7 +2998,7 @@ | |||
// And initialoze m_scan_tracker to 2 which will immediately switch to | |||
// progressive if the first frame is progressive in AutoDeint(). | |||
m_scan = kScan_Interlaced; | |||
- m_scan_locked = false; | |||
+ m_scan_locked = true; | |||
m_double_framerate = false; | |||
m_can_double = false; | |||
m_scan_tracker = 2; | |||
====MP2-Ton statt AC3-Ton bevorzugen==== | ====MP2-Ton statt AC3-Ton bevorzugen==== | ||
Bei DVB ist der AC3-Ton leiser, als der MP2-Ton. Man muss dann immer wieder (die Einstellung wird nicht gemerkt) nach Play im OSD den Ton auf MP2 umstellen. | Bei DVB ist der AC3-Ton leiser, als der MP2-Ton. Man muss dann immer wieder (die Einstellung wird nicht gemerkt) nach Play im OSD den Ton auf MP2 umstellen. | ||
'''Patch, der dafür sorgt, dass MP2-Ton bevorzugt wird | '''Patch, der dafür sorgt, dass MP2-Ton bevorzugt wird, außerdem werden mehr Infos in die Console ausgegeben (MythTV 0.21)''': | ||
Index: mythtv/libs/libmythtv/avformatdecoder.cpp | Index: mythtv/libs/libmythtv/avformatdecoder.cpp | ||
=================================================================== | =================================================================== | ||
Zeile 232: | Zeile 332: | ||
if (selTrack < 0) | if (selTrack < 0) | ||
selTrack = filter_max_ch(ic, atracks, flang); | selTrack = filter_max_ch(ic, atracks, flang); | ||
'''Patch, der dafür sorgt, dass MP2-Ton bevorzugt wird, außerdem werden mehr Infos in die Console ausgegeben (MythTV 0.22)''': | |||
--- mythtv/libs/libmythtv/avformatdecoder.cpp.orig 2009-10-14 22:33:10.000000000 +0200 | |||
+++ mythtv/libs/libmythtv/avformatdecoder.cpp 2010-03-30 22:56:28.016756358 +0200 | |||
@@ -3096,7 +3096,7 @@ | |||
if ((ctrack >= 0) && (ctrack < (int)numStreams)) | |||
return ctrack; // audio already selected | |||
-#if 0 | |||
+ | |||
// enable this to print streams | |||
for (uint i = 0; i < atracks.size(); i++) | |||
{ | |||
@@ -3113,7 +3113,7 @@ | |||
do_ac3_passthru || do_dts_passthru); | |||
VERBOSE(VB_AUDIO, LOC + " * " + item.toString()); | |||
} | |||
-#endif | |||
+ | |||
int selTrack = (1 == numStreams) ? 0 : -1; | |||
int wlang = wtrack.language; | |||
@@ -3167,7 +3167,7 @@ | |||
selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_DTS); | |||
if (selTrack < 0) | |||
- selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_AC3); | |||
+ selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_MP2); | |||
if (selTrack < 0) | |||
selTrack = filter_max_ch(ic, atracks, flang); | |||
@@ -3182,7 +3182,7 @@ | |||
selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_DTS); | |||
if (selTrack < 0) | |||
- selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_AC3); | |||
+ selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_MP2); | |||
if (selTrack < 0) | |||
selTrack = filter_max_ch(ic, atracks, flang); | |||
'''Patch, der dafür sorgt, dass MP2-Ton bevorzugt wird (MythTV 0.26 Fixes vom Februar 2013)''': | |||
--- mythtv-0.26.0/libs/libmythtv/avformatdecoder.cpp.orig 2013-03-06 09:55:09.000000000 +0100 | |||
+++ mythtv-0.26.0/libs/libmythtv/avformatdecoder.cpp 2013-03-06 09:56:11.000000000 +0100 | |||
@@ -4056,7 +4056,7 @@ | |||
selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_DTS); | |||
if (selTrack < 0) | |||
- selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_AC3); | |||
+ selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_MP2); | |||
if (selTrack < 0) | |||
selTrack = filter_max_ch(ic, atracks, flang); | |||
@@ -4089,7 +4089,7 @@ | |||
selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_DTS); | |||
if (selTrack < 0) | |||
- selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_AC3); | |||
+ selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_MP2); | |||
if (selTrack < 0) | |||
selTrack = filter_max_ch(ic, atracks, flang); | |||
@@ -4119,7 +4119,7 @@ | |||
selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_DTS); | |||
if (selTrack < 0) | |||
- selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_AC3); | |||
+ selTrack = filter_max_ch(ic, atracks, flang, CODEC_ID_MP2); | |||
if (selTrack < 0) | |||
selTrack = filter_max_ch(ic, atracks, flang); | |||
====MythWeb 0.26 bringt Warnungen mit PHP 5.4==== | |||
https://code.mythtv.org/trac/attachment/ticket/11277/mythweb-php54-unknown-function.patch | |||
====MythWeb 0.27 funktioniert nicht mit PHP 7==== | |||
Quelle: https://forum.mythtv.org/viewtopic.php?f=36&t=1213&p=6240#p6240 | |||
<br> | |||
[[File:mysqli.patch]] | |||
<br> | |||
[[File:assignment.patch]] | |||
cd mythweb | |||
patch -p1 < <path>/Mysqli.patch | |||
patch -p1 < <path>/Assignment.patch |