Skip to content

Instantly share code, notes, and snippets.

@newyear2006
Last active April 17, 2023 13:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save newyear2006/b3dcde851cb39c4a3e33985620a1e12b to your computer and use it in GitHub Desktop.
Save newyear2006/b3dcde851cb39c4a3e33985620a1e12b to your computer and use it in GitHub Desktop.
Überträgt Youtube-Video-Transkripte in Objekte zur weiteren Verarbeitung
Function ConvertFrom-YtTranscript {
[CmdletBinding()]
Param(
#[Parameter(ValueFromPipeline,ValueFromPipelineByPropertyName)]
[Parameter(ValueFromPipeline)]
$Transcript,
[switch]
[bool]$PreserveTime
)
Begin {
$Time = ""
}
Process {
ForEach ($line in $Transcript) {
$m= [regex]::matches($line, '(\d+:)?[\d]{1,2}:\d\d')
If ($m.Count -gt 0) {
If ($PreserveTime) {
$Time = $m.groups[0].Value
} else {
# ignoriere Zeitstempel
}
} else {
If ($PreserveTime) {
[PSCustomObject]@{Zeit=$Time;Text=$line}
} else {
$line
}
}
}
}
}
# Beispiel, das Transskript muss bereits in der Windowszwischenablage liegen:
$ts = Get-Clipboard | ConvertFrom-YtTransscipt -PreserveTime
# gibt die Zeilen in der Form "[Zeitstempel] Text" aus
$ts |select @{N='Zeile';E={"[$($_.Zeit)] $($_.Text)"}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment