Größe von H.264-Video ohne weitere Binaries auslesen?

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

  • Größe von H.264-Video ohne weitere Binaries auslesen?

    Kennt jemand eine fertige Lösung, die Maße eines mit H.264 kodierten MP4 auszulesen? Gern auch in einer anderen Sprache zum Übertragen in PHP.
    Oder eine sehr gute Dokumentation des Dateiheaders? Ich finde nur Dinge wie das hier.

    Kein ffmpeg oder ähnliches, nur pures PHP.

  • #2
    Crossposting ... traust uns wohl nichts zu, wat?

    Hier gibts die Spezifikation. Da muss es drinstehen. http://www.itu.int/rec/dologin_pub.a...F-E&type=items

    Kommentar


    • #3
      Zitat von onemorenerd Beitrag anzeigen
      Crossposting ... traust uns wohl nichts zu, wat?
      Die Frequenz dort ist einfach wahnsinnig... Wenn man nach 5 Minuten noch keine Antwort hat, stimmt was nicht

      Hier gibts die Spezifikation. Da muss es drinstehen. http://www.itu.int/rec/dologin_pub.a...F-E&type=items
      Super, vielen Dank! Schaue ich mir an. Bin gespannt, ob ich es mit PHP-Mitteln rauskriege.

      Kommentar


      • #4
        Zitat von pekka Beitrag anzeigen
        Kennt jemand eine fertige Lösung, die Maße eines mit H.264 kodierten MP4 auszulesen?
        Klar doch.

        Ich hätte sie aber ganz gerne noch ein wenig an "Real-Life"-Dateien getestet. Eine Suche auf meiner Festplatte brachte keine MP4-Dateien hervor. Also musste ich sie mir selbst basteln. Virtualdub kann leider nur AVI-Container schreiben. VLC verabschiedete sich beim Konvertieren, lies aber wenigstens einmal eine Datei mit einem MP4-Header zurück. Nur mit AVIDemux ist es mir gelungen, MP4-Dateien zu schreiben. Zumindest mit denen funktioniert meine PHP-Lösung.

        Allerdings kann dieses Dateiformat mehrere "Streams" (oder was auch immer) beherbergen. Ob mein Script dann auch den richtigen herausfindet, kann ich daher erst sagen, wenn ich es an einer entsprechenden Datei getestet habe.


        OffTopic:
        B.T.W.: Aha, "doctor style" nennen wir das also. Und wieder haben wir was gelernt.
        Zuletzt geändert von fireweasel; 13.11.2009, 20:00.
        Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

        Kommentar


        • #5
          Das klingt vielversprechend!

          Youtube und Google Video kodieren ihr Videos in MP4 und H.264 - zieh dir dort doch einen Stapel (in normaler und hoher Qualität). Das ist vielleicht eine gute Grundlage.

          Kommentar


          • #6
            Zitat von pekka Beitrag anzeigen
            Das klingt vielversprechend!

            Youtube und Google Video kodieren ihr Videos in MP4 und H.264 - zieh dir dort doch einen Stapel (in normaler und hoher Qualität). Das ist vielleicht eine gute Grundlage.
            Youtube packt doch aber die Videos in FLV-Container, oder hat sich da seit meinem letzten Besuch dort etwas geändert?

            Um das mal klarzustellen: Mein Script liest das MP4-Dateiformat (ISO-Irgendwas-Schlagmichtot), ob da H264-codierte Videos drin sind, ist nicht so wichtig. Es geht nur um das Containerformat. Dieses erkennt man an folgenden "Magic Bytes" am Anfang:

            PHP-Code:
            function is_mp4($file) {
                return (bool) 
            preg_match(
                    
            '/\A....ftypisom....mp4[1-9]/s'
                    
            file_get_contents($file0NULL020)
                );

            Mal kucken, ob Youtube-Video-Dateien innen drin auch so aussehen (können).
            Zuletzt geändert von fireweasel; 13.11.2009, 20:56.
            Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

            Kommentar


            • #7
              Also ich kriege sie neuerdings mit der Endung .mp4 und ausdrücklich als "als MPEG-4-Video herunterladen".

              Kommentar


              • #8
                Zitat von fireweasel Beitrag anzeigen
                OffTopic:
                B.T.W.: Aha, "doctor style" nennen wir das also. Und wieder haben wir was gelernt.
                Das war eher eine aus der Luft gegriffene Formulierung

                Kommentar

                Lädt...
                X