跳转到主要内容

任何视频的一瞥概述

项目描述

videogestalt-logo

Video Gestalt

PyPI-Status PyPI-Versions PyPi-License PyPI-Downloads

Build-Status Coverage-Status

任何视频的一瞥概述

Example video gestalt: Vespa-Scooter-Commercial

Video Gestalt以缩略图数组的形式显示视频的摘要,一次显示整个视频。

描述

Video Gestalt以缩略图数组的形式呈现缩略视频,一次显示整个视频。

以上是Vesta滑板车50秒广告的Video Gestalt示例。(点击Video Gestalt查看原始视频。)

如您所见,这是一个循环视频,包含原始视频的动态缩略图。在一秒内,您可以一次性看到原始视频的所有帧,而且循环过程中没有断续。这是通过安排每个缩略图在一个循环中正好滑过其宽度,使得下一个缩略图无缝接替来实现的。

因此,视频Gestalt可以有两种阅读方式:1- 快速浏览可查看整个视频的所有场景,2- 通过关注一个动态缩略图,我们可以观看整个视频,从左上角开始,向右看,然后向下移动一个块并从右向左移动,然后向下移动一个块并再次从左向右移动,等等。

更详细的解释请参阅这篇博客文章

安装

到目前为止,此程序已在Linux、Chrome OS和Windows上进行测试,但很可能也适用于MacOS。

要安装,只需使用pip

pip install --upgrade videogestalt

这将还会安装MoviePy,如果需要,它将自动安装FFmpeg

如果它们尚未安装,您需要先安装python3和相应的Python包管理器pip

在Linux和类似系统上,您可能可以这样操作

sudo apt-get install python3 python3-pip

如果您遇到错误,请确保您正在使用最新的pip版本,因为旧版本可能不支持PEP517 Python包。

pip install --upgrade pip

用法

可执行二进制文件videogestalt将自动安装到本地环境中。

要生成视频文件

videogestalt -i countdown.mp4 -o countdown-gestalt --video

要生成动画GIF(警告,输出可能很大)

videogestalt -i countdown.mp4 -o countdown-gestalt --gif

该应用程序还可以作为Python模块使用

>>> from videogestalt import videogestalt as vg
>>> vg.main('-i countdown.mp4 -o countdown-gestalt --gif')

注意:如果克隆了存储库,在tests/examples中有示例countdown.mp4视频。

构建

该模块可以使用PEP517标准工具(如pypa/build)构建。

python -sBm build .

在克隆此Git存储库后,也可以将其以开发/可编辑模式安装。

pip install --upgrade -e .

已知问题

由于我们使用的视频处理库moviepy自2022年12月以来(截至2023年8月)未积极维护,存在一些已知问题。以下是一些下游问题的列表

  • PILLOW 10.0.0与moviepy引入了破坏性变更,尽管修复已在moviepy上游合并,但尚未进行pypi发布。两种解决方案:将PILLOW限制在10以下,或从github安装moviepy。由于moviepy的未来不确定,我们选择限制PILLOW,以确保此工具在venvs中继续工作。
  • 在Windows上,保存输出后,可能会出现以下异常
Exception ignored in: <function FFMPEG_VideoReader.__del__ at 0x00000253011BF920>
Traceback (most recent call last):
  File "C:\Users\33632\miniconda3\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 199, in __del__
    self.close()
  File "C:\Users\33632\miniconda3\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 190, in close
    self.proc.terminate()
  File "C:\Users\33632\miniconda3\Lib\subprocess.py", line 1671, in terminate
    _winapi.TerminateProcess(self._handle, 1)
OSError: [WinError 6] Descripteur non valide

这已在github上修复,但尚未在最新pypi版本的MoviePy中修复。此问题未解决,它不会阻止使用该工具,只是不够优雅。

许可

由Eamonn O'Brien-Strain创建。

许可协议:Mozilla公共许可证2.0

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

videogestalt-0.2.10.tar.gz (16.2 kB 查看哈希值)

上传时间

构建分发

videogestalt-0.2.10-py3-none-any.whl (12.4 kB 查看哈希值)

上传时间 Python 3

由...

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面