chapterEditor(Chapter-Database Disc2mkv Matroska-Tools[Tags,Menu,Multi-MKV])+CLI

  • Mit dem VLC können "Lesezeichen" angelegt und in verschiedenen Wiedergabelistenformaten (Playlists) abgelegt werden. Diese Lesezeichen sind praktisch wie Kapitelmarken zu behandeln. Das hat den Vorteil, dass sie visuell angelegt werden können, es müssen keine Timecodes notiert und übertragen werden. Dein Editor könnte sie wie ein chapter file behandeln. Das "originale" VLC-Format ist xspf.

    http://0cn.de/et2n

  • Ich habe mir mal dein zip gesaugt und mir die drei dateien angeschaut.


    Ich seh da nicht gleich durch:
    wie soll der aufbau funtionieren? ich sehe lediglich als einziges anzsatzzeichen das keywort "time="
    was bedeutet die zahl dahinter sind das bilder oder sekunden?

    wieso gibt es mehrere reihen wo anfangs immer das gleiche steht, und lediglich in jeder neuen reihe ein weiterer eintrag am ende dazu kommt.

  • Ein etwas größeres update kommt mit rev0.40

    Jede menge neue Funtkionen und bugfixes.

    Der test-mode für BD-demux-komplett ist auch deaktiviert.

  • Ich habe mal ein anderes Beispiel gewählt. Die folgenden Lesezeichen wurden erzeugt:

    [Blockierte Grafik: http://i.imgur.com/8wSHv6W.png]


    Der VLC speichert nun in den Playlists auch "alte" Lesezeichen ab, die früher mal erzeugt wurden, aber nicht mehr relevant sind. Entscheidend ist deshalb nur die letzte #EXTVLCOPT:bookmarks-Zeile. Jedes Lesezeichen hat einen Namen und die Zeit in ganzen Sekunden vom Begin des Videos. Was bytes= bedeutet, weiß ich nicht sicher, das wird aber nicht benötigt.

    Das ist die originale m3u:

    Code
    #EXTM3U#EXTINF:304,voyager.mkv#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=26}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=26},{name=Ohne Titel,bytes=-1,time=169}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=169}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=157}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=155}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=162}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=304}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}#EXTVLCOPT:bookmarks={name=Ohne Titel,bytes=-1,time=20}#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Xvid Stop,bytes=-1,time=303}/Users/Private/Movies/voyager.mkv#EXTINF:304,voyager.mkv#EXTVLCOPT:start-time=20000000#EXTVLCOPT:stop-time=156000000#EXTVLCOPT:ttl=(null)/Users/Private/Movies/voyager.mkv

    Und diese wird genau so richtig verarbeitet:

    Code
    #EXTM3U#EXTINF:304,voyager.mkv#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Xvid Stop,bytes=-1,time=303}/Users/Private/Movies/voyager.mkv#EXTINF:304,voyager.mkv#EXTVLCOPT:start-time=20000000#EXTVLCOPT:stop-time=156000000#EXTVLCOPT:ttl=(null)/Users/Private/Movies/voyager.mkv

    Entsprechend die xspf original:

    XML
    <?xml version="1.0" encoding="UTF-8"?><playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">	<title>Wiedergabeliste</title>	<trackList>		<track>			<location>file:///Users/Private/Movies/voyager.mkv</location>			<duration>304800</duration>			<extension application="http://www.videolan.org/vlc/playlist/0">				<vlc:id>0</vlc:id>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=26}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=26},{name=Ohne Titel,bytes=-1,time=169}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=169}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=157}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=155}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=162}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=304}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}</vlc:option>				<vlc:option>bookmarks={name=Ohne Titel,bytes=-1,time=20}</vlc:option>				<vlc:option>bookmarks={name=x264 Start,bytes=-1,time=20},{name=Ohne Titel,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}</vlc:option>				<vlc:option>bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Ohne Titel,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}</vlc:option>				<vlc:option>bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Ohne Titel,bytes=-1,time=303}</vlc:option>				<vlc:option>bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Xvid Stop,bytes=-1,time=303}</vlc:option>			</extension>		</track>		<track>			<location>file:///Users/Private/Movies/voyager.mkv</location>			<duration>304800</duration>			<extension application="http://www.videolan.org/vlc/playlist/0">				<vlc:id>1</vlc:id>				<vlc:option>start-time=20000000</vlc:option>				<vlc:option>stop-time=156000000</vlc:option>				<vlc:option>ttl=(null)</vlc:option>			</extension>		</track>	</trackList>	<extension application="http://www.videolan.org/vlc/playlist/0">			<vlc:item tid="0"/>			<vlc:item tid="1"/>	</extension></playlist>

    Funktioniert auch bereinigt:

    XML
    <?xml version="1.0" encoding="UTF-8"?><playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">	<title>Wiedergabeliste</title>	<trackList>		<track>			<location>file:///Users/Private/Movies/voyager.mkv</location>			<duration>304800</duration>			<extension application="http://www.videolan.org/vlc/playlist/0">				<vlc:id>0</vlc:id>				<vlc:option>bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Xvid Stop,bytes=-1,time=303}</vlc:option>			</extension>		</track>		<track>			<location>file:///Users/Private/Movies/voyager.mkv</location>			<duration>304800</duration>			<extension application="http://www.videolan.org/vlc/playlist/0">				<vlc:id>1</vlc:id>				<vlc:option>start-time=20000000</vlc:option>				<vlc:option>stop-time=156000000</vlc:option>				<vlc:option>ttl=(null)</vlc:option>			</extension>		</track>	</trackList>	<extension application="http://www.videolan.org/vlc/playlist/0">			<vlc:item tid="0"/>			<vlc:item tid="1"/>	</extension></playlist>

    VLC speichert alles mögliche in seinen Playlists, so auch mehrere Tracks. Beim m3u(8)-Format steht die zugehörige Videodatei am Ende einer Reihe von Doppelkreuzanweisungen #, selbst ohne beginnendes Doppelkreuz. Beim xspf-Format wird die Videodatei jeweils von <track> ... </track>-Tags geklammert, der Name steht bei <location>file:. Die Unterstützung eines der Formate mit den Lesezeichen als Kapitel wäre schön.

    PS: Die kürzest möglichen funktionierenden Playlists wären jeweils:

    Code
    #EXTM3U#EXTVLCOPT:bookmarks={name=x264 Start,bytes=-1,time=20},{name=x264 Stop,bytes=-1,time=156},{name=Xvid Start,bytes=-1,time=161},{name=Xvid Stop,bytes=-1,time=303}/Users/Private/Movies/voyager.mkv

    Einmal editiert, zuletzt von Endoro (15. Oktober 2015 um 21:00)

  • danke für die super erklärung.
    Ich hatte selbst etwas getestet mit meiner VM und VLC aber, wie solls anders sein wenn man das Programm nicht kennt, man findet nichts :)

    Das es um die "letzte" zeile geht konnte ich mir fast denken.
    Also egal was man da jetzt alles drinne hat, ich muss mich nur um den letzten eintrag kümmern?

    Oder soll wenn man so eine playlist bei XML lädt mehrere Versionen erzeugt werden?

    Ich denke das ich da jetzt soweit im Bilde bin. Habe aber viel arbeit am Haus. Denke mal aber das sollte nicht so schwer werden.

  • @fryk

    es geht um die Spieldauer, welche anscheinend in den playlists gespeichert wird.

    bei den beiden m3u(8)dateien befindet sich in der zweiten zeile

    Code
    #EXTINF:5566,

    eine zahl. Diese scheint die spieldauer in sekunden zu sein.

    bei der xspf datei

    gibt es einen Node mit der bezeichnugn "duration"

    Code
    <duration>5566751</duration>

    die zahl dort gehe ich von aus wird in milli sekunden dargestellt.

    Kannst du das bestätigen?

    Wenn es denn so ist, ist diese info immer gut für das generieren der "ordered chapters" Endzeiten.

  • Wiedermal ein update(rev0.41) für den chapterEditor.

    Im Focus stand das neue "Lade-System" für alle Editoren. Jede Menge überflüssiger Quellcode ist weggefallen.
    Dadurch kann man jetzt jedes Kapitel Format im XML editor anhängen.

    Und für fryk gibts die Unterstützung aller VLC bookmarks.
    Im XML Editor wird die Spieldauer für die Version verwendet.

  • Weil es doch recht schnell ging und ich heute frei hatte :)

    Ein update für die CLI version rev0.01 steht bereit.

    Es gab ein paar kleinigkeiten die jetzt endlich mal mit erledigt werden konnten.
    Der neue Modus:
    FPS Conversion
    ist jetzt verfügbar.

    Massenhaftes FPS konvertieren von Matroska XML und OGG Chapter Dateien.

    Die Hilfe wurde angepasst, neue Schalter sind dort erklärt.
    Den ersten Post habe ich mit neuen Beispielen für den 3. Modus versehen

  • Nach etwas länger Zeit gibts heute ein größeres update rev0.42

    Der Matroska Tags Editor hat jede menge Hotkeys bekommen, so dass man alles mit der Tastatur erledigen kann.

    Der Matroska Menü Editor stand im Vordergrund, welcher einige Verbesserungen bekommen hat.
    Das "kurze Haupt Menü Video" (worin das Menü-Chapter.xml und Tags.xml gespeichert wird), kann jetzt mittels eines Button automatisch erstellt werden.
    Weiterhin habe ich versucht, "Nested-Chapters" für Menü-Versionen, die mehrere Videos beinhalten, einzubauen.
    Das funktioniert soweit auch ganz gut, nur hat der LAV Splitter da eine sehr sehr begrenzte Unterstüzung.
    Es werden anscheinend keine "ordered chapters" verarbeitet, nur die ChapterTimeStart wird verwendet.
    So lange man aus einem Video nichts herausschneidet oder mit ordered-chapters Teile des Videos weglässt, klappt alles.
    Es ist sogar möglich vorne und hinten etwas vom Video abzutrennen und LAV Splitter bekommt es dann noch mit den Nested Chapters gebacken.

    Damit in der Haupt-Menü-Version, sollte diese mehr als einmal wiederholt werden, nicht immer das kurze Haupt-Menü-Video abgespielt wird, kann man es auf einmal begrenzen.
    Noch besser ist wenn man es unsichtbar macht.
    Diese erste Chapter-Sprung-Marke wird dann im LAV Splitter-Chapter-Menü nicht mehr angezeigt(wird aber beim abspielen(oder starten) dieser Version verwendet)


  • Heute mal nur ein kleines update(rev0.43).

    Da mir das mit den Nested Chapters für die Menüanzeige recht gut gefällt, habe ich alles so angepasst damit LAV das gebacken bekommt :)


  • Es gibt wiedermal eine neue Verison rev0.44

    Im chapterEditor gibt es nun einen Konverter.
    Konverter-CueSheet.JPG

    Vorerst kann man nur Matroska Dateien(mka,mkv,mk3d) und xml Dateien laden.
    Als erstes(und momentan das einzigste) Ausgabeformat gibt es das CueSheet Format.

    Ich habe mir Ligh's chap2cue als Vorlage genommen, herzlichen dank für das kleine feine tool.
    Von gpower2 habe ich weitere Infos bekommen und mit eingebaut.


    Konverter-CueSheet.JPG

  • Ich habe mir Ligh's chap2cue als Vorlage genommen, herzlichen dank für das kleine feine tool.

    Gerne, war insofern relativ einfach. Die Dateiformate sind gut dokumentiert, und wegen der Eigenheiten von EAC hatte ich eh ein wenig Erfahrung mit Cue Sheets.

  • Es gibt wiedermal ein update rev0.45

  • ein update weil mosu in version 9.0.0 an der mkvinfo.exe was geändert hat.

    Damit das Chapter-Segment-Linking weiterhin funktioniert wird ab jetzt mindestens version 9.0.0 gebraucht.

  • wiedermal ein kleines update rev0.48

  • Es gibt mal wieder ein update(rev0.49) mit ein paar bugfixes.

  • Nach einer Weile gibt es wieder mal eine neue rev0.50 vom chapterEditor(cE).

    Dies wird auch die letzte Version sein. Der Quellcode ist sehr alt und war mein erstes Projekt, daher ist der cE an seine Grenzen gelangt.
    Ich werde nur noch kritische Fehler anpassen wenn sie gefunden und bemengelt werden.


    Dennoch ist das cE-Projekt nicht tot. Ganz im Gegenteil. Das nächste größere Update betrifft dann den gesamten cE.
    Ich bin gerade dabei den cE von vorn an neu zu coden. Viele Dinge auf der ToDo-Liste wären im alten cE-code ein riesen Aufwand geworden. Zum Beispiel das der cE auch unter Linux läuft, Multi-Kapitel-Tabs, verbesserte Kapitelbenennung,
    manuelles Kapitel-Segment-Linking automatisieren, das gesamte Layout des cE und vieles vieles weiteres mehr.

    Die Kapitel Editoren sind schon fast fertig und ich werde dann auch eine erste Pre-Alpha Version hochladen.

    Was funktioniert schon alles (nur ganz grob):

    chapterEditor:
    - neues Layout mit bebilderten Buttons
    - XBar's für die Bedienung
    - Drag&Drop

    Kapitel Editoren:
    - neue Kapitel Formate werden unterstützt
    - Multi Kapitel Tabs -> massenhaftes Laden von Kapiteldateien
    - verschiedene Popups
    - Multi Kapitel: neues System zum verbesserten massenhaften einfügen von Kapitel an allen Stellen
    - Kapitelbenennung: neues System um gezielter bestimmte Kapitel umzubenennen, Kapitelnamen aus "Listen" laden
    - Kapitel Zeiten Bearbeiten: ebenfalls etwas erneuter
    - Laden von speziellen Kapiteldateien und Disks(Bluray-DVD) erweitert mit verschiedenen Automatisierungen
    - Kapitel Dateien anhängen - nun für alle Editoren
    - Kapitel Tabs duplizieren
    - Kapitel kopieren/auschneiden (nicht nur duplizieren) von Tab zu Tab
    - neue Komponente zum darstellen der Kapitel (VirtualStringTree(VST))
    - mehrere Möglichkeiten um Kapitel schnell und gezielt einzufügen

    Matroska:
    - Volle Unterstützung nach den Matroska Chapter Specs
    - zusätzlich können XML Kommentare gesetzt und gelesen werden
    - automatisiertes Kapitel Segment-Linking
    - direktes Speichern in Matroska Dateien (benötigt MKVToolNix)

    multiAVCHD
    - verbesserte Darstellung der Kapitelnamen durch das VST
    - verbesserter Thumbnail Zeit Generator

    Konverter:
    - massenhaftes direktes Umwandeln
    - 2 neue Ausgabe Formate


    Was steht noch auf der Liste:

    - Kapitel Datenbank: Voller XML Support, Identisch mit ChaptersDB.org
    - Matroska Tags: ebenfalls Voller Support
    - Matroska Menü
    - Bluray zu mkv: mehr automatsiches
    - DVD to mkv: Multi-Angle/Versionen mkv's
    - Die Hilfe: wenn es klappt(muss ich noch testen) -> Videobasierend als Matroska Menü
    - Und wenn es geht, auch alles für Linux
    - und noch mehr

    Hier gibt es schon mal ein paar Bilder vom neuen chapterEditor
    cE-Matroska-Kapitel.JPG
    cE-Matroska-Kapitelbenennung.JPG
    cE-DiskDateien.JPG
    cE-SourceFPS+ChapSegLink.JPG


    Für alle die den neuen cE schon mal testen wollen gibt es hier eine Pre-preAlpha zum download für Windows und Linux.
    Der cE startet(dabei wird eine *.ini erzeugt) in English, zum umstellen auf Deutsch müsste in der *.ini der Eintrag
    "Language=eng_def" auf Language=ger_def umgestellt werden. Weitere Einstellungen sind erstmal nur über die *.ini änderbar.
    Das ist für MKVToolNix(MTX) wichtig. Der Pfad zum MTX-Ordner muss dort von Hand eingegeben werden.
    (für Win: c:\MTX-Ordner\ ; für Linux: /usr/bin/)

    Wenn also noch Wünsche oder Vorschläge bestehen was der neue cE alles machen soll, lasst es mich wissen.

    hubble

  • chapterEditor(rev1.00preAlpha) ist nun verfügbar. Windows Linux

    Es gibt jede menge Neues, Änderungen und viele behobene Fehler.
    Die Kapitel Editoren sind alle voll funktionsfähig bis auf ein paar Kleinigkeiten.
    Ebenfalls ist schon der Matroska Tags Editor in vollem Umfang nutzbar.

    Alle Einstellungen können nun im cE geändert werden.
    Das Hauptmenü ist ebenfalls neu und voll funktionsfähig.

    MKVToolNix kann in den Einstellungen gesetzt werden.
    Zugriff auf Matroska Dateien ist damit dann möglich.

    Die Hilfe habe ich angefangen einzubauen. Für die meisten XBar's und an einigen wichtigen Stellen.

    Den TTXT-Editor werde ich nicht neu einbauen da es kein Kapitel-Format ist.
    Ebenso werde ich wohl den Haali TRACKSETEX Editor nicht übernehmen da der Haali Splitter leider bei einigen
    meiner Matroska Menüs nicht funktioniert. LAV Splitter ist nun der einzigste der das richtig verarbeiten kann.


    Ein Hinweis zu der Windows version:
    Da ich selbst Win7 Classic Ansicht verwende, funktionieren alle Farbeinstellungen für die XBar's "normal" (so auch für Linux).
    Wenn man eine andere Ansicht verwendet, ändert Windows das alles selbst. Dann muss man schauen welche Farbeinstellungen noch passen.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!