PHP:如何检查电影格式是MKV还是WMV

发布于 2024-10-07 18:32:52 字数 135 浏览 1 评论 0 原文

我使用 finfo_file 和 mime_content_type,它在 MKV 和 WMV 上返回: 应用程序/八位字节流 PHP无法确定2这种视频格式?

是否必须使用 FFMPEG 确定(我不知道可能与否)。那么检查格式的命令是什么。

I use finfo_file and mime_content_type, it return on MKV and WMV:
application/octet-stream
PHP can't determine 2 this video format ?

If must use FFMPEG determime ( i dont know it possible or not) . then what is command to check format .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

关于从前 2024-10-14 18:32:52

您可以做的一件事是读取文件的前几个字节以检查它们是否对应于已知的文件签名。

特别是 MKV 文件签名是(十六进制):

1a 45 df a3

至于 WMV 应该是:

30 26 b2 75

请参见参考:

可扩展二进制元语言

高级系统格式

One thing you could do is to read the first few bytes of the file to check if they correspond to known file signatures.

The MKV file signature, in particular, is (in hex):

1a 45 df a3

As for WMV it should be:

30 26 b2 75

See for reference:

Extensible Binary Meta Language

Advanced Systems Format

在你怀里撒娇 2024-10-14 18:32:52

使用文件扩展名:

http ://www.php.net/manual/en/function.mime-content-type.php#94279

在 Apache 上,您只需将条目添加到 mime.types 文件(Apache/conf/mime.php)。类型)。
只需使用任何编辑器打开文件并添加两行即可。

your/mimetype      mkv
another/type       mvw 

如果您位于共享主机上或者不想弄乱服务器设置,则可以将文件复制到脚本可以访问它的位置,并将路径作为 mime_content_type 的第二个参数传递。

分析文件内容:

如果您必须验证它是否真的是 mkv/mvm,还有另一种解决方案,但它不适用于共享主机:

http://www.php.net/manual/de/function.mime-content-type.php#91646< /a>

Using the file extension:

http://www.php.net/manual/en/function.mime-content-type.php#94279

On Apache you just have to add to entrys to the mime.types file (Apache/conf/mime.types).
Just open the file with any edito and add two lines.

your/mimetype      mkv
another/type       mvw 

If you are on a shared host or do not want to mess with the server settings, you can copy the file to a location where your script can access it, and pass the path as second parameter of mime_content_type.

Analysing the file content:

If you have to validate if it REALLY is a mkv/mvm there is another sollution but it wont work on shared hosts:

http://www.php.net/manual/de/function.mime-content-type.php#91646

魔法唧唧 2024-10-14 18:32:52

最新版本的 magic_mime 数据库可以毫无问题地识别 mkv/wmv 文件。就像您的共享主机有一个古老版本的数据库一样。

您可以通过执行以下操作强制使用不同的数据库文件(包含 mkv/wmv 定义):

$handle = finfo_open('FILEINFO_MIME_TYPE', '/path/to/updated/database/file').

您应该能够从 Linux 发行版的 fileinfo-type 包中提取更新的数据库文件。

Recent versions of magic_mime database can identify mkv/wmv files without trouble. Most like your shared host has an ancient version of the database.

You can force the use of a different database file (with the mkv/wmv definitions included) by doing:

$handle = finfo_open('FILEINFO_MIME_TYPE', '/path/to/updated/database/file').

You should be able to extract the updated database file from an Linux distro's fileinfo-type package.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文