{ "info": { "author": "Cameron Simpson", "author_email": "cs@cskk.id.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Video" ], "description": "Facilities for ISO14496 files - the ISO Base Media File Format,\nthe basis for several things including MP4 and MOV.\n\nISO make the standard available here:\n* [link](http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html)\n* [link](http://standards.iso.org/ittf/PubliclyAvailableStandards/c068960_ISO_IEC_14496-12_2015.zip)\n\n## Function `add_body_class(klass)`\n\nRegister a box body class in KNOWN_BOXBODY_CLASSES.\n\n## Function `add_body_subclass(superclass, box_type, section, desc)`\n\nCreate and register a new BoxBody class that is simply a subclass of\nanother. Returns the new class.\n\n## Function `add_generic_sample_boxbody(box_type, section, desc, struct_format_v0, sample_fields, struct_format_v1=None, has_inferred_entry_count=False)`\n\nCreate and add a specific Time to Sample box - section 8.6.1.\n\n## Function `add_time_to_sample_boxbody(box_type, section, desc)`\n\nAdd a Time to Sample box - section 8.6.1.\n\n## Class `Box`\n\nMRO: `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nBase class for all boxes - ISO14496 section 4.2.\n\nThis has the following PacketFields:\n* `header`: a BoxHeader\n* `body`: a BoxBody instance, usually a specific subclass\n* `unparsed`: if there are unconsumed bytes from the Box they\n are stored as here as a BytesesField; note that this field\n is not present if there were no unparsed bytes\n\n## Class `BoxBody`\n\nMRO: `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAbstract basis for all Box bodies.\n\n## Class `BoxHeader`\n\nMRO: `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn ISO14496 Box header packet.\n\n## Class `BTRTBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nBitRateBoxBody - section 8.5.2.2.\n\n## Class `CO64BoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'c064' Chunk Offset box - section 8.7.5.\n\n## Class `ContainerBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA base class for pure container boxes.\n\n## Class `CSLGBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'cslg' Composition to Decode box - section 8.6.1.4.\n\n## Class `DINFBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'dinf' Data Information BoxBody - section 8.7.1.\n\n## Class `DREFBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'dref' Data Reference box containing Data Entry boxes - section 8.7.2.1.\n\n## Function `dump_box(B, indent='', fp=None, crop_length=170)`\n\nRecursively dump a Box.\n\n## Class `ELNGBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA ELNGBoxBody is a Extended Language Tag box - ISO14496 section 8.4.6.\n\n## Class `FREEBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'free' or 'skip' box - ISO14496 section 8.1.2.\nNote the length and discard the data portion.\n\n## Class `FTYPBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'ftyp' File Type box - ISO14496 section 4.3.\nDecode the major_brand, minor_version and compatible_brands.\n\n## Class `FullBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA common extension of a basic BoxBody, with a version and flags field.\nISO14496 section 4.2.\n\n## Class `HDLRBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA HDLRBoxBody is a Handler Reference box - ISO14496 section 8.4.3.\n\n## Function `main(argv)`\n\nModule main programme.\n\n## Class `MDATBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA Media Data Box - ISO14496 section 8.1.1.\n\n## Class `MDHDBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA MDHDBoxBody is a Media Header box - ISO14496 section 8.4.2.\n\n## Class `METABoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'meta' Meta BoxBody - section 8.11.1.\n\n## Class `MOOVBoxBody`\n\nMRO: `ContainerBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'moov' Movie box - ISO14496 section 8.2.1.\nDecode the contained boxes.\n\n## Class `MVHDBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'mvhd' Movie Header box - ISO14496 section 8.2.2.\n\n## Class `OverBox`\n\nMRO: `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA fictitious Box encompassing all the Boxes in an input buffer.\n\n## Function `parse(o, **kw)`\n\nReturn an OverBox source (str, int, file).\n\n## Function `parse_buffer(bfr, copy_offsets=None, **kw)`\n\nParse an ISO14496 stream from the CornuCopyBuffer `bfr`,\nyield top level Boxes.\n\nParameters:\n* `bfr`: a CornuCopyBuffer provided the stream data, preferably seekable\n* `discard_data`: whether to discard unparsed data, default False\n* `copy_offsets`: callable to receive Box offsets\n\n## Function `parse_chunks(chunks, **kw)`\n\nParse an ISO14496 stream from the iterator of data `chunks`,\nyield top level Boxes.\n\nParameters:\n* `chunks`: an iterator yielding bytes objects\n* `discard_data`: whether to discard unparsed data, default False\n* `copy_offsets`: callable to receive BoxBody offsets\n\n## Function `parse_fd(fd, discard_data=False, **kw)`\n\nParse an ISO14496 stream from the file descriptor `fd`, yield top level Boxes.\n`fd`: a file descriptor open for read\n`discard_data`: whether to discard unparsed data, default False\n`copy_offsets`: callable to receive BoxBody offsets\n\n## Function `parse_file(fp, **kw)`\n\nParse an ISO14496 stream from the file `fp`, yield top level Boxes.\n`fp`: a file open for read\n`discard_data`: whether to discard unparsed data, default False\n`copy_offsets`: callable to receive BoxBody offsets\n\n## Class `PDINBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'pdin' Progressive Download Information box - ISO14496 section 8.1.3.\n\n## Function `pick_boxbody_class(box_type, default_type=None)`\n\nInfer a Python BoxBody subclass from the bytes `box_type`.\n\n* `box_type`: the 4 byte box type\n* `default_type`: the default BoxBody subclass if there is no\n specific mapping, default None; if None, use BoxBody.\n\n## Class `SMHDBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'smhd' Sound Media Headerbox - section 12.2.2.\n\n## Class `STCOBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'stco' Chunk Offset box - section 8.7.5.\n\n## Class `STSCBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \n'stsc' (Sample Table box - section 8.7.4.1.\n\n## Class `STSZBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'stsz' Sample Size box - section 8.7.3.2.\n\n## Class `STZ2BoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'stz2' Compact Sample Size box - section 8.7.3.3.\n\n## Class `SubBoxesField`\n\nMRO: `cs.binary.ListField`, `cs.binary.PacketField`, `abc.ABC` \nA field which is itself a list of Boxes.\n\n## Class `TKHDBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'tkhd' Track Header box - ISO14496 section 8.2.2.\n\n## Class `TrackGroupTypeBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA TrackGroupTypeBoxBody contains a track group id - ISO14496 section 8.3.3.2.\n\n## Class `TrackReferenceTypeBoxBody`\n\nMRO: `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA TrackReferenceTypeBoxBody contains references to other tracks - ISO14496 section 8.3.3.2.\n\n## Class `TREFBoxBody`\n\nMRO: `ContainerBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nTrack Reference BoxBody, container for trackReferenceTypeBoxes - ISO14496 section 8.3.3.\n\n## Class `TTSB_Sample`\n\nMRO: `builtins.tuple` \nTTSB_Sample(count, delta)\n\n## Class `URL_BoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'url ' Data Entry URL BoxBody - section 8.7.2.1.\n\n## Class `URN_BoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nAn 'urn ' Data Entry URL BoxBody - section 8.7.2.1.\n\n## Class `VMHDBoxBody`\n\nMRO: `FullBoxBody`, `BoxBody`, `cs.binary.Packet`, `cs.binary.PacketField`, `abc.ABC` \nA 'vmhd' Video Media Headerbox - section 12.1.2.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/cameron_simpson/css/commits/all", "keywords": "python3", "license": "", "maintainer": "", "maintainer_email": "", "name": "cs.iso14496", "package_url": "https://pypi.org/project/cs.iso14496/", "platform": "", "project_url": "https://pypi.org/project/cs.iso14496/", "project_urls": { "Homepage": "https://bitbucket.org/cameron_simpson/css/commits/all" }, "release_url": "https://pypi.org/project/cs.iso14496/20190220/", "requires_dist": null, "requires_python": "", "summary": "Facilities for ISO14496 files - the ISO Base Media File Format, the basis for several things including MP4 and MOV.", "version": "20190220" }, "last_serial": 4844518, "releases": { "20180805": [ { "comment_text": "", "digests": { "md5": "826dc218b4d61ac7a8184e1af6d3ffe7", "sha256": "0eb0a684dca806020196ebc287b74537796f55d32ea7cc8de333d5a9573c0021" }, "downloads": -1, "filename": "cs.iso14496-20180805.tar.gz", "has_sig": false, "md5_digest": "826dc218b4d61ac7a8184e1af6d3ffe7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15354, "upload_time": "2018-08-05T11:16:06", "url": "https://files.pythonhosted.org/packages/42/77/12891de2bef355ce6b00679078ce39b0a99a40e76e33d478acba6b117665/cs.iso14496-20180805.tar.gz" } ], "20180810": [ { "comment_text": "", "digests": { "md5": "ad277f5ac7224bc99a382c7317765cdb", "sha256": "2db51b8719f5b19e55854ed630f2ecdb695b51e3a4fd691fd10771c897be0984" }, "downloads": -1, "filename": "cs.iso14496-20180810.tar.gz", "has_sig": false, "md5_digest": "ad277f5ac7224bc99a382c7317765cdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15396, "upload_time": "2018-08-09T23:15:02", "url": "https://files.pythonhosted.org/packages/91/bd/07d8712990016a6de04c969bd56bd50fd48e1f2035679b2a6a8f3c4e0f8d/cs.iso14496-20180810.tar.gz" } ], "20190220": [ { "comment_text": "", "digests": { "md5": "246ca433591d4892c0bcbfd4bbe87d79", "sha256": "e0e07b685d58eded1b277049f3a7e95a9dd9728b7150deddeec86a2f6377932d" }, "downloads": -1, "filename": "cs.iso14496-20190220.tar.gz", "has_sig": false, "md5_digest": "246ca433591d4892c0bcbfd4bbe87d79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15418, "upload_time": "2019-02-20T09:18:05", "url": "https://files.pythonhosted.org/packages/63/9d/6858e38f7f4cea6577dc9382b0064e366536e7366022875319fc24b1cdcd/cs.iso14496-20190220.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "246ca433591d4892c0bcbfd4bbe87d79", "sha256": "e0e07b685d58eded1b277049f3a7e95a9dd9728b7150deddeec86a2f6377932d" }, "downloads": -1, "filename": "cs.iso14496-20190220.tar.gz", "has_sig": false, "md5_digest": "246ca433591d4892c0bcbfd4bbe87d79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15418, "upload_time": "2019-02-20T09:18:05", "url": "https://files.pythonhosted.org/packages/63/9d/6858e38f7f4cea6577dc9382b0064e366536e7366022875319fc24b1cdcd/cs.iso14496-20190220.tar.gz" } ] }