跳转到主要内容

在Python中实现Quicktime原子定位,以实现快速流媒体。

项目描述

Quicktime/MP4 快速启动

通过将元数据和偏移信息移动到文件前端,实现Quicktime和MP4文件的流式传输和伪流式传输。

此程序基于ffmpeg项目的qt-faststart.c,该文件已进入公有领域,以及ISO 14496-12:2005(MP4的官方规范),可以从ISO获得或在网络上找到。

此项目的目标是无需编译即可在任何地方运行(特别是许多Windows和Mac OS X用户在编译qt-faststart.c时遇到困难),运行速度接近C版本,更易于使用,并且使用更少的实际代码行来实现。

功能

  • 适用于Python(2.6+)可安装的任何地方

  • 处理32位(stco)和64位(co64)原子

  • 处理任何mdat原子在moov原子之前的文件

  • 保留其他原子的顺序

  • 可以替换原始文件(如果没有指定输出文件)

从PyPi安装

要从PyPi安装,您可以使用easy_installpip

easy_install qtfaststart

从源安装

下载源代码副本,cd 进入顶层 qtfaststart 目录,然后运行

python setup.py install

如果您正在将安装到系统 Python(而不是虚拟环境),可能需要root权限(通过 sudosu)。

使用方法

查看 qtfaststart --help 获取更多信息!如果 outfile 不存在,则 infile 被覆盖

$ qtfaststart infile [outfile]

要运行而不安装,可以使用

$ bin/qtfaststart infile [outfile]

查看文件中的顶层原子及其顺序列表

$ bin/qtfaststart --list infile

如果在 Windows 上,qtfaststart 脚本将无法执行,因此请使用

> python -m qtfaststart ...

历史记录

  • 2013-08-07: 将输入文件权限复制到输出文件。

  • 2013-08-06: 修复生成 8kb mdat 输出的错误。

  • 2013-07-05: 引入了 Python 3 支持。

  • 2013-07-05: 通过 'python -m qtfaststart' 添加了启动器。

  • 2013-07-05: 进行内部重构以提高清晰度和健壮性。函数现在与命名元组一起工作。保持向后兼容性。预期未来将替换其他函数的不兼容版本。

  • 2013-07-05: 创建了一个 Atom 命名元组来表示四cc原子(名称、流位置和大小)。

  • 2013-01-28: 支持奇特的零名称、零长度原子,在 MIT 许可下重新授权,版本升级到 1.7

  • 2011-11-01: 修复了长期存在的 os.SEEK_CUR 错误,版本升级到 1.6

  • 2011-10-11: 由 Greg Taylor <gtaylor AT duointeractive DOT com> 打包并发布到 PyPi,版本升级到 1.5。

  • 2010-02-21: 添加了对具有零大小的最终 mdat 原子的支持,由 Dmitry Simakov <basilio AT j-vista DOT ru> 打补丁,版本升级到 1.4。

  • 2009-11-05: 添加了 –sample 选项。版本升级到 1.3

  • 2009-03-13: 更新为更友好地使用日志模块,重命名 fast_start => process,版本升级到 1.2

  • 2008-10-04: 修复错误,支持同一类型的多个原子,版本升级到 1.1

  • 2008-09-02: 初次发布

许可

版权所有 (C) 2008 - 2013 Daniel G. Taylor <dan@programmer-art.org>

特此授予任何人获取此软件和相关文档文件(“软件”)的副本,在软件中不受限制地处理的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供者提供软件的人这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论这些责任是基于合同、侵权或其他方式产生,无论这些责任是否与软件或其使用或其他方式有关。

项目详情


下载文件

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

源代码分发

qtfaststart-1.8.tar.gz (7.7 kB 查看哈希值)

上传时间 源代码

由以下支持