<p align="center">
<a href="https://streamget.readthedocs.io"><img width="350" height="208" src="https://raw.githubusercontent.com/ihmily/streamget/main/docs/img/eagle.png" alt='StreamGet'></a>
</p>
<p align="center"><strong>StreamGet</strong> <em>- A Multi-Platform Live Stream Parser Library.</em></p>
<p align="center">
<img alt="Python version" src="https://img.shields.io/badge/python-3.10%2B-blue.svg">
<img alt="PyPI - Version" src="https://img.shields.io/pypi/v/streamget?color=green">
</p>
`streamget` is a lightweight Python library for real-time live stream acquisition, supporting HLS/FLV across 40+ platforms.
## Installation
Install `StreamGet` via pip (requires Python 3.10+):
```bash
pip install -i https://pypi.org/simple streamget
```
Node.js Runtime (Optional for Some Features):
```
streamget install-node
```
To view the help information, run: `streamget --help` .
------
## Quick Start
```python
>>> import asyncio
>>> from streamget import DouyinLiveStream
>>> url = "https://live.douyin.com/xxxxxxx"
>>> live = DouyinLiveStream()
>>> data = asyncio.run(live.fetch_web_stream_data(url))
>>> stream_obj = asyncio.run(live.fetch_stream_url(data, "OD"))
StreamData(platform='xxxx', anchor_name='xxxx', is_live=True, m3u8_url="xxx"...)
>>> json_str = stream_obj.to_json()
'{"anchor_name": "xxxx", "is_live": True, "flv_url": "...", "m3u8_url": "..."}'
```
------
## Supported Platforms
| Platform | Support status | HLS support | FLV support | Need cookie | Requires Node.js |
| :---------- | :------------- | :---------- | :---------- | ----------- | ---------------- |
| 抖音 | ✅ | ✅ | ✅ | | ✅ |
| TikTok | ✅ | ✅ | ✅ | | |
| 快手 | ✅ | ❌ | ✅ | | |
| 虎牙直播 | ✅ | ✅ | ✅ | | |
| 斗鱼直播 | ✅ | ❌ | ✅ | | ✅ |
| YY直播 | ✅ | ❌ | ✅ | | |
| 哔哩哔哩 | ✅ | ❌ | ✅ | | |
| 小红书 | ✅ | ✅ | ✅ | | |
| Bigo | ✅ | ✅ | ❌ | | |
| Blued | ✅ | ✅ | ❌ | | |
| SOOP | ✅ | ✅ | ❌ | | |
| 网易CC | ✅ | ✅ | ✅ | | |
| 千度热播 | ✅ | ❌ | ✅ | | |
| PandaTV | ✅ | ✅ | ❌ | | |
| 猫耳FM | ✅ | ✅ | ✅ | | |
| Look | ✅ | ✅ | ✅ | | |
| WinkTV | ✅ | ✅ | ❌ | | |
| FlexTV | ✅ | ✅ | ❌ | | |
| PopkonTV | ✅ | ✅ | ❌ | | |
| TwitCasting | ✅ | ✅ | ❌ | | |
| 百度直播 | ✅ | ✅ | ✅ | | |
| 微博直播 | ✅ | ✅ | ✅ | | |
| 酷狗直播 | ✅ | ❌ | ✅ | | |
| TwitchTV | ✅ | ✅ | ❌ | | |
| LiveMe | ✅ | ✅ | ✅ | | ✅ |
| 花椒直播 | ✅ | ❌ | ✅ | | |
| ShowRoom | ✅ | ✅ | ❌ | | |
| 映客直播 | ✅ | ✅ | ✅ | | |
| Acfun | ✅ | ✅ | ✅ | | |
| 音播直播 | ✅ | ✅ | ✅ | | |
| 知乎直播 | ✅ | ✅ | ✅ | | |
| CHZZK | ✅ | ✅ | ❌ | | |
| 嗨秀直播 | ✅ | ❌ | ✅ | | ✅ |
| vv星球直播 | ✅ | ✅ | ❌ | | |
| 17Live | ✅ | ❌ | ✅ | | |
| 浪Live | ✅ | ✅ | ✅ | | |
| 畅聊直播 | ✅ | ✅ | ✅ | | |
| 飘飘直播 | ✅ | ✅ | ✅ | | |
| 六间房直播 | ✅ | ❌ | ✅ | | |
| 乐嗨直播 | ✅ | ✅ | ✅ | | ✅ |
| 花猫直播 | ✅ | ✅ | ❌ | | |
| Shopee | ✅ | ❌ | ✅ | | |
| YouTube | ✅ | ✅ | ❌ | ✅ | |
| 淘宝 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 京东 | ✅ | ✅ | ✅ | | |
| Faceit | ✅ | ✅ | ❌ | | |
| 连接直播 | ✅ | ✅ | ✅ | | |
| 咪咕直播 | ✅ | ✅ | ✅ | | ✅ |
| 来秀直播 | ✅ | ❌ | ✅ | | ✅ |
| Picarto | ✅ | ✅ | ❌ | | |
| More ... | | | | | |
### Notes
1. **Support Status**: ✅ indicates supported or necessary, ❌ indicates unsupported or optional.
1. **Cookie Need**: ✅ indicates necessary
1. **Requires Node.js**: require Node.js for fetching data
------
## Supported Quality
| Chinese clarity | abbreviation | Full Name | Note |
| :-------------- | :----------- | :-------------------- | :-------------------------------------------------- |
| 原画 | `OD` | Original Definition | Highest clarity, original picture quality, Blue-ray |
| 超清 | `UHD` | Ultra High Definition | Ultra high definition |
| 高清 | `HD` | High Definition | High definition, usually referring to 1080p |
| 标清 | `SD` | Standard Definition | Standard clarity, usually referring to 480p |
| 流畅 | `LD` | Low Definition | Low definition, usually referring to 360p or lower |
## Contributing
Contributions are welcome! If you'd like to add support for a new platform or improve the package, please check out the [GitHub repository](https://github.com/ihmily/streamget) and submit a pull request.
------
## Documentation
For full documentation and advanced usage, visit the [official documentation](https://streamget.readthedocs.io/).
For a run-through of all the basics, head over to the [QuickStart](https://streamget.readthedocs.io/quickstart/).
------
<p align="center"><i>StreamGet is <a href="https://github.com/ihmily/streamget/blob/main/LICENSE.md">MIT licensed</a> code.<br/>Where there's a live stream, there's StreamGet.</i><br/>— 🦅 —</p>
Raw data
{
"_id": null,
"home_page": "https://github.com/ihmily/streamget",
"name": "streamget",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "live, stream",
"author": "Hmily",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d7/37/49b991ecee2ac3d6a0f4e6d76ee85c13b4d827871dfefe293a18a92309a3/streamget-4.0.7.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://streamget.readthedocs.io\"><img width=\"350\" height=\"208\" src=\"https://raw.githubusercontent.com/ihmily/streamget/main/docs/img/eagle.png\" alt='StreamGet'></a>\n</p>\n<p align=\"center\"><strong>StreamGet</strong> <em>- A Multi-Platform Live Stream Parser Library.</em></p>\n\n<p align=\"center\">\n<img alt=\"Python version\" src=\"https://img.shields.io/badge/python-3.10%2B-blue.svg\">\n<img alt=\"PyPI - Version\" src=\"https://img.shields.io/pypi/v/streamget?color=green\">\n</p>\n\n\n`streamget` is a lightweight Python library for real-time live stream acquisition, supporting HLS/FLV across 40+ platforms.\n\n## Installation\n\nInstall `StreamGet` via pip (requires Python 3.10+):\n\n```bash\npip install -i https://pypi.org/simple streamget\n```\n\nNode.js Runtime (Optional for Some Features):\n\n```\nstreamget install-node\n```\n\nTo view the help information, run: `streamget --help` .\n\n------\n\n## Quick Start\n\n```python\n>>> import asyncio\n>>> from streamget import DouyinLiveStream\n>>> url = \"https://live.douyin.com/xxxxxxx\"\n>>> live = DouyinLiveStream()\n>>> data = asyncio.run(live.fetch_web_stream_data(url))\n>>> stream_obj = asyncio.run(live.fetch_stream_url(data, \"OD\"))\nStreamData(platform='xxxx', anchor_name='xxxx', is_live=True, m3u8_url=\"xxx\"...)\n>>> json_str = stream_obj.to_json()\n'{\"anchor_name\": \"xxxx\", \"is_live\": True, \"flv_url\": \"...\", \"m3u8_url\": \"...\"}'\n```\n\n------\n\n## Supported Platforms\n\n| Platform | Support status | HLS support | FLV support | Need cookie | Requires Node.js |\n| :---------- | :------------- | :---------- | :---------- | ----------- | ---------------- |\n| \u6296\u97f3 | \u2705 | \u2705 | \u2705 | | \u2705 |\n| TikTok | \u2705 | \u2705 | \u2705 | | |\n| \u5feb\u624b | \u2705 | \u274c | \u2705 | | |\n| \u864e\u7259\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u6597\u9c7c\u76f4\u64ad | \u2705 | \u274c | \u2705 | | \u2705 |\n| YY\u76f4\u64ad | \u2705 | \u274c | \u2705 | | |\n| \u54d4\u54e9\u54d4\u54e9 | \u2705 | \u274c | \u2705 | | |\n| \u5c0f\u7ea2\u4e66 | \u2705 | \u2705 | \u2705 | | |\n| Bigo | \u2705 | \u2705 | \u274c | | |\n| Blued | \u2705 | \u2705 | \u274c | | |\n| SOOP | \u2705 | \u2705 | \u274c | | |\n| \u7f51\u6613CC | \u2705 | \u2705 | \u2705 | | |\n| \u5343\u5ea6\u70ed\u64ad | \u2705 | \u274c | \u2705 | | |\n| PandaTV | \u2705 | \u2705 | \u274c | | |\n| \u732b\u8033FM | \u2705 | \u2705 | \u2705 | | |\n| Look | \u2705 | \u2705 | \u2705 | | |\n| WinkTV | \u2705 | \u2705 | \u274c | | |\n| FlexTV | \u2705 | \u2705 | \u274c | | |\n| PopkonTV | \u2705 | \u2705 | \u274c | | |\n| TwitCasting | \u2705 | \u2705 | \u274c | | |\n| \u767e\u5ea6\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u5fae\u535a\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u9177\u72d7\u76f4\u64ad | \u2705 | \u274c | \u2705 | | |\n| TwitchTV | \u2705 | \u2705 | \u274c | | |\n| LiveMe | \u2705 | \u2705 | \u2705 | | \u2705 |\n| \u82b1\u6912\u76f4\u64ad | \u2705 | \u274c | \u2705 | | |\n| ShowRoom | \u2705 | \u2705 | \u274c | | |\n| \u6620\u5ba2\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| Acfun | \u2705 | \u2705 | \u2705 | | |\n| \u97f3\u64ad\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u77e5\u4e4e\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| CHZZK | \u2705 | \u2705 | \u274c | | |\n| \u55e8\u79c0\u76f4\u64ad | \u2705 | \u274c | \u2705 | | \u2705 |\n| vv\u661f\u7403\u76f4\u64ad | \u2705 | \u2705 | \u274c | | |\n| 17Live | \u2705 | \u274c | \u2705 | | |\n| \u6d6aLive | \u2705 | \u2705 | \u2705 | | |\n| \u7545\u804a\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u98d8\u98d8\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u516d\u95f4\u623f\u76f4\u64ad | \u2705 | \u274c | \u2705 | | |\n| \u4e50\u55e8\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | \u2705 |\n| \u82b1\u732b\u76f4\u64ad | \u2705 | \u2705 | \u274c | | |\n| Shopee | \u2705 | \u274c | \u2705 | | |\n| YouTube | \u2705 | \u2705 | \u274c | \u2705 | |\n| \u6dd8\u5b9d | \u2705 | \u2705 | \u2705 | \u2705 | \u2705 |\n| \u4eac\u4e1c | \u2705 | \u2705 | \u2705 | | |\n| Faceit | \u2705 | \u2705 | \u274c | | |\n| \u8fde\u63a5\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | |\n| \u54aa\u5495\u76f4\u64ad | \u2705 | \u2705 | \u2705 | | \u2705 |\n| \u6765\u79c0\u76f4\u64ad | \u2705 | \u274c | \u2705 | | \u2705 |\n| Picarto | \u2705 | \u2705 | \u274c | | |\n| More ... | | | | | |\n\n### Notes\n\n1. **Support Status**: \u2705 indicates supported or necessary, \u274c indicates unsupported or optional.\n1. **Cookie Need**: \u2705 indicates necessary\n1. **Requires Node.js**: require Node.js for fetching data\n\n------\n\n## Supported Quality\n\n| Chinese clarity | abbreviation | Full Name | Note |\n| :-------------- | :----------- | :-------------------- | :-------------------------------------------------- |\n| \u539f\u753b | `OD` | Original Definition | Highest clarity, original picture quality, Blue-ray |\n| \u8d85\u6e05 | `UHD` | Ultra High Definition | Ultra high definition |\n| \u9ad8\u6e05 | `HD` | High Definition | High definition, usually referring to 1080p |\n| \u6807\u6e05 | `SD` | Standard Definition | Standard clarity, usually referring to 480p |\n| \u6d41\u7545 | `LD` | Low Definition | Low definition, usually referring to 360p or lower |\n\n## Contributing\n\nContributions are welcome! If you'd like to add support for a new platform or improve the package, please check out the [GitHub repository](https://github.com/ihmily/streamget) and submit a pull request.\n\n------\n\n## Documentation\n\nFor full documentation and advanced usage, visit the [official documentation](https://streamget.readthedocs.io/).\n\nFor a run-through of all the basics, head over to the [QuickStart](https://streamget.readthedocs.io/quickstart/).\n\n------\n\n<p align=\"center\"><i>StreamGet is <a href=\"https://github.com/ihmily/streamget/blob/main/LICENSE.md\">MIT licensed</a> code.<br/>Where there's a live stream, there's StreamGet.</i><br/>— \ud83e\udd85 —</p>\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Multi-Platform Live Stream Parser Library.",
"version": "4.0.7",
"project_urls": {
"Changelog": "https://github.com/ihmily/streamget/blob/main/CHANGELOG.md",
"Documentation": "https://streamget.readthedocs.io",
"Homepage": "https://github.com/ihmily/streamget",
"Source": "https://github.com/ihmily/streamget"
},
"split_keywords": [
"live",
" stream"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "83111bb06f00a1d5e577b2ce13ee1add640a8f555fb3e4fc679a9a691e751d42",
"md5": "8d63f13c2f28023f6f7ecbafb206fe96",
"sha256": "03e23c6e21584aa0bac0c02a4340660ebc3aee131f71425120379c6b3fd6c136"
},
"downloads": -1,
"filename": "streamget-4.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8d63f13c2f28023f6f7ecbafb206fe96",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 159694,
"upload_time": "2025-08-15T06:09:48",
"upload_time_iso_8601": "2025-08-15T06:09:48.586882Z",
"url": "https://files.pythonhosted.org/packages/83/11/1bb06f00a1d5e577b2ce13ee1add640a8f555fb3e4fc679a9a691e751d42/streamget-4.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d73749b991ecee2ac3d6a0f4e6d76ee85c13b4d827871dfefe293a18a92309a3",
"md5": "2ef4f57c5d6e35d003eff61bfa16065f",
"sha256": "649cf8402ba89bf64b025f5d272fec5c9d4a081381bcacd7ed929db93097da56"
},
"downloads": -1,
"filename": "streamget-4.0.7.tar.gz",
"has_sig": false,
"md5_digest": "2ef4f57c5d6e35d003eff61bfa16065f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 98859,
"upload_time": "2025-08-15T06:09:50",
"upload_time_iso_8601": "2025-08-15T06:09:50.146703Z",
"url": "https://files.pythonhosted.org/packages/d7/37/49b991ecee2ac3d6a0f4e6d76ee85c13b4d827871dfefe293a18a92309a3/streamget-4.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 06:09:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ihmily",
"github_project": "streamget",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.31.0"
]
]
},
{
"name": "loguru",
"specs": [
[
">=",
"0.7.3"
]
]
},
{
"name": "pycryptodome",
"specs": [
[
">=",
"3.20.0"
]
]
},
{
"name": "distro",
"specs": [
[
">=",
"1.9.0"
]
]
},
{
"name": "tqdm",
"specs": [
[
">=",
"4.67.1"
]
]
},
{
"name": "httpx",
"specs": [
[
">=",
"0.28.1"
]
]
},
{
"name": "PyExecJS",
"specs": [
[
">=",
"1.5.1"
]
]
}
],
"lcname": "streamget"
}