VLC nächste Datei anzeigen

Nightmare85

Captain
Registriert
Apr. 2007
Beiträge
3.647
Hallo,

ich habe eine m3u-Datei, in der verschiedene mp4-Dateien definiert sind.

Mit dem VLC Player lässt sich die Playlist problemlos abspielen.

Ist es möglich, dass mir VLC kurz vor dem Beginn der nächsten Datei den Dateinamen anzeigt?
(Einfache Texteinblendung, wie z.B. bei Untertiteln)

Die Playlisten sind immer unterschiedlich.

Viele Grüße
 
Also das Standardverhalten ist, dass VLC den Medientitel anzeigt zu Beginn.

Der ist, wenn die Datei keinen eingebetteten TItel hat, sein Dateiname. Dummerweise gibt es glaube ich keine Möglichkeit, den Dateinamen zu erzwingen.

Da ist die Option ("Medientitel im Video einblenden"):
1630920274976.png
 
  • Gefällt mir
Reaktionen: Nightmare85
Hi und danke für deinen Support.

Die Idee ist an sich nicht schlecht,
aber wenn das Video anfängt brauche ich den Titel nicht mehr, weil der bereits im Video drin steht (grafisch).

Es geht um Musikvideos, wo ich gern vor dem Beginn des Videos an meinem Musikinstrument Einstellungen vornehme.
Wenn das Video beginnt, wird es zeitlich knapp, da noch was einzurichten.

Eine Idee wäre vllt eine Art dynamische Untertitel.

Dafür müsste ich z.B. mit MediaInfo
die Länge der jeweiligen Videos ermitteln und dann in jedem Video den Namen des nächsten Videos paar Sekunden vor Schluss einblenden lassen.
Die Namensliste ist ja in der m3u.

Die Videos selber möchte ich nicht editieren, weil die Reihenfolge und Playlist immer unterschiedlich sein kann.

Was meint ihr?

Grüße
 
  • Gefällt mir
Reaktionen: tollertyp
Wie viele Videos sind es denn?
Wenn das überschaubar ist, einfach in einem Schnittprogramm einen Titel davor hängen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Nightmare85 und derlorenz
Ja, danke, nun habe ich das Problem besser verstanden.

Oder: Untertitel kann man ja als SRT-Datei machen. Um nicht alle Videos neu schneiden zu müssen, könntest du auch versuchen ein Dummy-Video zu nehmen mit nur schwarzem Bild, von z.B. 10 Sek länge, und dann das pro Video, das du brauchst nochmal separat zu kopieren. Und dann für das kopierte Video eine passende Untertitel-Datei anlegen. Vorausgesetzt, VLC lädt die Untertitel auch automatisch.

Das Dummy-Video eben kopieren, weil darüber dann die "Verbindung" zu der Untertitel-Datei stattfindet.

Dass es dann z.B. grob so aussehen würde:
1630926476736.png

Die Syntax von SRT-Dateien ist im Internet sicher irgendwo dokumentiert.

Dann müsstest du die passenden Dummy-Videos in der Playlist eben vor das jeweilge Stück machen, in meinem Beispiel eben die Videos "Einstellung 1" und "Einstellung 2".

Hat seine Vor- und Nachteile halt. Aber wird bestimmt nicht wenig Arbeit´- egal welche Variante du machst.

Falls VLC die Untertitel nicht automatisch lädt: Muss es VLC sein?
 
  • Gefällt mir
Reaktionen: Nightmare85
Nightmare85 schrieb:
Eine Idee wäre vllt eine Art dynamische Untertitel.

Dafür müsste ich z.B. mit MediaInfo
die Länge der jeweiligen Videos ermitteln und dann in jedem Video den Namen des nächsten Videos paar Sekunden vor Schluss einblenden lassen.

Das ist jetzt auch das einzige, was mir eingefallen ist.
Sollte auch nicht kompliziert sein.
Die Videolaenge sollte man auch ueber die Dateiattribute bekommen (Win 10).

Standardaufbau einer SRT-Untertiteldatei:
Code:
1
00:00:00,000 --> 00:00:05,000
Text


Nachtrag:

Geht sicherlich auch eleganter, dann muss da wer ran, der sich auch mit Powershell auskennt.
Skript ins Verzeichnis Kopieren und ausfuehren.
Alle Dateien mit Ausnahme von Ordnern, PS1, SRT und TXT erhalten eine SRT (Sortierung: alphabethisch).
Zeit wird in Zeile 2 in Sekunden definiert (Aktuell 1 Minute).

Code:
$folder   = $PSScriptRoot # aktuelles Skriptverzeichnis
$preptime = 60*1 # in Sekunden


$shell = New-Object -COMObject Shell.Application
$shellfolder = $shell.Namespace($folder)

# Dateien in Verzeichnis $folder auslesen, ohne angegebene Formate und ohne Ordner
$files = Get-ChildItem -Path $path | Where-Object { (-not $_.PSIsContainer) -and (@(".ps1", ".srt", ".txt") -notcontains $_.Extension) }

# For-Schleife durch alle gefunden Dateien
for ($i=0; $i -lt $files.Count-1; $i++) {

    $ShellFile = $shellfolder.ParseName($files[$i])

    # Videolaenge aus Dateieigenschaften in Sekunden
    $Dura = $ShellFile.ExtendedProperty("System.Media.Duration")/10e6


    $dura_end = New-TimeSpan -Seconds $Dura
    $dura_start = $dura_end - [int32]10e6*$preptime

    $new_file = $files[$i].DirectoryName + "\" + $files[$i].BaseName + ".srt"
   
    set-content -LiteralPath $new_file "1"
    Add-content -LiteralPath $new_file ($dura_start.ToString("hh\:mm\:ss") + ",000" + " --> " + $dura_end.ToString("hh\:mm\:ss") + ",000")
    Add-content -LiteralPath $new_file $files[$i+1].BaseName
}
 

Anhänge

Zuletzt bearbeitet: (Skript ergaenzt)
  • Gefällt mir
Reaktionen: Nightmare85
Zurück
Oben