问题标签 [hachoir-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
90 浏览

android - Android 中的 Hachoir 解析器

我需要在安卓手机中实现 Hachoir 框架。我不知道从哪里开始以及如何理解框架。无论如何将python文件调用到我的android代码或其他一些有助于我开始的文档中?感谢您的帮助!

0 投票
2 回答
622 浏览

python - 黑莓上的 Hachoir Python 实现

我需要实现 Hachoir 库来解析图像文件(其中的元数据)。我的项目要求在 Blackberry 设备上完成此操作,因此这意味着我必须将整个 Hachoir 库移植到 Blackberry。

我可以做的另一件事是编写 python 脚本(它利用 Hachoir 库)并找到一种从 Blackberry 调用这些脚本的方法。我读到可以在 Android 上使用 NDK 调用 python 脚本。黑莓有类似的工具吗?

所以最后我得在手机上安装hachoir(??),通过“NDK等效工具”调用脚本,通过这个工具再次捕获输出并显示给用户。

对要使用的工具和一般方法有什么建议吗?对于像 Java 上的库之类的 hach​​oir,还有其他建议吗?谢谢!

0 投票
1 回答
3028 浏览

python - Python:使用 Hachoir,如何为类文件对象提取元数据?

我正在一个用户上传视频和音频文件的网站上工作,上传时,必须从文件中填充一些常见的元数据字段。我找到了 Hachoir,它看起来不错,但是有一个问题,要创建一个用于元数据读取的解析器,需要的是文件名,而不是类文件或流对象。

如何将 Hachoir 与文件类对象一起使用?

0 投票
2 回答
1350 浏览

python - Hachoir - 从组中检索数据

尝试使用 Hachoir 从视频文件中检索元数据。工作得相当好,除非使用 'get' 或类似方法返回宽度和高度值。

我以为会是:

但这会引发错误(对象没有“宽度”属性)。

当我运行以下命令时:

返回的只是来自“公共”组的信息。

当我使用:

...返回“普通”、“视频流”和“音频流”的信息。我可以简单地解析生成的“文本”项并去掉高度和宽度值,但我宁愿尝试使用 metadata.get('width') 或类似方法正确地完成它。

查看源代码,我想我可以使用以下内容:

遍历元数据中的 ._ 组,但随后会抛出“'AsfMetadata'对象没有属性' _groups' - 我确信不应该是这种情况,因为我认为 'AsfMetadata' 是 MultipleMetadata 的子类() 其中确实有这样一个变量。

可能遗漏了一些非常明显的东西。

0 投票
2 回答
8830 浏览

python - Python + Hachoir-Metadata - 从 .MP4 文件中读取 FPS 标签

我正在用Python编写一个 Windows 应用程序,它必须从.MP4视频文件中读取元数据。

我开始用 Python 3 编写应用程序,但找不到合适的模块来从视频文件中读取元数据。那是我用3to2把整个项目迁移到Python 2,这样就可以安装Hachoir-Metadata了,全网好评,用pip install hachoir-core,,,pip install hachoir-parserpip install hachoir-metadata

我使用了以下代码:

这返回了以下元数据:

  • 持续时间:37 秒 940 毫秒
  • 图像宽度:1280 像素
  • 图像高度:960 像素
  • 创建日期:2014-12-13 19:27:36
  • 最后修改:2014-12-13 19:27:36
  • 评论:播放速度:100.0%
  • 评论:用户量:100.0%
  • MIME 类型:视频/快速时间
  • 字节序:大字节序

这很好,除了我真的需要知道每秒帧数 (FPS)。对于 .AVI 文件,Hachoir-Metadata 确实显示了 FPS,正如您从这个测试输出中看到的那样:

  • 持续时间:6 秒 66 毫秒
  • 图像宽度:256 像素
  • 图像高度:240 像素
  • 帧率:30.0 fps
  • 比特率:884.4 Kbit/sec
  • 评论:有音频/视频索引(2920 字节)
  • MIME 类型:视频/x-msvideo
  • 字节序:小字节序

是的,FPS 标签设置在 .MP4 文件 (100fps) 上。

有没有办法从 .MP4 文件中提取 FPS?最好还包括宽度(px)、高度(px)、持续时间和创建时间。

提前感谢您的帮助!

0 投票
1 回答
139 浏览

python - hachoir 元数据或 libextractor 是否从 ID3v2 和所有其他格式中提取封面?

我尝试使用 hach​​oir-metadata 处理多媒体文件,但我找不到如何解析 ID3v2 元数据中的封面。我在源代码中看到它知道很多封面标签,但在解析器中没有返回任何标签。而且我什至尝试使用 libextractor 和 python-extractor 绑定,也没有找到如何从多媒体中获取封面。

0 投票
1 回答
1654 浏览

jupyter-notebook - 循环的 jupyter-notebook 输出未显示

当我使用 python2.7 运行我的 Jupyter-notebook 并尝试使用 for 循环打印项目(列表)时,它在导入以下包后不会输出打印语句:

示例代码:

输出为空白。

当我在导入之前使用完全相同的代码时,它会显示出来。

看起来 hach​​oir 导入是问题所在,每当我导入包含它的任何内容时,输出都会停止显示。

0 投票
2 回答
286 浏览

python - 抑制 Hachoir 中的警告

我正在使用hach​​ior-parser来获取大量视频文件的持续时间。(我正在根据文件的时间戳以及其持续时间重置“上次修改”日期。)我正在使用改编自这个问题的代码。

我遇到的问题是 hach​​ior 为每个文件报告了四个警告,这使我的输出变得混乱。我仍然从文件中获取我的持续时间,所以我想知道如何在输出中抑制这些警告,如果可能的话。

Python 并不是我真正的强项,所以我不确定去哪里寻找,而且关于错误报告的 hach​​ior 文档似乎相当稀少。我不想求助于从我的脚本输出中提取行。

编辑:运行python -W ignore set_last_modified.py结果在[warn]打印相同的行。

0 投票
1 回答
1250 浏览

python - 安装 Hachoir 元数据时出错 |命令“python setup.py egg_info”失败,错误代码 1 in...\hachoir-metda

我正在从参考 [3] 安装 hach​​oir-metadata。我已完成以下安装 hach​​oir-metadata 的操作:

我正在使用以下软件版本:

Python 版本 3.5.5 蟒蛇:3.6.5

我收到一条错误消息,指出 Command "python setup.py egg_info" failed with error code 1 in...\hachoir-metda,如下所示。 Anaconda 命令提示符

我已完成以下尝试解决问题:

1)安装的setuptools

2)安装ipykernel

非上述作品。首先,在分析错误时,这是​​由于语法问题。因此,该错误是否是由于 Python 版本不兼容(即 hach​​oir-metadata 使用旧版本的 python 但情况不应该如此)导致的?

可以做些什么来解决这个问题?

1 https://github.com/facebook/prophet/issues/418

[2] http://ipython.readthedocs.io/en/stable/install/kernel_install.html

[3] https://pypi.org/project/hachoir-metadata/#description

0 投票
1 回答
51 浏览

python - 将 hach​​oir 库的衍生物安装到 Google Colab 中

如何在 GoogleColab 上安装类似hachoir-coreOr hachoir-metadataon GoogleColab 的 hach​​oir 库的衍生产品?我试过这种方式!pip install hachoir-metadata,但我得到了错误

命令“python setup.py egg_info”失败,错误代码 1 在 /tmp/pip-install-8op487i8/hachoir-metadata/