Ermitteln Sie schnell, ob eine Datei ein gültiges Video ist

8

Wie kann am schnellsten festgestellt werden, ob es sich bei einer Datei um ein abspielbares Video handelt? Es geht mir nicht darum, dass es korrupt ist oder nicht, sondern nur, ob es ein Mime-Typ ist, der auf dem iPad spielbar sein soll.

Ich habe mit dem Schieben der Datei durch eine NSURL gespielt, wie von einer anderen Frage vorgeschlagen, aber das kann & gt; 1 Sekunde pro Datei, die zu langsam ist.

Ich schaue mir gerade die Dateierweiterung an, hätte aber lieber etwas, das sicherer ist.

aktualisieren

Ich würde es lieben, UTIs intern in der App zu verwenden, aber ich habe auch keinen offensichtlichen Weg aus dieser Richtung gefunden. Wenn jemand einen Weg kennt, an der UTI einer Datei auf 3.2 zu kommen, würde das funktionieren.

    
Marcus S. Zarra 04.07.2010, 00:00
quelle

5 Antworten

7

Der Befehl file(1) (und der zugehörige libmagic ) kann diesen Job auf Standard-Unix-Systemen ausführen; Wenn Apple es nicht in das Telefon-Betriebssystem aufgenommen hat, können Sie es wahrscheinlich selbst auf dem Telefon ausführen. (Auf meinem x86-64 Linux System ist die Bibliothek 109k.)

Auf meinem Computer wurden 146 leicht zugängliche Videos in weniger als sieben Sekunden in 18 verschiedene Formate eingeteilt. (120 Gigabyte.) Es hat etwas falsch gemacht:

%Vor%

Bei diesen Geschwindigkeiten können Sie vielleicht ein wenig Lärm tolerieren und auf einen langsameren Mechanismus zurückgreifen; oder vielleicht füllen Sie die Regeln mit Formaten, die es noch nicht kennt.

    
sarnold 14.07.2010, 10:14
quelle
0

Lesen Sie die Kopfzeile und suchen Sie nach Codec-Details?
Mediainfo ist ein Opensource-Video-Datei-Info-Analysator

Tut mir leid, ich kenne keine ipad-spezifischen Sachen

    
Martin Beckett 04.07.2010 00:31
quelle
0

Ich würde sagen, was Sie tun müssen, ist die UTI der Datei, die auf dem Desktop mit LaunchServices erledigt werden würde. Ich weiß nicht, ob Apple eine API veröffentlicht, um dies auf iOS zu tun.

    
Joshua Weinberg 10.07.2010 05:26
quelle
0

Wenn Sie die Dateierweiterung nicht überprüfen können, sollten Sie die Datei nicht einfach abspielen können und das Movie Player-Objekt dem Delegierten signalisieren, dass es nicht abgespielt werden kann? Oder im schlimmsten Fall können Sie versuchen, einen fiesen Versuch / fangen.

    
M. Ryan 10.07.2010 14:41
quelle
0

Im Allgemeinen geben die ersten paar Bytes der Datei den Dateityp an. Das machen libmagic und% file . Wenn Sie libmagic nicht auf iOS-Systemen erstellen möchten, können Sie sich einfach ansehen, was es tut, und die gewünschte Teilmenge der Nachschlagetabelle abrufen.

    
bluesmoon 17.07.2010 00:57
quelle

Tags und Links