确定文件是否是快速有效的视频

Mar*_*rra 8 video objective-c ipad

确定文件是否为可播放视频的最快方法是什么?我不关心它是否腐败,而只是它是否是一个应该可以在iPad上播放的哑剧类型.

我已经玩过NSURL按照另一个问题的建议推送文件但是每个文件可能需要> 1秒,这太慢了.

我目前正在查看文件扩展名,但更确切地说有一些更确定的东西.

更新

我很乐意在应用程序内部使用UTI,但我还没有找到任何暴露的方法从这个方向来.如果有人知道如何在3.2的文件的UTI上获得可行的方法.

sar*_*old 7

file(1)命令(以及相关的libmagic)可以做标准的Unix系统中,这个工作; 如果Apple没有将它包含在手机操作系统中,你可以自己让它在手机上运行.(在我的x86-64 Linux系统上,库是109k.)

在我的计算机上,它在不到七秒的时间内将146个易于访问的视频分为18种不同的格式.(120千兆字节.)它有一些错误:

$ sort -u /tmp/out
data
ISO Media, MPEG v4 system, version 1
Matroska data
Microsoft ASF
MPEG transport stream data
RIFF (little-endian) data, AVI, 384 x 240, 25.00 fps, video: DivX 5, audio: MPEG-1 Layer 3 (mono, 44100 Hz)
RIFF (little-endian) data, AVI, 384 x 288, 25.00 fps, video: DivX 3 Low-Motion, audio: DivX (stereo, 44100 Hz)
RIFF (little-endian) data, AVI, 512 x 272, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 512 x 288, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 44100 Hz)
RIFF (little-endian) data, AVI, 512 x 288, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 512 x 328, 25.00 fps, video: DivX 5, audio: MPEG-1 Layer 3 (stereo, 32000 Hz)
RIFF (little-endian) data, AVI, 512 x 328, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 32000 Hz)
RIFF (little-endian) data, AVI, 572 x 304, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 576 x 320, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 608 x 336, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 624 x 352, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
RIFF (little-endian) data, AVI, 640 x 352, 25.00 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
TeX font metric data (\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377
Run Code Online (Sandbox Code Playgroud)

在那些速度下,也许你可以忍受一点噪音并回落到一个较慢的机制; 或者用可能尚不知道的格式填写规则.