Schiebe Register? Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

effel
Posts: 537
Joined: 16 Jan 2018, 13:34

Schiebe Register?

Post by effel » 06 Jan 2023, 17:11

Hallo AHK Gemeinde,

ich lese die Untertitel eines Videos aus. Das funktioniert bei Flix und Prime einwandfrei. Jedoch macht mir YouTube Probleme, weil dort (mit wenigen Ausnahmen) die Untertitel Wortweise hinzu gefügt werden.

Der Text wird wie üblich in zwei Zeilen ausgegeben, wobei das erste Wort in der unteren Zeile angezeigt wird, ist die Zeile voll, rutscht sie nach oben und der weitere Text wird darunter hinzu gefügt, usw...

In der Tabelle zeige ich einen Ausschnitt der gut demonstriert, was ich an Daten erhalte.

  • 309025046 doch
    309026312 doch der will keine
    309027171 doch der will keine voreiligen
    309027781 doch der will keine voreiligen schlüsse ziehen
    309028546 doch der will keine voreiligen schlüsse ziehen und nimmt
    309029203 doch der will keine voreiligen schlüsse ziehen und nimmt sich zeit
    309030062 doch der will keine voreiligen schlüsse ziehen und nimmt sich zeit nach
    309031109 ziehen und nimmt sich zeit nach einem monat
    309031984 ziehen und nimmt sich zeit nach einem monat in dem er
    309032718 ziehen und nimmt sich zeit nach einem monat in dem er analysiert und
    309034453 monat in dem er analysiert und prüft findet
    309035156 monat in dem er analysiert und prüft findet er wonach er sucht
    309037281 monat in dem er analysiert und prüft findet er wonach er sucht der
    309038046 findet er wonach er sucht der abdruck auf dem
    309039218 findet er wonach er sucht der abdruck auf dem kissenbezug stammt
    309040609 auf dem kissenbezug stammt vom linken daumen
    309041734 auf dem kissenbezug stammt vom linken daumen und er stimmt
    309044171 auf dem kissenbezug stammt vom linken daumen und er stimmt mit der außenseite
    309045140 von robert knights linken daumen über ein
    309049093 ich
    309050296 ich habe zusätzliche
    309051437 ich habe zusätzliche zeit damit verbracht den
Hat jemand eine Idee wie ich das angehen muss?

Liebe Grüße aus Köln und viel Glück in 2023

swagfag
Posts: 6222
Joined: 11 Jan 2017, 17:59

Re: Schiebe Register?

Post by swagfag » 06 Jan 2023, 20:37

  • httpget a youtube videos html source
  • find ?????captions.playerCaptionsTracklistRenderer.captionTracks[0].baseUrl in the source and get the url it points to
  • html unescape the &(\x0026) and possibly other encoded characters in the url
  • httpget the xml from that url
  • parse the xml however u like
    image.png
    image.png (26.39 KiB) Viewed 1106 times

Rohwedder
Posts: 7510
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Schiebe Register?  Topic is solved

Post by Rohwedder » 08 Jan 2023, 04:31

Hallo,
versuch mal:

Code: Select all

Sätze =
(
doch
doch der will keine
doch der will keine voreiligen
doch der will keine voreiligen schlüsse ziehen
doch der will keine voreiligen schlüsse ziehen und nimmt
doch der will keine voreiligen schlüsse ziehen und nimmt sich zeit
doch der will keine voreiligen schlüsse ziehen und nimmt sich zeit nach
ziehen und nimmt sich zeit nach einem monat
ziehen und nimmt sich zeit nach einem monat in dem er
ziehen und nimmt sich zeit nach einem monat in dem er analysiert und
monat in dem er analysiert und prüft findet
monat in dem er analysiert und prüft findet er wonach er sucht
monat in dem er analysiert und prüft findet er wonach er sucht der
findet er wonach er sucht der abdruck auf dem
findet er wonach er sucht der abdruck auf dem kissenbezug stammt
auf dem kissenbezug stammt vom linken daumen
auf dem kissenbezug stammt vom linken daumen und er stimmt
auf dem kissenbezug stammt vom linken daumen und er stimmt mit der außenseite
von robert knights linken daumen über ein
ich
ich habe zusätzliche
ich habe zusätzliche zeit damit verbracht den
)
N := 1
Loop, Parse, Sätze, `n
{
	N += StrLen(S%N%) > StrLen(A_LoopField)
	S%N% := A_LoopField ; immer der jeweils längste Satz
}
Loop,% N-1
{
	No := A_Index+1
	Loop,% Min(StrLen(S1), StrLen(S%No%)) - 6
		Len := A_Index + 6
	Until, Ok := SubStr(S1, 1-Len) = SubStr(S%No%, 1, Len)
	IF OK ; = Schnittmenge gefunden (mit 7 Zeichen Mindestlänge)
		S1 .= SubStr(S%No%, Len+1)
	Else S1 .= " " S%No%
}
MsgBox,% S1

effel
Posts: 537
Joined: 16 Jan 2018, 13:34

Re: Schiebe Register?

Post by effel » 08 Jan 2023, 06:47

swagfag wrote:
06 Jan 2023, 20:37
vielen Dank

Rohwedder wrote:
08 Jan 2023, 04:31
Hallo, versuch mal
vielen Dank, es läuft perfekt.


Unbenannt.png
Unbenannt.png (8.89 KiB) Viewed 1045 times

User avatar
Gucky_87
Posts: 375
Joined: 03 Jul 2014, 05:09

Re: Schiebe Register?

Post by Gucky_87 » 06 Feb 2023, 06:34


effel
Posts: 537
Joined: 16 Jan 2018, 13:34

Re: Schiebe Register?

Post by effel » 06 Feb 2023, 11:47

Gucky_87 wrote:
06 Feb 2023, 06:34
Keine Ahnung#, ob Dir das hilft...
Danke Gucky, dieser Link ist ab sofort ein Lesezeichen Vermerk in meinem Browser, den Service werde ich sicher ab und zu verwenden. Zumal das Angebot auch noch kostenfrei ist.

Post Reply

Return to “Ich brauche Hilfe”