Beiträge von DiCon

    Hab leider ziemlich schlechte Nachrichten. Ich habe versucht mir nen kleinen VDR ohne FF-Karte zusammenzuschustern, bin aber sowohl mit softdevice als auch mit pvr350-Plugin gescheitert. Ersteres mochte keine meiner ffmpeg-Versionen (bei der aus dem SVN kompilierte es nichtmal) und mit PVR350 startete das Teil zwar, aber ich bekam weder Bild noch Ton. Allerdings habe ich auch keine andere Eingangsquelle als das analogradio gehabt.
    Ich habe im Moment auch leider nicht genug Zeit, um mich intensiv damit außeinandersetzen zu können :(


    Wenn dir das Plugin wirklich wichtig ist, du sehr vie Zeit hast und sonst niemand Erfahrung mit dem Plugin und aktuellen VDR-Versionen hat, kannst du Versuchen, durch ausprobieren herauszufinden, ab welcher VDR-Version es nicht mehr geht bzw. ob es überhaupt mit der letzten getesteten Version ging. Dann können wir das Problem auf ein Minimum an Änderungen reduzieren. Dann besteht zumindest eine Chance, dass ich quasi "blind" das Plugin aktualisieren kann... Es könnte aber auch eine Menge Arbeit ohne Ergebnisse sein...

    Was mich übrigens grade noch wundert ist, wenn das Plugin generell nicht mehr mit dem aktuellen VDR funktioniert, dass es sonst noch niemanden gestört hat. Also verwendet kaum jemand das Plugin oder aber das Problem liegt beim Auslesen von der Sound-Karte. Aber das werde ich am Wochenende ja hoffentlich merken...

    Da ziemlich offensichtlich der Sound im VDR vermurkst wird und es in den Changelogs einige Änderungen am Sound gab, denke ich, dass das Plugin mit dem aktuellen VDR nicht mehr funktioniert. Hab da schon ein paar Vermutungen und es sollten nicht viele Veränderungen nötig sein.
    Es kann dennoch ein paar Tage dauern, da ich schon länger keinen VDR mehr benutze und bis zum Wochenende auch nicht in der Nähe eines PCs mit analoger TV-Karte bin. Aber dann werde ich mal mit einem minimalen System rumspielen...


    Das Problem mit den Buchstaben für die Quelle "T" werde ich mir dann auch mal ansehen. Ich denke, dass "A" nur fürs Analogradio-Plugin nicht so sinnvoll wäre. Besser wäre, wenn "A" (oder welcher Buchstabe auch immer) von den Plugins definiert werden kann oder zumindest allgemeine Parameter zur Verfügung stellt. Denn sowohl das analogradio als auch das analogtv-Plugin "missbrauchen" schon seit Jahren fremde Parameter, um ganze andere Einstellungen vorzunehmen als vorgesehen.


    EDIT wieder rückgängig gemacht...

    Ich habe zwar nicht sofort eine Idee, aber mal sehen, ob sich da was entwickeln kann :)


    Was ich gerne wüsste bzw. was du ml probieren solltest:

    • Was ist das für eine TV-Karte? (dürfte zwar in dem Fall keine Rolle spielen, aber vielleicht ist es ja irgendwie exotisch)
    • Wie soll der Sound rein? Wenn ich das richtig verstanden habe, soll er ja über ein Loopbackkabel laufen. Ich vermute mal, er soll dann nicht direkt von der Soundkarte wiedergegeben, sondern über die Soundkarte aufgenommen, vom VDR verarbeitet und dann erst wieder über die Soundkarte ausgegeben werden.
    • Ziemlich interessant wäre dann aber, ob der Sound denn ordentlich ist, wenn er direkt wiedergegeben wird. Also: Lautstärke vom Line-In (oder Aux oder wo auch immer das Loop-Kabel reingeht) für die Wiedergabe aufdrehen und in der Aufnahme muten. Kommt dann sauberer Ton aus der TV-Karte? (Ist natürlich nur ein Test und keine dauerhafte Lösung, da der VDR so nicht aufnehmen könnte)
    • Wie funktioniert der Sound vom Analog-TV? Ich bin damit grad nicht mehr vertraut, deswegen weiß ich jetzt nicht, ob es den Sound direkt ausgibt, über die Soundkarte aufnimmt oder vielleicht sogar automatisch die OSS-Kernel-Module zur TV-Karte verwendet.
    • (Verwendest du irgendwelche Parameter für das Plugin? Die default-Einstellungen sollten hier eigentlich genügen...) - Antwort im anderen Thread gesehen.
    • Welche VDR-Version verwendest du? Ich werde jetzt nämlich erstmal Changelogs lesen, um zu sehen, was hier alles passiert ist, seit ich das letzte mal hier hinein gesehen habe. Vielleicht wurde ja etwas am Sound verändert...

    Also: Dann muss das "S" in den Quellcode (device.c, Zeile 26: "source = cSource::FromString("S");") das Plugin muss neu kompiliert werden (sicherheitshalber vorher auch ein "make plugins-clean") und dann muss das "S" natürlich noch in die channels.conf.


    Ich bin mir jetzt nicht ganz sicher, was du davon alles schon gemacht hast und hab dich wohl beim ersten Mal missverstanden: Mit "in die Sourcen" meintest du wohl bereits den Quellcode - Das hab ich wohl überlesen.


    Interessant wäre dann, was sonst so in der syslog steht. Beim Laden des Plugins und beim Umschalten auf den Sender bevor und nachdem die ivtv-Meldung erscheint.


    Das mit den Frequenzen dürfte aber weder etwas mit Kabel noch mit ivtv zu tun haben.
    ivtv habe ich ja bereits selbst einmal ausprobiert.


    Die zwei Kommastellen sind nur noch ein wenig präziser als nur eine. - Die Technik ist genauso wie bei Antenne (deswegen kann man ja auch einfach die mitgelieferte Wurfantenne benutzen) und es handelt sich auch hier um normale UKW-Frequenzen im MHz-Bereich. Da kann man gerne mal 0,1 MHz daneben liegen und der Empfang wird kaum schwächer. Die nächste Kommastelle nennt der Anbieter natürlich, aber darüber dürfte sich ivtv nicht aufregen - Zumal die letzte Stelle bei der Umrechnung in die binäre Darstellung, die ivtv verwendet, bereits im Plugin verloren gehen dürfte.


    Leider habe ich aber keine Idee, wo dieser Fehler herkommen könnte - vor allem, da sich das Plugin oder der Treiber offenbar wirklich nur um einen Faktor 100 zu streiten scheinen.
    Läuft das Radio denn mit anderen Programmen? Zum Beispiel das kleine Radiotool, das irgendwo mit den ivtv-Treibern kommt (utils, tools oder so...)? Habe ich schon gefragt, welche ivtv-Version du verwendest?
    Du kannst natürlich auch mal versuchen, einfach zwei Nullen mehr an die Frequenz zu pappen. Vielleicht reicht das schon, auch wenn ich es nicht erklären könnte.


    (Uff! Das ist jetzt doch wieder ein langer Text geworden. Hoffentlich ist er wenigsten gehaltvoll...)

    Also dann räum ich hier mal ein bisschen auf:


    Zitat


    Egal ob ich jetzt für die Kennung "S" oder "R" ( für Radio Augenzwinkern ) in die Sourcen eintrage:
    Der VDR 1.3.37 steht unter DVB"Namen und PIDS" aktualisieren.


    Also "R" wird schonmal gar nichts (es sei denn, in den letzten VDR-Versionen wurde was geändert), sondern es gibt nur "S", "T" und "C". Wenn du aber was anderes als "T" verwenden möchtest, musst du vorher im Quellcode des Plugins rumpfuschen. Man sollte nur darauf Achten, dass man nicht den selben Buchstaben verwendet, wie die TV-Kanäle. Also solange du keine terrestrische Karte im VDR hast, solltest du einfach "T" für das Radio verwenden. (Was im Code zu ändern ist und auch die Info, dass "T" am besten ist, findest du übrigens in der ReadMe)


    Zitat


    Da ist leider nichts mit


    SUNSHINE LIVE:107300:......


    Wi gebe ich jetzt die NachKomma stelle ein ? Vermutlich muss in den Code ein "geteilt durch 10 oder 100 mit "." als Übergabeparameter


    Das ist in der Tat merkwürdig. Manche TV-Karten benutzen in der Tat einen anderen Faktor, aber das sollte das Plugin erkennen und so umrechnen, dass die Frequemz in kHz angegeben werden muss. Aufgrund der Fehlermeldung könntest du es mal mit Hz (also drei Nullen mehr) versuchen.


    Allerdings hatte ich das mit einer PVR350 noch nicht... Und zusammen mit dem dritten Problem würde ich jetzt mal fragen, ob du dir sicher bist, dem Plugin die richtigen Devices genannt zu haben. Wie lauten denn die Parameter, die du dem Plugin übergibst? Was hierbei bei der PVR350 zu beachten ist, steht übrigens auch in der ReadMe.

    Mir ist grade aufgefallen, dass ich vergessen habe, hier zu erwähnen, dass jetzt ne Version 0.1.3a gibt, weil das Teil unter den neuen VDR-Versionen nicht mehr wollte.


    Ist nichts neues, bei wem es läuft, gibt es kein Grund zum updaten und die 0.1.3a hatte ich schon vor zwei Wochen auf meiner HP ohne es zu erwähnen - also nur der Vollständigkeit halber...

    Öhm... Aus meinem Munde klingt die Frage wohl ein wenig albern, aber kompiliert das analogradio-Plugin wirklich unter >=1.3.32?


    Bin nämlich eben darauf hingewiesen worden, dass jemand Probleme beim kompilieren hat und beim testen habe ich festgestellt, dass es ab 1.3.32 tatsächlich nicht mehr will.
    Werde wohl auch noch Patchkombinationen testen müssen...

    Es kann durchaus sein, dass es an der LPCM-Codierung liegt, da Audio unkomprimiert und ohne Bild recht selten ist. Ich bin mir nicht ganz sicher und grade ein wenig zu faul, um Quellcode nachzusehen, aber es könnte sein, dass das MP3-Plugin und/oder Muggle auch so arbeiten. Jedenfalls ist LPCM im TS-Stream meines Wissens nicht verboten :D

    Hey! Die PVR tuts doch (hab ich in dem anderen Thread doch auch erwähnt, oder?). Hab die hier persönlich in meinem VDR laufen gehabt (bei dem inzwischen die Platte ihr Leben ausgehaucht hat).


    Ich hab zwar immer nur Debian als VDR-Basis benutzt, aber man sollte eigentlich in jeder Distri die Komandozeile ändern können - sind ja alles nur Scripte.
    Ebenso müsste es was in den Logs geben. Damit ist keine eigene vom VDR gemeint, sondern /var/log/syslog. Da ist bisher immer alles brav aufgetaucht, was das Radio zu meggern hatte :)


    Ich stimme deiner Vermutung auch zu, dass es irgendwo beim /dev/dsp scheitern muss. Welcher Treiber aus welchem Kernel benutzt du denn da? Ich würde mir gerne mal die Doku anschauen, um zu erfahren, was genau da rauskommen sollte...

    Nachdem ich das Handbuch auf der Herstellerseite gefunden und nochn bissl hier gesucht habe, kann ich teilweise schonmal selbst antworten:
    - Die PVR passt. Da die ein wenig kleiner ist, als die Nexus, könnte ich sogar Glück haben, dass der Trichter draufbleiben kann.
    - 5.1 analog ist prinzipiell möglich. Die Frage bleibt nur, ob das unter Linux schon wer hinbekommen hat.

    Heute hat es bei mir nen Todesfall gegeben. Die Festplatte meines VDR macht nur noch sssSSSZZZTKlickidiWRRRRRRRRRöööp, was bedeutet, dass meine Filme weg sind, ich ne neue Platte brauche und vor allem, dass ich nen komplett neuen VDR aufsetzen muss.


    Und da dachte ich mir, da ich schonmal dabei bin, neu aufzusetzen und zu kaufen, kann ich ja direkt alles machen, was vor allem bedeutet, dass mal ein schöneres und leiseres Gehäuse fällig ist, als das, was ich jetzt habe.


    Dabei habe ich folgende Bedingungen herausgearbeitet
    - nicht allzu teuer
    - 5.1 als analoge Ausgabe über 3 normale Stecker (wegen veralteter Anlage)


    Den Pundit-R fand ich da absolut genial und daher meine Hauptfrage:
    Kann der Pundit-R das 5.1-Signal analog ausgeben und hat das jemand unter Linux am laufen?


    Und da ich schomal dabei bin, noch ein paar Fragen zum Pundit:
    - Geht sonst alles unter Linux? (hab schon was von nicht funktionierendem WoL und Kartenleser gehört - für mich nicht so schlimm)
    - Welche CPU (auch billig) könnt ihr empfehlen? (vor allem wegen der Temperatur)
    - Kann prinzipiell jedes Laufwerk hochkannt eingebaut werden? (ich weiß, der Pundit kann auh liegen)
    - Passt ne PVR350 hinein? Da ich umziehe und da nur Kabel-TV habe, brauche ich Analog-TV (hätte ich das gewusst, bevor ich neulich eine PVR350 weggeschickt habe) und wollte den VDR alleine über ne PVR350 laufen lassen (das geht ja laut Wiki)
    - Spricht sonst irgendetwas gegen den Pundit?

    Mit den Tools von ivtv bekommst du auch nichts? Das klingt dann aber nicht so gut.
    Was sagt denn lsmod? Ist der ivtv-Treiber auch sicher geladen?
    Existiert das Radio-Device? Also was passiert bei "cat /dev/radio" bzw. "cat /dev/radio0"?
    Funktioniert denn TV mit der PVR?

    Also ich hab mich jetzt mit der PVR beschäftigt und musste überrascht feststellen, dass die wunderbar mit der Testversion des Plugins funktioniert, die ich vor einer Weile mit Olafs Hilfe zusammengeschustert habe. Was genau dann nicht geklappt habe, kann ich nicht erklären, aber was ich definitiv sagen kann, ist, dass ich hier ohne großen Aufwand EinsLife aus den Boxen bekomme und dazu eine PVR 350 verwende.


    Das habe ich dafür gemacht:
    Den neusten (0.3.7a) ivtv-Treiber installiert und vdr mit

    Code
    -P "analogradio -r \"/dev/radio0\" -s \"/dev/video24\" -m RAW"


    gestartet.
    Mehr war nicht nötig!
    Meine ursprüngliche channels.conf klappt prima:

    Code
    EinsLive:106500:I1C0D0M0B8T8G8Y0:T:0:0:300:0:0:1:0:0:0


    Die meiste Zeit habe ich damit verbracht, festzustellen, dass die Frequenz 106,7 MHz in meiner neuen Wohnung nicht klappt, sondern erst bei 106,5 was kommt, aber das ist eine andere Geschichte...


    Interessant ist vielleicht noch, dass ich noch den VDR 1.3.23 benutze, weil das System fast ständig in Gebrauch ist, aber da es bisher keinerlei Probleme mit den neueren VDR-Versionen gab, sollte das auch jetzt kein Probleme machen.


    Also wird der Testdownload, den ich hier mal angehangen habe offiziell zur Version 0.1.3.

    Nur um nochmal ein Lebenszeichen von mir zu geben: Wenn morgen mein Klausurergebnis stimmt, habe ich wieder Zeit und werde ab Montag am Plugin arbeiten und mal wieder die PVR angreifen.


    Zu der Sache mit vdrconvert kann ich nicht viel sagen, da ich vdrconvert nur versteckt im burn-Plugin benutze, aber nach den Log-Dateien sieht es für mich so aus, als würde vdrconvert fälschlicherweise annehmen, dass es sich ums AC3-Format handelt. Die Daten vom Plugin kommen aber als LPCM (Linear Pulse Code Modulation), also im Roh-Format (wie in den guten alten WAV-Dateien) an. Ist aber jetzt reine Spekulation und basiert wie gesagt nur auf dem Wortfetzen "AC3" aus dem Log.

    Die Idee mit dem Sortieren ist definitiv nicht besser. Selbst der beste Sortieralgorithmus hat eine Ordnung von O(n*log(n)). (Da bringt mir Informatik als Nebenfach zum Physik-Studium ja auch mal was). Soll heißen: Allein das Sortieren dauert länger, als das Array einfach abzulaufen. Sortieren hilft hier nur, wenn zwischen zwei Test einzelne Werte hinzukommen und diese direkt sortiert eingefügt werden könnten.


    Für dein Problem habe ich aber jetzt noch keine Idee, um das zu optimieren...

    Wenn es sich einfach um ein unsortiertes Array handelt, bleibt dir wohl nichts anderes übrig, als eine Schleife zu benutzen, schließlich muss jedes Feld in die Überlegung einbezogen werden, ob ein bestimmter Wert Maximum oder ob alle Felder = 0 sind. Beim Durchschnitt kannst du natürlich ein paar repräsentative Werte nehmen, falls der nicht so genau sein muss.


    Weitere Optimierungen kannst du aber nur dann vornehmen, wenn du ein bischen was über die Daten weißt oder sie sortierst. Entscheidend ist, woher die Daten in welcher Form kommen und wie oft du welche Operationen darauf ausführen musst.


    Bei der Situation "zufälliges Array ohne weitere Informationen" kann man meines Wissens das Maximum und ob alle = 0 sind nur mit der Ordnung O(n) ermitteln. Zu deutsch: Bei n Elementen braucht man n Operationen (also Vergleiche). Wenns besser werden soll, musst du ein paar Infos mehr ausspucken...

    Hm... Ich tippe mal blind und ohne Testmöglichkeiten darauf, dass das daran liegt, dass sowohl die DVB-T-Karte, als auch das Radio-Plugin in der channels.conf als Quelle "T" benutzen. Der Versuch, "C" statt dessen zu benutzen ist im Grunde nicht schlecht, aber dann muss auch das Plugin wissen, dass es jetzt "C" liefern soll.


    Dazu musst du in der Datei "device.c" in Zeile 26 (je nach Version vielleicht etwas höher oder tiefer):

    Code
    source = cSource::FromString("T");


    zu

    Code
    source = cSource::FromString("C");


    ändern.
    Dann das übliche make plugins-clean; make plugins und evtl. das Plugin in dein Pluginverzeichnis kopieren.


    Bin mir aber nicht sicher, ob VDR dann noch die anderen Parameter schluckt und ob es überhaupt daran liegt, aber probieren kann man es ja mal.