我正在尝试以编程方式确定文件的真实类型。看来我必须为此使用例如 FFMPeg。
我想确定上传的文件实际上是 MP4 还是 FLV(用于 Flash 视频)[或 WebM(用于 HTML5)]。我知道 FFMPeg 中的 -i 运算符,但我不知道要检查什么。
例如:
Input #0, flv, from 'c:\www\data.aspbooru\image\0\40c24ba424d1334ef81c88c416ce794e.flv':
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\www\data.aspbooru\image\0\8c1a747b5188349d92cca17a502d2d57.mp4':
这些是 FFMPeg 输出。这就是我在为 Flash 过滤视频时必须检查的全部内容吗?
所以,如果这些都不适用。如何检查 swf 文件?
Input #0, swf, from 'c:\www\data.aspbooru\image\0\90447bd30d30ccb1474c0433e948d438.swf':
Duration: 00:07:16.08, start: 0.000000, bitrate: 63 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, 2 channels, s16, 64 kb/s
Stream #0.1: Video: flv, yuv420p, 320x240, 25 fps, 25 tbr, 25 tbn, 25 tbc
检查是否Input #0, swf,
足够?它提取了一个我不想要的包含的 flv。
现在我还需要检查完全不是视频的文件类型和视频文件类型,但可以使用 h.264(或 Webm?)转换为 mp4 我完全不知道如何做到这一点。
可以管理转换的东西,但提示也很酷(转换 h.264 和 webm?)。
我输入一个随机文件。是这个吗?
c:\web.config: Invalid data found when processing input
编辑:没有指定编程语言,因为它独立于任何编程语言。但我会感谢语言特定的输入:VB.NET。您可以假设我已经有了流程逻辑,并且输出作为字符串存在!正则表达式也会很酷:)