Joplin als Obsidian Ersatz sah ich mit einem echten Livesync Plugin. Wohl noch besser, wenn auch heavy. Auf WSL Docker installierte ich Pihole und den Openserp Container. CouchDB und diverses muss dann auch noch drauf. RAM und SSD des NUCs füllen sich.
Die SSD Preise gehen immer weiter runter, sodass es am Ende egal sein wird. Ich will eher alles über Syncthing laufen lassen, wobei Treyzor da heute auf dem NUC keine Website anzeigte. Schaltete die Spracherkennung aus – English ging nach einem Neustart.
Ich sollte den NUC also als Scraper, Home Backup (Scripte, DaVinci) und eben Server nutzen, damit ich auf meinem HP nicht das ganze Dockerzeug bei jedem Neustart mitschleppe. Die ca. 150GB von 256 frei sind da etwas wenig aber mal gucken. Ich schaue immer wieder nach PC und RTX Preisen. Es ist doch günstiger, alles per vast.ai oder Collab Pro outzusourcen. Die Strompreise in D und RTX Preise bei beschränktem VRAM sind einfach zu hoch, so lange nicht ständig alles laufen muss. Ich habe mit dem NUC einen Ersatz PC. DaVinci läuft eben auch mit 16 GB zu Not.
Somit alles OK – weiter im Untertitel Programm. Einige Powershell Module geben mir die MediaDuration [Console]::Write((Get-MediaDuration ".\2023-04-25_14-42-16.mkv" -total) -replace '\..*$', '')
Für ein Projekt haben sich in den letzten Wochen folgende Schritte ergeben:
– videopath kopieren -> dann
– project/map/erstes GPX file (wenn vorhanden)
-> Out: YAML: projectname, videopath
GPX:
-> Automatisch per Script Video öffen (mpv) und GPX Map (per Powershell leaf) öffnen (GPXSee)
– Finde gleiche Video=Map-Position für offset (bspw. Überquerung einer Straße) -> Get-Timespan.ps1 videotime maptime -> adjust-gpx-length.py -> neue map speichern in project/ und YAML
– togeojson .\run.gpx > route.geojson
GeoJSON:
– create streets and sights geojson, bounding box (get country by reverse geocode node /bin/offline-geocode-city.cjs 48.3243193,11.658644 -country), via GOL (gpx-info to generate all geojson files: route, streets, sights)
– kopiere YAML, GPX, GeoJSONs, Video (allow local?) und erstelle config.json für PoiGui use
Marker:
– DaVinci Resolve: Marker und Navigation in CC Project
– PoiGUI starten für Markerinfo Prompts
-> Python: Combine marker mit Marker-Infos. Export marker# mit Infos für Prompt – ca. 30 je Prompt da Attention-Limit
-> combine to gpt.txt -> + marker csv -> gpt.srt (ChatGPT bringt Timecodes durcheinander)
Suptitles:
SubtitleEdit: Adjust length, split at linebreaks -> gpt-opt.srt (Macrorecorder?)
– find gaps in gpt-opt.srt -> gaps.txt
– gpt-opt und gaps.txt in VSCode und Synced panes mit GPT fun-facts füllen
Beide srts optimieren (Zeilen löschen, automatisches umschreiben usw.)
– Gab-Subs in den gaps zentrieren -> gaps-centered.srt
Sub Merge:
Join srts in SubtitleEdit:
– Adjust length, Split at linebreaks, Sort by time, Renumber, Export (Macrorecorder?)
Upload to YouTube
Create Chapters mit anderer Markercolor in DaVinci Resolve
Create Introtext mit Chapters
Archive
Extra-Ideen:
– 30s-60s intro from Markers and Photos
– Storymap für Website mit Marker-Photos aus DR (Photoshop optimized) / Use für A/B Thumb testing?
– Map animation from GPX per GPX animator für eventuelles Overlay?
– Map/Videosync upload für interaktive Website mit GeoJSON highlights
– miniguide
– Quiz am Ende aus Fakten
– Translations EFIGS+JAP/KOR/Hindi/Arabic (DeepL?)
– Voiceovers generieren
– Sightshots generieren
…
Meine Mutter kam nach 20:00 aus dem Urlaub zurück. Ich jetzt wieder ohne Auto aber eben etwas im Stress, weil alles langsamer ging, als erhofft. Dennoch bleibt mir vielleicht noch eine Woche zu Hause, bis das Interesse wieder woanders landet. Ich muss die ganzen Scripte und Outputs erst mal organisieren. Es sind hier noch einige Sachen offen, besonders ein GUI, womit jeden Schritt komfortabler starten kann. Es sind eine Menge Parameter – vielleicht auch alles per just runner?
Dann vor 22:00 doch noch joggen. Ein paar Ideen: VScodium nutzen für subtitle und gaps, damit ich das Sync Plugin nicht immer an und ausschalten muss + Separation zu Codihg
Bark wird immer schneller. Untertitel in verschiedenen Sprachen pro Subtitle erzeugen lassen. Wohl kaum über CPU sondern mit Colab checken, was das kosten würde.
Später checkte ich ein Notebook und probierte ein paar Speaker durch. Echt coole Sache bei manchen. Es klingt natürlich aber zu wenig happy für Touren. Immerhin geht das in per Untertitel könnte ich wohl reverse Voiceovers generieren. Das wäre ja auch ein Mehrnutzen. Das Notebook nimmt knapp 37GB weg. Da müsste man seinen Google Account upgraden, wenn ich das in Drive buffern will. Auch nicht so einfach, unter CPU werde ich’s auch mal checken. Die Installation dauert mit den ganzen Downloads einige Minuten… Aber dass alles ging ist eben Klasse. Fraglich nur, wie lange und wie viele GPU Credits ich da nutzen könnte. Es geht also immer noch weiter. Iteration waren 75/s und 1/s. Man bekommt also in unter einer Minute einen recht natürlichen Text. Die Sprachen klingen nur zu langweilig für die übertriebenen ChatGPT Texte. Aber immerhin.
VSCodium brauchte ein extra product.json, um den Microsoft Marketplace zu nutzen. Vielleicht hätten es mehrere Workplaces auch getan aber mal gucken.
Die GPT4-API ist jetzt für alle verfügbar. Es bewegt sich alles schnell. Ohne GPT4 wäre ich nicht so weit mit den ganzen Python Scripten. Ob das alles Einnahmen bringt, wird sich zeigen. Genug eigene Arbeit steckt zumindest auch drin.
Ich ließ nochmal einen Websocket Server von GPT initialisieren. Vielleicht kann das Ding einfach außerhalb DR laufen. Dann ein Script, was dann aus Reslove the timecode an den Server schicken soll. Es gibt für den Rückweg eine API
AddMarker(frameId, color, name, note, duration, --> Bool # Creates a new marker at given frameId position and with given marker information. 'customData' is optional and helps to attach user specific data to the marker.
customData)
Könnte man dann aus dem Webbrowser heraus den Marker generieren? Das würde mir ein paar Konvertier-Schritte ersparen. Muss ich das Wochenende testen!
0 Responses to “Joplin, PoiBench Workflow”