Problem bei der Einbindung eines VHS-Videorecorders

Moderators: dekarl, daschatten

Post Reply
Jye4RW37
Newcomer
Posts: 7
Joined: Wed Jun 15, 2016 6:02 am
Germany

Problem bei der Einbindung eines VHS-Videorecorders

Post by Jye4RW37 »

Hallo,

seit einigen Wochen habe ich bei mir unter opensuse Leap 42.1 MythTV 0.27 aus dem Packman Repository in Betrieb. Als DVB-C-Quelle verwende ich von Sundtek den USB-Stick MediaTV Pro III (DVB-C/T/T2, FM-Radio, AnalogTV). Das ganze funktioniert super.

Nun würde ich gerne zusätzlich neben meinem DVB-C-Anschluss noch einen alten VHS-Rekorder einbeziehen und komme da leider nicht weiter. Ich habe das Gerät über einen zweiten baugleichen
Sundtek-USB-Stick angeschlossen. Der VHS-Rekorder sendet auf Kanal 66 (831.25 MHz). Mit dem Befehl

Code: Select all

"mplayer -tv driver=v4l2:chanlist=europe-west:channel=66:device=/dev/video1 tv://" 
kann ich auch sehen, dass das Signal ankommt. Nur in MythTV sehe ich nur einen schwarzen Bildschirm.

Bei der Konfiguration bin ich wie folgt vorgegangen:

Capture Card:
Hier habe ich eine neue Karte vom Typ "Analog capture card" mit den Einstellungen
  • Video device: /dev/video1
  • VBI device: /dev/vbi1
  • Audio device: /dev/dsp0
angelegt

Video Sources:
Hier habe ich eine neue Video-Quelle VHS mit den Eigenschaften
  • Listings grabber: No grabber
  • Channel frequency table: europe-west
angelegt

Input Connections:
Hier sehe ich für den zweite Adapter drei Einträge (). Hier habe ich den Eintrag V4L:/dev/video1 mit der Quelle VHS verheiratet. Die von mir getroffenen Einstellungen sind
  • Video source: VHS
  • External channel change command: /bin/true
  • Preset tuner to channel: 66
  • Starting channel: 66
Channel Editor:
Hier habe ich manuell für die Video Source VHS einen Kanal mit den Eigenschaften
  • Channel Name: VHS
  • Channel Number: 66
  • Video Source: VHS
angelegt.

Wenn ich jetzt unter "Watch TV" den VHS-Recorder auswähle, sehe ich allerdings nur einen schwarzen Bildschirm. Im Log des Backends finde ich die Meldungen:

Code: Select all

2016-06-14 22:07:42.858721 I [8567/16062] TVRecEvent recorders/v4lchannel.cpp:558 (SetInputAndFormat) - V4LChannel[7](/dev/video1): SetInputAndFormat(11, PAL) (v4l v2) input_switch: 0 mode_switch: 1
2016-06-14 22:07:42.858762 E [8567/16062] TVRecEvent recorders/v4lchannel.cpp:570 (SetInputAndFormat) - V4LChannel[7](/dev/video1): SetInputAndFormat(11, PAL) 
			while disabling streaming (v4l v2)
			eno: Success (0)
2016-06-14 22:07:42.900016 E [8567/16062] TVRecEvent recorders/v4lchannel.cpp:652 (SwitchToInput) - V4LChannel[7](/dev/video1): SetInputAndFormat() failed
2016-06-14 22:07:42.900025 E [8567/16062] TVRecEvent tv_rec.cpp:3793 (TuningFrequency) - TVRec[7]: Failed to set channel to 66. Reverting to kState_None
2016-06-14 22:07:42.900040 I [8567/16062] TVRecEvent tv_rec.cpp:1050 (HandleStateChange) - TVRec[7]: Changing from WatchingLiveTV to None
Für jeden Tipp, wo hier mein Denkfehler liegt, wäre ich sehr dankbar.

MfG,
Joerg
beppo
Senior
Posts: 159
Joined: Sun Feb 09, 2014 8:12 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by beppo »

Hallo Jörg,

ich glaube du hast nichts falsch gemacht, aber es gibt nen Bug in Mythtv der mit deinem Problem in Zusammenhang stehen könnte.
https://code.mythtv.org/trac/ticket/12336

Kannst du mal nachsehen welche Kernelmodule für deine TV Karte geladen werden?

Vielleicht können wir den Patch aus dem Ticket ja um deine Hardware erweitern.

Ich benutze auch Opensuse, aber da man bei Packman leider die 0.28 nicht bekommt, habe ich mir angewöhnt es selbst zu kompilieren.
Haste das schon mal gemacht?

Viele Grüße

Beppo
Viele Grüße Beppo
Jye4RW37
Newcomer
Posts: 7
Joined: Wed Jun 15, 2016 6:02 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by Jye4RW37 »

Hallo Beppo,

erst einmal vielen Dank für deinen Input.

Ich bin nicht wirklich überzeugt, dass mein Problem zu dem Bug passt. Prinzipiell funktioniert die Kommunikation von mythTV zu dem USB-Stick von Sundtek, über den ich meinen Kabelanschluss laufen lasse, einwandfrei. Nur der zweite baugleiche Stick, an dem mein Videorecorder hängt, macht Ärger. Aufgrund der Meldung im Protokoll bin ich derzeit mehr auf der Schiene, dass hier das Einstellen des (einzigen) Kanals 66, der auf dem Adapter Sinn macht, nicht so funktioniert, wie ich mir das vorstelle.

Bezüglich der Kernel-Module bin ich etwas überfragt. Mein Eindruck ist, dass hier für Sundtek gar keine Kernelmodule zum tragen kommen (zumindest liefert lsmod nichts, was ich hier einsortieren würde). Ich muss einen Daemon (/opt/bin/mediasrv) von Sundtek starten. Ich vermute, der regelt die Kommunkition mit dem USB-Stick. Wie gesagt, für den Stick 1 (Kabel) klappt das wunderbar, insbesondere auch der Kanalwechsel. Derzeit versuche ich (leider bislang erfolglos), über Debug-Schalter des Backends mehr Infos über die abgesetzten Kommandos und eventuell zurück gelieferter Returncodes zu bekommen.

Bezüglich des Selbst-Kompilierens habe ich noch keine Anstrengungen unternommen, da mein Hauptanliegen (Anschauen/Aufnehmen von TV über Kabel) wunderbar klappt. Die Anbindung des Video-Recoders ist mehr ein "nice to have". Für den Fall der Fälle habe ich hier zur Zeit die Möglichkeit über mplayer/mencoder direkt das Signal abzugreifen.

Mit freundlichen Grüßen,
Jörg
beppo
Senior
Posts: 159
Joined: Sun Feb 09, 2014 8:12 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by beppo »

Hallo Jörg,

dann versuch mal dem Backend "-v record,channel" als debug Optionen mitzugeben, dann sieht mal vielleicht etwas mehr.

Grüße Beppo
Viele Grüße Beppo
Jye4RW37
Newcomer
Posts: 7
Joined: Wed Jun 15, 2016 6:02 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by Jye4RW37 »

Hallo Beppo,
beppo wrote:Hallo Jörg,

dann versuch mal dem Backend "-v record,channel" als debug Optionen mitzugeben, dann sieht mal vielleicht etwas mehr.

Grüße Beppo
am Wochenende habe ich mal einige Versuche mit den von dir vorgeschlagenen Debug-Optionen durchgeführt. Leider werde ich aus den resultierenden Logs nicht viel schlauer:

Code: Select all

2016-07-02 16:35:21.901321 I  TVRec[1]: FinishedRecording(1001_2016-07-02T14:35:15Z)
			title: Sportschau
			in recgroup: LiveTV status: Recorder Failed:Recorder Failed not_dummy finished_now
2016-07-02 16:35:21.901503 I  Chain: Updated endtime for '1001_20160702143515' to 20160702143521
2016-07-02 16:35:21.902385 I  SaveVideoProperties(0x3a, 0x2a)
2016-07-02 16:35:21.903302 I  TVRec[1]: ClearFlags(RecorderRunning,) -> RunMainLoop,RingBufferReady,
2016-07-02 16:35:21.903309 I  TVRec[1]: Tearing down RingBuffer
2016-07-02 16:35:21.903454 I  TVRec[1]: ClearFlags(PENDINGACTIONS,) -> RunMainLoop,RingBufferReady,
2016-07-02 16:35:21.903477 D  LiveTVChain(live-pchafjd-2016-07-02T14:35:14Z): dtor
2016-07-02 16:35:21.906719 I  MainServer::ANN Playback
2016-07-02 16:35:21.906724 I  adding: pchafjd as a client (events: 0)
2016-07-02 16:35:21.908161 D  LiveTVChain(): ctor
2016-07-02 16:35:21.918809 I  TVRec[3]: Changing from None to WatchingLiveTV
2016-07-02 16:35:21.918830 I  TVRec[3]: ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2016-07-02 16:35:21.918841 I  TVRec[3]: HandleTuning Request: Program(NULL) channel() input() flags(LiveTV,)
2016-07-02 16:35:21.918851 I  ChannelBase[3]: Looking for startchannel '66' on input 'Television'
2016-07-02 16:35:21.921955 I  ChannelBase[3]: Found startchannel '66' on input 'Television'
2016-07-02 16:35:21.921971 I  TVRec[3]: HW Tuner: 3->3
2016-07-02 16:35:21.921980 I  TVRec[3]: ClearFlags(PENDINGACTIONS,) -> RunMainLoop,
2016-07-02 16:35:21.921986 I  TVRec[3]: No recorder yet, calling TuningFrequency
2016-07-02 16:35:22.501814 I  V4LChannel[3](/dev/video1): Device name 'Sundtek MediaTV Pro 2k12' driver 'Sundtek'.
2016-07-02 16:35:22.501839 I  V4LChannel[3](/dev/video1): v4l2: stream io: 1 std io: 0 async io: 0 tuner 1 sliced vbi 0
2016-07-02 16:35:22.504945 I  ChannelBase[3]: Input #3: 'Television' schan(66) sourceid(2) ccid(3)
2016-07-02 16:35:22.504962 I  ChannelBase[3]: Current Input #3: 'Television'
2016-07-02 16:35:22.505015 I  Global TVFormat Setting 'PAL'
2016-07-02 16:35:22.505449 I  V4LChannel[3](/dev/video1): Input #3: 'Television' schan(66) tun(66) v4l2(PAL)
2016-07-02 16:35:22.505469 I  V4LChannel[3](/dev/video1): SetFormat(Default) fmt(PAL) input(3)
2016-07-02 16:35:22.505551 I  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) (v4l v2) input_switch: 0 mode_switch: 1
2016-07-02 16:35:22.505607 E  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) 
			while disabling streaming (v4l v2)
			eno: Success (0)
2016-07-02 16:35:22.551711 D  ChannelBase[3]: SwitchToInput(Television,66)
2016-07-02 16:35:22.551726 I  Channel(/dev/video1)::SwitchToInput(in 3, '')
2016-07-02 16:35:22.554889 I  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) (v4l v2) input_switch: 0 mode_switch: 1
2016-07-02 16:35:22.554937 E  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) 
			while disabling streaming (v4l v2)
			eno: Success (0)
2016-07-02 16:35:22.598585 E  V4LChannel[3](/dev/video1): SetInputAndFormat() failed
2016-07-02 16:35:22.598599 E  TVRec[3]: Failed to set channel to 66. Reverting to kState_None
2016-07-02 16:35:22.598639 I  TVRec[3]: Changing from WatchingLiveTV to None
2016-07-02 16:35:22.598654 I  TVRec[3]: ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2016-07-02 16:35:22.598668 I  TVRec[3]: HandleTuning Request: Program(NULL) channel() input() flags(KillRec,KillRingBuffer,)
2016-07-02 16:35:22.598776 I  TVRec[3]: ClearFlags(PENDINGACTIONS,) -> RunMainLoop,
2016-07-02 16:35:22.598865 I  TVRec[3]: SetFlags(CancelNextRecording,) -> RunMainLoop,CancelNextRecording,
2016-07-02 16:35:22.614122 I  MainServer::ANN Playback
2016-07-02 16:35:22.614130 I  adding: pchafjd as a client (events: 0)
2016-07-02 16:35:22.616020 I  MainServer::HandleAnnounce FileTransfer
2016-07-02 16:35:22.616025 I  adding: pchafjd as a remote file transfer
Der problematische Funktionsaufruf ist hier ja wohl "SetInputAndFormat(3, PAL)". Leider ist für mich nicht ersichtlich, was hier schief geht. Ich habe dann noch versucht, beim Kanal das TV Format anstelle des Defaults explizit mit anzugeben (PAL-BG bzw. PAL-DK). Das hat aber nichts geändert.

Mit freundlichen Grüßen,
Jörg
beppo
Senior
Posts: 159
Joined: Sun Feb 09, 2014 8:12 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by beppo »

Hallo Jörg,

viel schlauer sind wir nicht, aber wir haben die Information,
Device name 'Sundtek MediaTV Pro 2k12' driver 'Sundtek'
dass der Treiber "Sundtek" heißt. Damit könntest du den Patch von hier
erweitern.
Und somit jedenfalls ausschließen, dass es sich um das Problem handelt was in dem Bug
beschrieben wird.

Eine andere Idee wäre noch zu überlegen, hast du mal probiert eine manuell geplante Aufnahme von dem VHS Gerät zu machen?
Ich verstehe deine Logdaten bisweilen so, dass du immer versuchst über das "Live-TV" auf die VHS Aufnahme zuzugreifen.

Viele Grüße
Beppo
Viele Grüße Beppo
Jye4RW37
Newcomer
Posts: 7
Joined: Wed Jun 15, 2016 6:02 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by Jye4RW37 »

Hallo Beppo,

nochmals Danke für deine ideen. Leider bin ich nicht dazu gekommen, eher zu antworten.
beppo wrote: viel schlauer sind wir nicht, aber wir haben die Information,
Device name 'Sundtek MediaTV Pro 2k12' driver 'Sundtek'
dass der Treiber "Sundtek" heißt. Damit könntest du den Patch von hier
erweitern.
Und somit jedenfalls ausschließen, dass es sich um das Problem handelt was in dem Bug
beschrieben wird.
Das werde ich mir mal genauer anschauen und die Resultate hier posten (Kann allerdings ein paar Tage dauern).
beppo wrote: Eine andere Idee wäre noch zu überlegen, hast du mal probiert eine manuell geplante Aufnahme von dem VHS Gerät zu machen?
Ich verstehe deine Logdaten bisweilen so, dass du immer versuchst über das "Live-TV" auf die VHS Aufnahme zuzugreifen.
Das ist korrekt. Heute habe ich einmal eine manuelle Aufnahme geplant. Die ist leider mit dem gleichen Fehler abgebrochen:

Code: Select all

2016-07-17 21:45:00.001073 I  TVRec[3]: StartRecording("Test (Manuelle Aufnahme)":"2016-07-17 21:45:00")
2016-07-17 21:45:00.001106 I  TVRec[3]: SetRecordingStatus(Unbekannt->Abgebrochen) on line 421
2016-07-17 21:45:00.015515 I  TVRec[3]: StartedRecording(53791_2016-07-17T19:45:00Z) fn(/data/recordings/53791_20160717194500.nuv)
2016-07-17 21:45:00.021895 I  Using profile 'Default' to record
2016-07-17 21:45:00.021942 I  TVRec[3]: ClearFlags(CancelNextRecording,) -> RunMainLoop,
2016-07-17 21:45:00.023001 I  TVRec[3]: SetRecordingStatus(Abgebrochen->Tuning) on line 607
2016-07-17 21:45:00.023027 I  TVRec[3]: Changing from None to RecordingOnly
2016-07-17 21:45:00.023035 I  TVRec[3]: ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2016-07-17 21:45:00.023064 I  TVRec[3]: HandleTuning Request: Program(ProgramInfo(53791_20160717194500.nuv): channame(VHS) startts(Sun Jul 17 19:45:00 2016) endts(Sun Jul 17 19:50:00 2016)
             recstartts(Sun Jul 17 19:45:00 2016) recendts(Sun Jul 17 19:50:00 2016)
             title(Test (Manuelle Aufnahme))) channel() input() flags(Recording,)
2016-07-17 21:45:00.024110 I  TVRec[3]: HW Tuner: 3->3
2016-07-17 21:45:00.024118 I  TVRec[3]: ClearFlags(PENDINGACTIONS,) -> RunMainLoop,
2016-07-17 21:45:00.024122 I  TVRec[3]: No recorder yet, calling TuningFrequency
2016-07-17 21:45:00.389646 D  DTVSigMon[1](/dev/dvb/adapter0/frontend0): Time Offset: 64.6048
2016-07-17 21:45:00.602549 I  V4LChannel[3](/dev/video1): Device name 'Sundtek MediaTV Pro 2k12' driver 'Sundtek'.
2016-07-17 21:45:00.602574 I  V4LChannel[3](/dev/video1): v4l2: stream io: 1 std io: 0 async io: 0 tuner 1 sliced vbi 0
2016-07-17 21:45:00.605947 I  ChannelBase[3]: Input #3: 'Television' schan(66) sourceid(2) ccid(3)
2016-07-17 21:45:00.605964 I  ChannelBase[3]: Current Input #3: 'Television'
2016-07-17 21:45:00.606018 I  Global TVFormat Setting 'PAL'
2016-07-17 21:45:00.606257 I  V4LChannel[3](/dev/video1): Input #3: 'Television' schan(66) tun(66) v4l2(PAL)
2016-07-17 21:45:00.606291 I  V4LChannel[3](/dev/video1): SetFormat(Default) fmt(PAL) input(3)
2016-07-17 21:45:00.606372 I  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) (v4l v2) input_switch: 0 mode_switch: 1
2016-07-17 21:45:00.606428 E  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) 
			while disabling streaming (v4l v2)
			eno: Success (0)
2016-07-17 21:45:00.650972 D  ChannelBase[3]: SwitchToInput(Television,66)
2016-07-17 21:45:00.650984 I  Channel(/dev/video1)::SwitchToInput(in 3, '')
2016-07-17 21:45:00.653551 I  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) (v4l v2) input_switch: 0 mode_switch: 1
2016-07-17 21:45:00.653596 E  V4LChannel[3](/dev/video1): SetInputAndFormat(3, PAL) 
			while disabling streaming (v4l v2)
			eno: Success (0)
2016-07-17 21:45:00.697587 E  V4LChannel[3](/dev/video1): SetInputAndFormat() failed
2016-07-17 21:45:00.697603 E  TVRec[3]: Failed to set channel to 66. Reverting to kState_None
2016-07-17 21:45:00.697637 I  TVRec[3]: Changing from RecordingOnly to None
2016-07-17 21:45:00.697652 I  TVRec[3]: ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2016-07-17 21:45:00.697669 I  TVRec[3]: HandleTuning Request: Program(NULL) channel() input() flags(CloseRec,KillRingBuffer,)
2016-07-17 21:45:00.697697 I  TVRec[3]: ClearFlags(RecorderRunning,) -> RunMainLoop,
2016-07-17 21:45:00.698615 I  TVRec[3]: FinishedRecording(53791_2016-07-17T19:45:00Z)
			title: Test (Manuelle Aufnahme)
			in recgroup: Default status: Rekorder schlug fehl:Rekorder schlug fehl not_dummy finished_now
2016-07-17 21:45:00.700289 I  SaveVideoProperties(0x3a, 0x20)
2016-07-17 21:45:00.701611 I  Updating status for "Test (Manuelle Aufnahme)":"2016-07-17 21:45:00" on cardid 3 (Geplant => Rekorder schlug fehl)
2016-07-17 21:45:00.702140 I  TVRec[3]: ClearFlags(RecorderRunning,) -> RunMainLoop,
2016-07-17 21:45:00.702249 I  TVRec[3]: ClearFlags(PENDINGACTIONS,) -> RunMainLoop,
Viele Grüße,
Jörg
beppo
Senior
Posts: 159
Joined: Sun Feb 09, 2014 8:12 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by beppo »

Hallo Jörg,

sag Bescheid wenn du beim patchen und Paketbau Hilfe brauchst.

Viele Grüße

Beppo
Viele Grüße Beppo
Jye4RW37
Newcomer
Posts: 7
Joined: Wed Jun 15, 2016 6:02 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by Jye4RW37 »

Hallo Beppo,

heute bin ich endlich dazu gekommen, deinen Vorschlag in die Tat umzusetzen. Auf Basis des Packman Source-RPMs habe ich mir ein neues Paket gebaut, in dem ich analog zum Patch die if-Bedingung für den Sundtek-Stick ergänzt habe:

Code: Select all

diff -uNr mythtv-0.27.3-orig/mythtv/libs/libmythtv/recorders/v4lchannel.cpp mythtv-0.27.3/mythtv/libs/libmythtv/recorders/v4lchannel.cpp
--- mythtv-0.27.3-orig/mythtv/libs/libmythtv/recorders/v4lchannel.cpp   2014-07-04 12:18:25.000000000 +0200
+++ mythtv-0.27.3/mythtv/libs/libmythtv/recorders/v4lchannel.cpp        2016-07-23 09:40:12.157627486 +0200
@@ -94,7 +94,7 @@
     has_tuner      = !!(capabilities & V4L2_CAP_TUNER);
     has_sliced_vbi = !!(capabilities & V4L2_CAP_SLICED_VBI_CAPTURE);

-    if (driver_name == "bttv" || driver_name == "cx8800")
+    if (driver_name == "bttv" || driver_name == "cx8800" || driver_name == "Sundtek")
         has_stream_io = false; // driver workaround, see #9825 & #10519

     LOG(VB_CHANNEL, LOG_INFO, LOC + QString("Device name '%1' driver '%2'.")
Nach Austausch der installierten Version durch die neue, funktioniert nun die Aufnahme vom Video-Recorder. Vielen Dank für deine Unterstützung. Etwas irritierend finde ich noch, dass anders als bei den Aufnahmen vom ersten Stick (Kabelanschluß) keine mpg-Dateien erzeugt werden, sondern vielmehr nuv-Dateien. Das ist scheinbar ein MythTV-Eigenes Format (MythTV NuppelVideo). Da muss ich noch lernen, wie ich damit geeignet umgehe. Für die Kabelaufnahmen habe ich das H.264-Transcode-Skript aus dem MythTV Wiki leicht angepasst. Das kommt aber offenbar nicht mit dem nuv-Format klar.

Nochmals vielen Dank und ein schönes Wochenende!

Viele Grüße,
Jörg
beppo
Senior
Posts: 159
Joined: Sun Feb 09, 2014 8:12 am
Germany

Re: Problem bei der Einbindung eines VHS-Videorecorders

Post by beppo »

Hallo Jörg,

super das es jetzt klappt und hab ich gerne gemacht.
Wegen der nuv-Dateien, da könntest du noch mal im Setup mit den Einstellungen von den "Analog Capture Card Types" spielen.

Viele Grüße
Beppo
Viele Grüße Beppo
Post Reply