Ankündigung

Einklappen
Keine Ankündigung bisher.

Sprungmarkenliste/Index für Videodateien erstellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sprungmarkenliste/Index für Videodateien erstellen

    Ich habe mehrere Videodateien mit Konzertvideos. Nun würde ich gerne eine Art Sprungliste erstellen über alle Dateien hinweg mit den einzelnen Songs um diese quasi per Klick abzuspielen. Der Media Player Classic erlaubt via Shell Aufruf ein direktes Öffnen an einer bestimmten Stelle zB

    Code:
    "C:\Program Files\MPC-BE x64\mpc-be64.exe" "E:\Videos\Konzerte\Interpret - Konzert ABC.mp4" /startpos 01:20:20
    Da ich natürlich alle Links gerne zentral hätte, dachte ich zuerst ich nehme ein Excel und liste diese dort einfach auf.. Aber irgendwie funktioniert das mit den Argumenten bei Links in Excel nicht so wie ich es mir gedacht habe. Sobald ein Parameter hinten dran ist meldet Excel mit immer "Datei nicht gefunden".

    In/aus einer .bat Datei heraus würde der Aufruf funktionieren aber das ist zum Einem nicht klickbar (was schon genug Grund ist es nicht zu machen), zum anderen auch sehr ungut zu Lesen.

    Also anderer Plan... alles in eine SQLite sammeln, und dann habe ich jedoch noch keine gute Idee gehabt, mit welcher Programmiersprache ich das dann auslesen kann. Mittels PHP als HTML im Browser ist zum direkten Aufruf für lokale Dateien doch eher ungeeignet und was ich gelesen habe wenn man den Aufruf via GET/Shell macht das hier immer entweder ein Fenster ofen bleibt bzw. Kindprozesse gestartet werden. (zB https://stackoverflow.com/questions/...plete/16546689 ). Da scheint mir PHP doch nicht das richtige Werkzeug zu sein.

    Habt ihr da eine Idee ob/wie man sowas machen könnte? Im Excel oder als HTML könnte man ja auch schnell mit STRG+F nach Titeln suchen, oder doch mit .net oder AutoIt eine kleine GUI Liste schreiben die einfach nur die Daten auflistet und dann per klick eben das Kommando oben ans OS übergibt. Es geht übrigens im Win 10.

    Wenn es einfach geht würde ich mir das Ausprogrammieren von so einem Tool gerne sparen, denn das durch-Indexieren der Dateien wir an sich schon genug Arbeit .. es geht um ca. 15 Konzertdateien mit je ca. 20 Songs die man direkt anspringen könnte.

    Habt Ihr ev. irgendwelche Ratschläge? Was fertiges in der Form scheint es nicht zu geben oder nicht einfach zu finden.

    Danke jedenfalls!

    EDIT: Der MPC hat so eine Funktion ansatzwiese schon, wo man Favoriten auch mit Startpos speichern kann, ist aber hakig zu bedienen und bei der großen Anzahl nicht so richtig geeignet.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

  • #2
    Alles ganz einfach.
    Teste und staune.

    öffne VLC
    Erstelle eine Playlist Format .m3u
    öffne ein Konzert in VLC
    Springe zum zweiten Song und wenn der startet dann drücke [CTRL] + [B]
    Nun wird die Position gespeichert

    springe zum 3. Song und verfahre wie oben.

    Die Datei kannst du dir im Editor ansehen und auch bearbeiten.




    Kommentar


    • #3
      Mit WEBVTT kann man einiges machen, nicht nur untertitel.

      https://developer.mozilla.org/en-US/...API/WebVTT_API

      https://hacks.mozilla.org/2014/08/bu...-html5-videos/

      bei älteren Browsern gibts Schwierigkeiten bei den Events die geworfen werden, da müsste ich irgendwo ein workaoround haben.

      Kommentar


      • #4
        protestix danke für den Hinweis. Meine Versuche zeigen aber leider das damit "nur" eine Datei verwaltet werden kann. Ich würde gerne eine Playlist/Jumplist für alle Dateien erstellen. Hab ich nicht hinbekommen.

        tomBuilder das schau ich mir an danke. Da die Videos alle mittels SubEdit erstellte Untertitel haben die ein Player mit anzeigt muss ich schauen ob das so auf Browser Ebene dann funktioniert.
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Die haben SRT oder ?
          https://www.youtube.com/watch?v=HHrBUSIc7Bo

          Wobei ich die oben erwähnte Idee des dynamischen Bereistellens gut finde, nach dem Motto alle Soloeinlagen oder ähnliches.
          Soweit ich teste sind die Anzahl der Untertitel nicht beschränkt man muss auch nicht nur ein Formate nutzen.

          Wie gesagt, bei Fragen oder so melde Dich.

          Kommentar


          • #6
            Ok danke schaue ich mir an

            SubtitleEdit kann laut Website mit 200 Formate direkt umgehenn u. a. mit WebVTT.
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Wenn es dir nur darum geht Videos abzuspielen die an einer bestimmten Position starten und an einer Position stoppen kannst du das mit der URL als Fragment mitgeben.
              Auszug aus https://developers.google.com/web/fu...ls/media/video
              to add a media fragment, you simply add #t=[start_time][,end_time] to the media URL. For example, to play the video between seconds 5 through 10, specify:
              <source src="video/chrome.webm#t=5,10" type="video/webm">
              So lässt sich doch sehr einfach eine Linkliste erstellen. Nachteil ist vielleicht, dass es nur im Browser läuft, dafür aber ohne PHP auskommt.

              Abspielbares Beispiel auf der Seite http://www.annodex.net/~silvia/itext...ml#t=44.584625

              Kommentar


              • #8
                Hallo,

                Wenn es dir nur darum geht Videos abzuspielen die an einer bestimmten Position starten
                Im Grunde genau das, eine Sammlung/Liste die sich über verschiedene Dateien erstreckt.

                Nachteil ist vielleicht, dass es nur im Browser läuft, dafür aber ohne PHP auskommt.
                Und leider das man die tracks (Untertitel) auf einen Webserver liegen müssen (also kein file://). Lokal hab ich es auch noch nicht geschafft die anzuzeigen, bei vielen online Beispielen sind diese aber vorhanden.

                Note that the track element cannot be used from a file:// URL. To see tracks in action, put files on a web server.
                https://www.html5rocks.com/en/tutorials/track/basics/

                bzw.
                src Address of the track (.vtt file). Must be a valid URL. This attribute must be specified and its URL value must have the same origin as the document — unless the <audio> or <video> parent element of the track element has a crossorigin attribute.
                https://developer.mozilla.org/en-US/.../Element/track

                Aber das mit dem Webserver gefällt mir gar nicht so schlecht.. Dann kann ich eine Kombination aus SQLite (für die Dateienamen/-pfade, Sprungziele (timecode) und lesbare Beschreibung für den Link), PHP (um nach Klick in der Liste das eine Video darzustellen) und HTML mit den Videos und Tracks (Anzeige) machen, müsste dann ja am localhost genauso gehen.

                Gefällt mit soweit ganz gut ehrich gesagt, da gibt es auch viele lauffähige Beispiele im Web. Weiter bin ich noch nicht, das muss ich wenn mehr Zeit vorhanden dann mal in diese Richtung reinfuchsen.
                The string "()()" is not palindrom but the String "())(" is.

                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Ich möchte mich bei allen für die Inputs bedanken, das Thema ist für mich soweit erledigt, ich habe auf Grund des Threads mein Konzept gefunden, die einzelnen Detailprüfungen waren soweit alle positiv, jetzt muss ich es nur mehr machen

                  Und für alle die sowas auch mal brauchen können:

                  - Ich mache es mit PHP und SQLite. Das ganze läuft auf privaten PCs, also dann am localhost.

                  - Die einzelnen Titel springe ich, wie hier oben erwähnt, mit #t=[seconds] in der URL an. die Dateien, Titel und Sprungmarkenziele leg ich mit in der SQLite DB an.

                  - Das UI Verhalten entspricht nun auch (dank dieses Threads) dem Verhalten das ich von den üblichen Playern (VLC, MPC-HC/BE, ..) kenne und mag. (Mausklick oder Leertaste ist Play/Pause, doppelcklick ist Fullscreen, etc..).

                  - Statt SRT nutze ich nun VTT als Subtitleformat, das können die Browser im <video> Element mittels <track> anzeigen. Es muss nur über eine URL zugewiesen werden, also file:// geht nicht. Da is es aber sowieso mit PHP mache, ist das Problem damit erst gar nicht gegeben. Mit SubtitleEdit, das ich immer zum Erzeugen/Ändern der Subs verwende, kann man VTT genauso wie SRT erstellen bzw. auch SRT damit öffnen und nach VTT neu abspeichern. Die üblichen Player (jedenfalls die MPC-Serie) erkennen und lesen das VTT genausso wie SRT, also dahingehend auch kein Nachteil von VTT. Das wird künftig daher auch mein neues Standard-Sub-Format.

                  - Das Verzeichnis mit den Videos binde ich im Apache mittels eines Alias einfach ein. Dann habe ich unter /videos bzw. /videos/subs die nötigen Daten wir URL zur Verfügung und die Subtitles werden korrekt angezeigt.

                  Das wäre es soweit, protestix und tomBuilder danke sehr für eure Infos!
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Muss eh auch noch was anderes noch anschauen. Tlw. starten die Clips sofort und tlw. Dauert es ewig. Scheinbar ganz sporadisch.. Unterschiedliche Titel mal so mal so. Muss ich mal schauen was da so im Netzwerk entwicklertool passiert bzw. mal schauen ob Apache logwas hergibt.
                    The string "()()" is not palindrom but the String "())(" is.

                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #11
                      Dann wirf auch mal einen Blick auf diesen Artikel
                      https://developers.google.com/web/fu...-video-preload

                      Kommentar


                      • #12
                        Zitat von protestix Beitrag anzeigen
                        Dann wirf auch mal einen Blick auf diesen Artikel
                        https://developers.google.com/web/fu...-video-preload
                        Eigentlich kann es da keine Verzögerung geben.. Das passiert alles lokal auf einem PC, die VideoDateien liegen auf einer zweiten Platte im PC, das Verzeichnis habe ich im Apache als Alias ins webroot eingebunden. Wenn ich es mit file:// machen würde wurde es gut gehen, aber dann funktionieren leider die Untertitel nicht mehr, auch wenn die via URL eingebunden werden. Es muss beides via URL eingebunden sein das man die sehen kann.
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          Zitat von hausl Beitrag anzeigen
                          Eigentlich kann es da keine Verzögerung geben.. Das passiert alles lokal auf einem PC, die VideoDateien liegen auf einer zweiten Platte im PC, das Verzeichnis habe ich im Apache als Alias ins webroot eingebunden. Wenn ich es mit file:// machen würde wurde es gut gehen, aber dann funktionieren leider die Untertitel nicht mehr, auch wenn die via URL eingebunden werden. Es muss beides via URL eingebunden sein das man die sehen kann.
                          Manche Videos haben die Metainformationan am Anfang der Datei und andere am Ende. Wenn man das Video direkt von der Platte abspielt, ist das kein Problem, da man problemlos aufs Ende der Datei zugreifen kann. Läuft das hingegen über HTTP, wird das schon etwa komplexer. Im Worst Case muss das komplette Video runtergeladen werden, bevor es abgespielt werden kann.

                          Bei meinem vorherigen Arbeitgeber haben wir mal einen Video-Player auf Basis von HTTP gebastelt. Das ist gar nicht so wenig Aufwand, da die Videos speziell kodiert sein müssen, spezielle Header brauchen und der Webserver auch Seeking unterstützen muss. Die saubere Lösung wäre einen Streaming-Server zu verwenden. Aber aus "Spargründen" ist es bei uns die HTTP-Bastellösung geworden. Hat am Ende dann auch zu 99% stabil funktioniert. Aber wie gesagt, war ein weiter Weg dort hin.

                          Kommentar


                          • #14
                            Danke für diese wenn auch nicht gute Nachricht hellbringer


                            Meinst du ev. sowas würde was bringen? Von 2010 scheinbar noch :-/
                            http://h264.code-shop.com/trac

                            Sonst schau ich mir doch Autoit nochmals an.
                            The string "()()" is not palindrom but the String "())(" is.

                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              Zitat von hausl Beitrag anzeigen
                              Meinst du ev. sowas würde was bringen? Von 2010 scheinbar noch :-/
                              http://h264.code-shop.com/trac
                              Puh, das is schon lange her und den Backend-Teil hat ein Kollege von mir gemacht. Ich war fürs Frontend zuständig. Aber wie hatten irgendein Modul dafür am Apache installiert. Kann sein, dass es das genannte ist.

                              Kommentar

                              Lädt...
                              X