{ "info": { "author": "paretech", "author_email": "paretech@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Multimedia :: Video :: Conversion", "Topic :: Scientific/Engineering :: GIS", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries" ], "description": "klvdata\n=======\n.. image:: https://travis-ci.org/paretech/klvdata.svg?branch=master\n :target: https://travis-ci.org/paretech/klvdata\n\n.. image:: https://coveralls.io/repos/github/paretech/klvdata/badge.svg?branch=master\n :target: https://coveralls.io/github/paretech/klvdata?branch=master\n\n.. image:: https://img.shields.io/pypi/v/klvdata.svg\n :target: https://pypi.org/project/klvdata/\n\nWhat?\n-----\nKlvdata is a Python library for parsing and constructing Key Length Value (KLV_) formatted binary streams. Common uses of the library would be parsing and displaying `MISB ST`_ 0601 Unmanned Air System (UAS) metadata from `STANAG 4609`_ compliant `MPEG-2 Transport Streams (TS) (MPEG-TS)`_. Note that klvdata alone cannot de-mux KLV data from an MPEG-2 TS, but programs like FFmpeg_ and GStreamer_ can be used with klvdata in the workflow to perform the function.\n\n.. _KLV: https://en.wikipedia.org/wiki/KLV\n.. _STANAG 4609: http://www.gwg.nga.mil/misb/docs/nato_docs/STANAG_4609_Ed3.pdf\n.. _MPEG-2 Transport Streams (TS) (MPEG-TS): https://en.wikipedia.org/wiki/MPEG_transport_stream\n.. _MISB ST: http://www.gwg.nga.mil/misb/st_pubs.html\n.. _FFMpeg: https://www.ffmpeg.org/\n.. _GStreamer: https://gstreamer.freedesktop.org/\n\n\nWhy?\n----\nNot many opensource options available.\n\nFeatures\n--------\n- Parses KLV metadata streams.\n- Supports `MISB ST`_ 0601 UAS Datalink Local Set.\n- Supports `MISB ST`_ 0102 Security Metadata Local Set.\n- Built for Python 3.5, 3.6.\n- Requires no external Python dependencies.\n\n.. _MISB ST: http://www.gwg.nga.mil/misb/st_pubs.html\n\nQuick Start\n-----------\nTry these commands in your GNU/Linux terminal.\n\nFirst:\n\n.. code-block:: console\n\n $ pip install klvdata\n\n $ wget https://raw.githubusercontent.com/paretech/klvdata/master/data/DynamicConstantMISMMSPacketData.bin\n\n $ cat << EOF > klvdata_test.py\n #!/usr/bin/env python\n import sys, klvdata;\n for packet in klvdata.StreamParser(sys.stdin.buffer.read()): packet.structure()\n EOF\n\n\nAnd then:\n\n.. code-block:: console\n\n $ python ./klvdata_test.py < DynamicConstantMISMMSPacketData.bin\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\nIf you have FFmpeg installed and want to try it on real video from a drone with embedded KLV metadata (~97 MB Download):\n\n.. code-block:: console\n\n $ wget http://samples.ffmpeg.org/MPEG2/mpegts-klv/Day%20Flight.mpg\n $ ffmpeg -i Day\\ Flight.mpg -map data-re -codec copy -f data - | python ./klvdata_test.py\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n [...]\n\nDocumentation\n-------------\nDocumentation is available at https://paretech.github.io/klvdata.\n\nContributing\n------------\nContributions are welcome!\n\nContributors List:\n------------------\n- `Fran Raga `_\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/paretech/klvdata/", "keywords": "STANAG 4609,MISB,KLV,Metadata,Video", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "klvdata", "package_url": "https://pypi.org/project/klvdata/", "platform": "", "project_url": "https://pypi.org/project/klvdata/", "project_urls": { "Homepage": "https://github.com/paretech/klvdata/" }, "release_url": "https://pypi.org/project/klvdata/0.0.3/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A Python library for parsing MISB/STANAG 4609 Key Length Value (KLV) metadata.", "version": "0.0.3" }, "last_serial": 4318783, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "a82d91fe0e16a518f811ae4d2599c322", "sha256": "c0de52ddb263e541ea9955023938efe2e4f4235d9864bf2b04f36d98230b8b96" }, "downloads": -1, "filename": "klvdata-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a82d91fe0e16a518f811ae4d2599c322", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 21163, "upload_time": "2017-09-11T03:55:21", "url": "https://files.pythonhosted.org/packages/5b/a6/d4eddbf8f3081950f05443178713f21eda32f18ae831f9452264392966f9/klvdata-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01853c2247f94397234c6cd3b3d289ee", "sha256": "0fe171495d0381f76d5ed973cf39db6692bfbdc8c5d4519f503c32fa0edc7591" }, "downloads": -1, "filename": "klvdata-0.0.0.tar.gz", "has_sig": false, "md5_digest": "01853c2247f94397234c6cd3b3d289ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11206, "upload_time": "2017-09-11T03:55:22", "url": "https://files.pythonhosted.org/packages/92/39/6d1db0cb7596961f6a593836f72d483659705c7d9dc9228d7f99bace7b08/klvdata-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "af29cb7ba62ac8318de0c003812c024c", "sha256": "028293de53ee2454054e6f9bd59cf3c97321f985dc5dd5e3c0b2ca464a98615f" }, "downloads": -1, "filename": "klvdata-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "af29cb7ba62ac8318de0c003812c024c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 21380, "upload_time": "2017-09-12T00:28:28", "url": "https://files.pythonhosted.org/packages/eb/07/f938af8ecad91f6be079b54ab61cafea66a1b3d0a2c52abd3f250f584de7/klvdata-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b9626999f5aa64e6b0a0f50b86ac333", "sha256": "cc87bab70c039d47a79cf90187f36ea3406ef88fde6e61a50079ab6377b40971" }, "downloads": -1, "filename": "klvdata-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1b9626999f5aa64e6b0a0f50b86ac333", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11326, "upload_time": "2017-09-12T00:28:29", "url": "https://files.pythonhosted.org/packages/52/5e/2de93e325f67c0b3b6eeeb5b38820e135f37b2a4e34f068903c8bb9576ef/klvdata-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "def58cb368d9d444ab91e66174de84fa", "sha256": "6d7d78af7a2b05d073e9dc7a2f8837776dcb31203076afe7ccf073d3cf60d326" }, "downloads": -1, "filename": "klvdata-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "def58cb368d9d444ab91e66174de84fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 19984, "upload_time": "2018-09-28T05:03:07", "url": "https://files.pythonhosted.org/packages/36/30/ee421c8f2fb5b349ac29978f64a7a71fd3fa3127469f10e2aac63ac2dbc9/klvdata-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3505ef55a1b42ecf86411efda72962c6", "sha256": "fa0c873ab0c957fbafbbaa51a80b07926c547e1ec38ab4e57380363781eda7e8" }, "downloads": -1, "filename": "klvdata-0.0.2.tar.gz", "has_sig": false, "md5_digest": "3505ef55a1b42ecf86411efda72962c6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 24456, "upload_time": "2018-09-28T05:03:08", "url": "https://files.pythonhosted.org/packages/27/92/28b0a464065dd19341c78b4b050b2e5855ec5a33d62238cafb593843a811/klvdata-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a8ac15810729e9cf5bf3153b207bd64f", "sha256": "0e3fc811c85b211f5a8c797bb2b58db5788c72b3abaf95c241b61dfbe5e6a9e7" }, "downloads": -1, "filename": "klvdata-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a8ac15810729e9cf5bf3153b207bd64f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 20082, "upload_time": "2018-09-28T05:33:21", "url": "https://files.pythonhosted.org/packages/23/70/d0d5ffcefdeced19841231a34c9e1fefbe09b25235445e8fe184bc88913a/klvdata-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7d24d34607a888decfe534476fb2f31", "sha256": "db45d20bc4877e8e27e6762309a3c3468726c7905a78f550ddad8e837a68e4d1" }, "downloads": -1, "filename": "klvdata-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a7d24d34607a888decfe534476fb2f31", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 24640, "upload_time": "2018-09-28T05:33:23", "url": "https://files.pythonhosted.org/packages/6f/88/deda095aad2ac5d3095d65b93b5d2024a566ac57f9e80ed95493a69a09bf/klvdata-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a8ac15810729e9cf5bf3153b207bd64f", "sha256": "0e3fc811c85b211f5a8c797bb2b58db5788c72b3abaf95c241b61dfbe5e6a9e7" }, "downloads": -1, "filename": "klvdata-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a8ac15810729e9cf5bf3153b207bd64f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 20082, "upload_time": "2018-09-28T05:33:21", "url": "https://files.pythonhosted.org/packages/23/70/d0d5ffcefdeced19841231a34c9e1fefbe09b25235445e8fe184bc88913a/klvdata-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7d24d34607a888decfe534476fb2f31", "sha256": "db45d20bc4877e8e27e6762309a3c3468726c7905a78f550ddad8e837a68e4d1" }, "downloads": -1, "filename": "klvdata-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a7d24d34607a888decfe534476fb2f31", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 24640, "upload_time": "2018-09-28T05:33:23", "url": "https://files.pythonhosted.org/packages/6f/88/deda095aad2ac5d3095d65b93b5d2024a566ac57f9e80ed95493a69a09bf/klvdata-0.0.3.tar.gz" } ] }