Jump to content

Sat>Ip für macOS 64 Bit


Recommended Posts

Hab ich woanders schon geschrieben. Neben der Tatsache dass die Server von Embarcadero die letzten Tage nicht wirklich funktioniert haben und ich auch noch anderweitig beschäftigt war/bin dauert das ein bisschen. Für die 64bit Version muss ich diverse Assemblerroutinen umschreiben bzw. durch die der mobilen App ersetzen. Außerdem sind einige Dinge hinzugekommen die ich noch einbinden muss und ffmpeg würde ich auch gerne aktualisieren. Die ändern ihre API (genauer die Structs/Records) häufiger, als manch einer seine Unterwasche. Auch gibt es seit einiger Zeit einen halbwegs funktionierenden Port von Virtualtreeview für Firemonkey. Das nutzen wir wirklich in jedem Projekt und es hat mich ziemlich genervt da etwas "eigenes" machen zu müssen. Irgendwo bei Delphipraxis hab ich den alten Code dazu gepostet. Das würde ich echt gerne noch ersetzen. Alles in allem ist das ziemlich zeitaufwändig und ja es ist in Arbeit, aber braucht halt seine Zeit.

 

Christian   

Link to comment

Erstmal nicht, ich hab hier ja selber einige Macs. Immerhin kann ich jetzt mit dem aktuellen Delphi arbeiten. Die haben wohl etliche Server erneuert. Das wohl derzeit größte Problem wird sein FFMpeg korrekt zu kompilieren. Ich hab mir das irgendwann mal aufgeschrieben und seitdem nicht mehr selber gemacht.

 

Christian

Link to comment

Vielleicht kurz als Zwischeninfo. Ich kann mittlerweile 64bit Anwendungen kompilieren für Mac. Das "alte" Sat>IP Viewer Projekt muss ich wohl komplett neu erstellen und die dazugehörigen Dateien in ein Bundle packen. Das ist zum Glück nur eine Fleissarbeit. Es wird sich auch bei der Anzeige ein bisschen ändern. Bei einem anderen Projekt, was teile des Codes verwendet und auf Linux Hardware läuft, habe ich das ganze schon vor einiger Zeit eingebaut. Im Radiomodus bzw. Idle-Betrieb ist das Hintergrundbild animiert. Dafür nutze ich ein paar Pixelshader und es werden zum Beispiel Senderlogos für Radiosender, oder Albencover dargestellt. Bei TV bleibt alles beim alten.

Link to comment

Mittlerweile kompiliert auch das Sat>IP Viewer Projekt. Ich hab einige Funktionen dafür deaktiviert. So geht UpdateSystemActivity bei der 64bit Version nicht und ich weiß nicht wieso. Da muss ich mich erst belesen. Diese Funktion nutze ich um den Bildschirmschoner zu verhindern. Auch muss ich diverse Funktionen von ffmpeg anpassen, da ffmpeg leider die Struktur der verwendeten Structs öfter ändert, als manch einer seine Unterhosen. Ich könnte jedes mal Fluchen wie ein Kesselflicker. Ich weiß zwar nicht wieso die das machen, irgend einen Grund wird das schon haben, aber es ist ein Unding. Da fliegen Variablen aus raus, neue kommen rein und wir reden hier von Struktur-"Monstern" wie AVFrame oder AVCodecContext und AVFormatContext. 

Wenn dann die Decodierung und wie Wiedergabe funktioniert mache ich mich an die Implementierung von den ganzen Dingern die hier in meiner TODO Liste stehen. Sowas wie Aufnahme von Internetstreams würde ich auch gerne einbauen, aber Apple ist da ziemlich konsequent und das kann ich leider nicht einbinden. 

 

Christian

Link to comment
  • 2 weeks later...

Mittlerweile kompiliert Delphi die Anwendung unter MacOS 64bit und ich habe auf das aktuelle ffmpeg migriert. Video und Radio geht, jetzt mache ich mich an das Einbinden der Dinge die auf der Todo-Liste stehen.

Ich muss allerdings noch etliche Bugs in dem OSX 64 Bit Code von Embarcadero ausmerzen. Mehr dazu werde ich wohl zu gegebenem Zeitpunkt bei Delphipraxis posten.

 

Christian

Link to comment

Jein, ich muss noch einiges an Fehlern in der Cocoa Implementierung von Embarcadero reparieren.

So führt der Menüeintrag "Programm beenden" dazu, dass die Anwendung terminiert wird und alle Klassen nicht korrekt geschlossen werden. In dem mitgelieferten Code steht ein NSApp.Terminate anstelle eines NSApp.Stop. 

Dann verwurstet die Referenzimplementierung meine Menüstruktur. An dem Problem sitze ich gerade, was ziemlich nervig ist. Das hab ich in älteren Versionen schon gepatched. https://www.delphipraxis.net/180558-macos-menueeintraege.html

Jetzt sind noch einige Einträge hinzugekommen, die ich reparieren muss. QM sieht anders aus :)

 

Auch nervig ist, dass der Posix Code teilweise nicht 64bit tauglich ist. Dadurch lief meine Synapse TCP Implementierung unter Mac OS 64 nicht. Zum Glück wusste ich wonach ich suchen darf, denn über diese Probleme bin ich auch schon gestolpert. Wenn man einen Pointer auf DWord mapped gibts halt Probleme, da Zeiger unter 64bit 8byte groß sind und nicht 4.

 

In der alten Version habe ich  mittels UpdateSystemActivity den Bildschirmschoner deaktivert. Das geht nicht mehr, also musste ich eine andere Lösung finden. Die bei stackoverflow aufgeführten Ansätze sind zwar leicht umzusetzen, aber Shellbefehle in einer Appstore tauglichen Anwendung aufzurufen ist nicht möglich. Ich nutze jetzt IOPMAssertionCreateWithName und das scheint zu gehen.

 

Mein iMac 5k hat leider ein Problem mit Ghosting und nach einigen Minuten Radioprogramm abspielen hatte ich das Hintergrundbild für einen längeren Zeitraum noch als Schatten. Um das zu verhindern animiere ich die Anzeige. Das ganze schaut sogar recht gut aus:

 

https://youtu.be/H6HRwyW1LFk

 

Christian

Link to comment

So, mittlerweile habe ich bis auf ein paar kleinere Dinge die auf meiner zu erledigen Liste stehen alles eingebaut. Danach geht es an Langzeittests. Ich gehe mal nicht davon aus, dass die neue Anwendung größere Probleme bereitet, aber bevor ich ein Release veröffentliche sollte das ganze stabil funktionieren.

Bildschirmfoto 2019-08-22 um 20.32.18.jpg

Christian

Link to comment

Ich hab das ganze jetzt den ganzen Tag laufen lassen und soweit scheint alles prima. Ich teste heute noch die Aufnahmefunktionen und werde mal schauen wie ich in einer Sandboxed Anwendung sowas wie einen cronjob erstellen kann, damit programmierte Aufnahmen auch vorgenommen werden.

 

Christian

Link to comment

Aktuell bin ich dabei die Releasebuild zu testen und Sendersuchlauf bzw. alle anderen Dinge die man jetzt nicht so oft im Programm benutzt durchzugehen. Ich denke heute Abend ein Release in den Store zu laden und hoffe mal darauf, dass der Review nicht ewig dauert. 

 

Nur als kurze Info was dann neu ist:

 

-changed: 64bit build with updated ffmpeg decoders, based on the last stable build

-changed: animated idle background (raindrop window glass effect with thunder strokes from time to time). This is intend to prevent burn in on monitors and looks also quite nice. The rendering is done entirely GPU via Pixelshader with very low GPU usage.

-updated: transponder list for Astra 19.2, 23, 28 and Hotbird. 

-changed: the hibernation and screensaver is disabled when you play tv or the option window is open, hibernation is disabled when you listen to radio or record something

 

So gegen 14 Uhr habe ich die Binary hochgeladen. Leider gab es noch keine Rückmeldung wann diese zum Review zur Verfügung steht bzw. in Builds wird sie nicht gelistet. Also heißt es Geduld und wenn morgen noch keine Meldung erscheint, dann frage ich dort mal nach.

Link to comment

Nachtrag: Heute morgen hab ich eine Mail gehabt, dass in der avcodec.dylib diverse API Funktionen benutzt werden, die ich nicht verwenden kann. Sprich ich muss die FFmpeg Bibliotheken neu kompilieren. Mal gucken ob das dann funktioniert.

Link to comment

Hmm, ich habe da sich bei Apple wohl gerade alles etwas zieht meinen PDF Generator aktualisiert und am Freitag um 7 Uhr zum Review freigegeben. Der wartet immer noch und aktuell scheint etwas der Wurm drin zu sein ?

Die Anwendung an sich ist ziemlich einfach und 100% made in Pascal/Delphi. Das ganze Teil stammt übrigens aus den 90ern und damit habe ich teile meiner Referate in PDF kompiliert. Sprich da ist jetzt nix was auf irgendwelche API Funktionen von Apple zurückgreift. Ich hoffe mal wenn ich eine neue Version vom Sat>IP Viewer einreiche geht das etwas schneller von statten. "Früher" hatte man lediglich 1-2 Tage Latenz.

Link to comment

Die Applikation ist durch den automatisierten Test und wartet auf das Review. Wann das nun sein wird kann ich nicht sagen, aber sofern nicht irgendwelche banalen Dinge bemängelt werden, gehe ich mal davon aus, dass die Anwendung dann automatisch im Store erscheint. In 64bit, mit aktuellen Decodern und naja im Rahmen dessen was der Store erlaubt. Ich würde auch gerne die Internetstreams wie DVB  Übertragungen speichern können (exakt so wie im DVBViewer), aber das geht nun einmal nicht.

 

Christian

Link to comment

Super. Vielen Dank.

Läuft schonmal ganz gut auf macmini i5 (2014) mit Netstream4Sat auf 19.2 und 28.2. App Store hat das Update zwar nicht erkannt, aber alte Version löschen und nochmal laden ging dann. Das animierte Regenbild sieht echt cool aus.  Hier und da ruckelts und hakt es noch, aber 10.15 ist ja auch noch nicht final.

Bin mal gespannt was die EyeTV4Beta noch bringt sofern die dann auch mal kommt.

Edited by baldrick
Link to comment

Gerne, hakeln sollte eigentlich nichts, außer das Einstellungsfenster. Das wollte ich komplett umkrempeln (irgendwann). Das Regenbild ist leider notwendig, zumindest bei meinem Mac5k. Das IPS Display brennt immer schneller ein. Wo ich vor einem Jahr noch 10 Minuten brauchte bei einem statischen Bild (wie der IDE), so leuchtet die Anzeige jetzt schon nach 2 Minuten nach. Das statische Bild wird, neben dem Regen, auch immer wieder vergrößert und verkleinert. Da brennt jetzt nix mehr ein, aber mal abgesehen davon ist es schon ärgerlich dass so ein ziemlich teurer Computer solche Macken nach 4 Jahren Nutzung zeigt. Erinnert mich an meinen ersten PC, wo der Norton Commander noch nachdem der PC 4 Stunden abgeschaltet war nachleuchtete :)

 

Christian

Link to comment
  • 5 months later...

Hi hackbart, vielen vielen Dank für den SAT>IP Viewer auf MacOS!

Leider ist die App noch weit von Ihrer grossen Schwester/grossem Bruder dem DVBViewer entfernt. Die App hab ich erst gestern gefunden und heute installiert aber leider an einigen Stellen Probleme gehabt.

Erstmal hier meine Gegebenheiten:

  • MacOSX 10.15.3
  • Octopus Net M4 (4x DVB-C - Vodafone Kabel, 4x DVB-S2 - Astra 28.2°)
  • In einer virtuellen Maschine (Parallels Desktop) läuft der DVBViewer Media-Server mit 2x DVB-C und 2x DVB-S2 vom OctopusNet

Folgendes habe ich am SAT>IP Viewer an Problemchen gefunden:

  • Ich kann nur einen Standard scannen, entweder DVB-C oder DVB-S2, nicht beides gleichzeitig, obwohl der OctopusNet dieses anbietet
  • es scheint auch dass zur Zeit ein Gemischtbetrieb der Standards nicht unterstützt wird
  • Wähle ich unter Einstellungen > Hardware OctopusNet den Eintrag Playlist aus, stürzt die App nach Bestätigung dass ich eine neue Quelle hinzufügen möchte leider ab.
  • an gleicher Stelle wie zuvor nur mit dem DVBViewer Media Server, da passiert nach Bestätigung gar nichts.
  • Mir fehlt die Möglichkeit Sender umzubenennen
  • Leider fehlt auch noch HbbTV & MHEG

Aber ein grosses Lob geht raus für die einfachere Bedienung der App.

Vielen Dank für die sonst sehr gute Arbeit!

Edited by fudel
Link to comment

Einen Wunsch hätte ich noch. Unter Mac gibt es ja das "natürlische Scrollen", welches in entgegengesetzte Richtung gegenüber dem gewohnten in Richtung des Scrollbalkens ist. Ich finde es sehr gewöhnungsbedürftig dass die Lautstärkeregelung mit Mausrad nach vorn "Leiser" und nach hinten "Lauter" wird. Ich möchte da keinen Streit auslösen, wäre es vllt möglich in den Einstellungen die Lautstärkeregelung mit Mausrad persönlich anzupassen? Also so, dass ich mir die Richtung bzw. die Lautstärkeregelung invertieren kann?

Ich hätte dieses Feature eigentlich sehr gerne im SAT>IP Viewer, aber ebenso im DVBViewer.

Vielen Dank im Voraus für die Antwort.

Edited by fudel
Link to comment

Das hatte ich glaube ich umgedreht, weil mich die Lautstärkeregelung mit meinem Trackpad wahnsinnig gemacht hat. Ich packe das mal auf die Liste. Geplant ist die Optionsseite neu zu gestalten, vor allem da der Screenreader mit der verwendeten Komponente nicht funktioniert und Blinde Nutzer da keinen Mucks hören. Das ist leider etwas umfangreicher.

 

Christian

Link to comment
  • 1 month later...

habe Version 1.7.4 geladen, nachdem der SAT-Män heute einen neuen LNB installiert hat, jetzt hab ich also vor der Octopus-Net ein "Unicable".

Der Panasonic TV erkannte das übrigens und spielt alle TV-Programme.
Die SAT>IP 1.7.4 auf iMac läuft, aber es kommt nach Programmauswahl weder Bild noch Ton. Der Stream-Status auf der Octopus für diese Client-IP sagt "Running" und zählt RTP-Packets hoch, aber zeigt nix bei "Speed". Und der Tuner-Status sagt zu dem vom iMac-SAT>IP-Client belegten Tuner "No Signal".

Was muss ich denn auf dem iMac noch machen, um wie früher wieder Bild und Ton zu bekommen?

VG, Michael

Link to comment

Es liegt sicher nicht an der Software, wenn da keine Daten eintrudeln. Die Hardware sollte gefunden und der manuelle Suchlauf auch Sender finden. Es bringt nicht viel die vorkonfigurierte Kanalliste zu laden.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...