{ "info": { "author": "squld", "author_email": "sato@kurusugawa.jp", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities" ], "description": "# m3u8tool\nHTTP Live Streaming (HLS) \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u308a\u6271\u3046\u305f\u3081\u306e CLI \u30c4\u30fc\u30eb\u3067\u3059\u3002\n\n# Features\n* HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u5206\u5272 (split) \u3067\u304d\u307e\u3059\u3002\n* HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u7d50\u5408 (cat) \u3067\u304d\u307e\u3059\u3002\n* HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u5225\u306e\u52d5\u753b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u76f8\u4e92\u5909\u63db (convert) \u3067\u304d\u307e\u3059\u3002\n\n# Requirements\n* python 3.5+\n* ffmpeg 4.x (\u52d5\u753b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u5909\u63db\u3059\u308b\u5834\u5408\u306e\u307f)\n\n# Install\npip\n```shell\n$ pip install git+https://github.com/kurusugawa-computer/m3u8tool\n```\n\npipenv\n```shell\n$ pipenv install -e git+https://github.com/kurusugawa-computer/m3u8tool#egg=m3u8tool\n```\n\n# Usage\n\n## HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u5206\u5272 (split)\n\n`input.m3u8` \u3092 `{filename}-{index:04}.m3u8` \u306b\u5206\u5272\n```shell\n$ m3u8tool split input.m3u8\n```\n\n`input.m3u8` \u3092 `3.0` \u79d2\u3054\u3068\u306b `output-{index:04}.m3u8` \u306b\u5206\u5272\n```shell\n$ m3u8tool split -d 3.0 -m output-{index:04}.m3u8 input.m3u8\n```\n\n`input.m3u8` \u3092 `output-{index:04}.m3u8` \u3068 `output-{index:04}.ts` \u306b\u5206\u5272\n```shell\n$ m3u8tool split -m output-{index:04}.m3u8 -t output-{index:04}.ts input.m3u8\n```\n\n## HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u7d50\u5408\n`input-{index:04}.m3u8` \u3092 `output.m3u8` \u306b\u7d50\u5408\n```shell\n$ m3u8tool cat input-*.m3u8 output.m3u8\n```\n\n`input-{index:04}.m3u8` \u3092 `output.m3u8` \u3068 `output.ts` \u306b\u7d50\u5408\n```shell\n$ m3u8tool cat -t output.ts input-*.m3u8 output.m3u8\n```\n\n## HLS \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb (m3u8+ts) \u3092\u5225\u306e\u52d5\u753b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u76f8\u4e92\u5909\u63db\n`input.mp4` \u3092 `output.m3u8` \u3068 `output.ts` \u306b\u5909\u63db\n```shell\n$ m3u8tool convert input.mp4 output.m3u8\n```\n\n`input.m3u8` \u3092 `output.mp4` \u306b\u5909\u63db\n```shell\n$ m3u8tool convert input.m3u8 output.mp4\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kurusugawa-computer/m3u8tool", "keywords": "m3u8", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "m3u8tool", "package_url": "https://pypi.org/project/m3u8tool/", "platform": "", "project_url": "https://pypi.org/project/m3u8tool/", "project_urls": { "Homepage": "https://github.com/kurusugawa-computer/m3u8tool" }, "release_url": "https://pypi.org/project/m3u8tool/0.1.1/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A HTTP Live Streaming (HLS) manipulation tool", "version": "0.1.1" }, "last_serial": 5653619, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "26a45043050d262759d4cc529a89adf7", "sha256": "1139da100b5d38d031aaf3503ce242d8cde8d2fd2913f6f6855cc453690ac50e" }, "downloads": -1, "filename": "m3u8tool-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "26a45043050d262759d4cc529a89adf7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 13289, "upload_time": "2019-08-09T05:17:37", "url": "https://files.pythonhosted.org/packages/61/a9/d5b682b28ae091934fd5f885ba2dedb7dfb43b76d4a8035d7f77ad07e215/m3u8tool-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3988ba6c04bebb812d3ab15fd65ef5f", "sha256": "67d76a20acc7419502f50ef3a944696437787e6228c4b60b56730ac4c9b51f97" }, "downloads": -1, "filename": "m3u8tool-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e3988ba6c04bebb812d3ab15fd65ef5f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5764, "upload_time": "2019-08-09T05:17:39", "url": "https://files.pythonhosted.org/packages/83/88/84714479e6486b4aa9710de45826d7ac987ffe86282f88e998a17a649b49/m3u8tool-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "26a45043050d262759d4cc529a89adf7", "sha256": "1139da100b5d38d031aaf3503ce242d8cde8d2fd2913f6f6855cc453690ac50e" }, "downloads": -1, "filename": "m3u8tool-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "26a45043050d262759d4cc529a89adf7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 13289, "upload_time": "2019-08-09T05:17:37", "url": "https://files.pythonhosted.org/packages/61/a9/d5b682b28ae091934fd5f885ba2dedb7dfb43b76d4a8035d7f77ad07e215/m3u8tool-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3988ba6c04bebb812d3ab15fd65ef5f", "sha256": "67d76a20acc7419502f50ef3a944696437787e6228c4b60b56730ac4c9b51f97" }, "downloads": -1, "filename": "m3u8tool-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e3988ba6c04bebb812d3ab15fd65ef5f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5764, "upload_time": "2019-08-09T05:17:39", "url": "https://files.pythonhosted.org/packages/83/88/84714479e6486b4aa9710de45826d7ac987ffe86282f88e998a17a649b49/m3u8tool-0.1.1.tar.gz" } ] }