gums


Namegums JSON
Version 0.0.31 PyPI version JSON
download
home_pagehttps://github.com/futzu/gums
Summarygums, Grande Unicast Multicast Sender
upload_time2024-03-17 18:41:16
maintainer
docs_urlNone
authorAdrian
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `G`<I>rande</I> `U`<I>nicast</I> `M` <I>ulticast</I> `S` <I>ender</I> 


###  `gums` is multicast that just works, right out of the box.
---

## gums is designed for multicast mpegts video, but works with any multicast stream.

### Latest is v.`0`.`0`.`31`

 ![image](https://github.com/futzu/gums/assets/52701496/f8bfad92-2e1e-47c1-a5b2-53e5d3152e0f)




## __Install__

```smalltalk

python3 -mpip install gums

```




### Use gums (Sender) programmatically
```py3
a@debian:~/gums$ pypy3
Python 3.9.16 (7.3.11+dfsg-2, Feb 06 2023, 16:52:03)
[PyPy 7.3.11 with GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> from gums import GumS
>>>> gummie = GumS("235.35.3.5:3535")
>>>> gummie.send_stream("/home/a/mpegts/pcrvid.ts")

	Multicast Stream
	udp://@235.35.3.5:3535

	Source
	0.0.0.0:38835

49636512 Bytes Sent

>>>> 

```

## __gums (Sender) cli__

   * Supported input mpegts URIs:
   
     * files  `gums -i /home/me/vid.ts`
     
     * http(s) `gums -i https://futzu.com/xaa.ts`
     
     * udp `gums -i udp://127.0.0.1:4000`

     * multicast `gums -i udp://@235.1.2.3:4567`
     
     * reading from stdin `cat myvideo.ts | gums`

```smalltalk
usage: gums [-h] [-i INPUT] [-a ADDR] [-b BIND_ADDR] [-t TTL] [-v]

optional arguments:
  -h, --help           Show this help message and exit

-i INPUT, --input INPUT
                       Like "/home/a/vid.ts" or "udp://@235.35.3.5:3535" or "https://futzu.com/xaa.ts"

-a ADDR, --addr ADDR     
                       Destination IP:Port like "227.1.3.10:4310"

-b BIND_ADDR, --bind_addr BIND_ADDR
                        
                       Local IP to bind to like "192.168.1.34". Default is 0.0.0.0

-t TTL, --ttl TTL       
                       Multicast TTL 1 - 255

-v, --version          
                       Show version

```
#### __start gums (Sender) cli__
```smalltalk
a@debian:~/gums$ gums -i any.file 
stream uri: udp://@235.35.3.5:3535
a@debian:~/gums$ 
```
## __gumc (Client) cli__
```lua
usage: gumc [-h] [-i INSTUFF] [-b BYTESIZE] [-v]

options:
  -h, --help            show this help message and exit
  -i INSTUFF, --instuff INSTUFF
                        default is 'udp://@235.35.3.5:3535'
  -b BYTESIZE, --bytesize BYTESIZE
                        Number of bytes to read. default is to read all.
  -v, --version         Show version
```

### start gumc (Client) cli
```lua
a@debian:~/build/clean/gums$ gumc -i udp://@235.35.3.5:3535 -b 1024

```
### Test gums and gumc together
* first terminal, start the client, __gumc__
```lua
a@debian:~/build/clean/gums$  gumc -b 5 -i udp://@235.35.3.5:3535
```
* second terminal,start the sender, gums__ and send a "hello"
```lua
a@debian:~/build/clean/gums$ printf 'hello' | gums -a 235.35.3.5:3535
stream uri: udp://@235.35.3.5:3535
```
### read all bytes from  multicast stream and write to file with gumc (Client)
```lua
gumc -i udp://@235.35.3.5:3535 -o output.ts
	
### read 13 bytes from a multicast stream with gumc (Client)
 ```lua
 gumc -i udp://@235.35.3.5:3535 -b 13
 ```
### read 10000 bytes from a multicast stream with gumc (Client)
 ```lua
  gumc -i udp://@235.35.3.5:3535 -b 10000
```

___



___

![image](https://user-images.githubusercontent.com/52701496/166299701-72ee908a-5053-45fc-a716-4b8ca4b1ef32.png)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/futzu/gums",
    "name": "gums",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Adrian",
    "author_email": "spam@iodisco.com",
    "download_url": "https://files.pythonhosted.org/packages/05/83/d5c479b68efc98b1ca974c84b80d30885b39e01fa54a7351e2536d486a1a/gums-0.0.31.tar.gz",
    "platform": "all",
    "description": "# `G`<I>rande</I> `U`<I>nicast</I> `M` <I>ulticast</I> `S` <I>ender</I> \n\n\n###  `gums` is multicast that just works, right out of the box.\n---\n\n## gums is designed for multicast mpegts video, but works with any multicast stream.\n\n### Latest is v.`0`.`0`.`31`\n\n ![image](https://github.com/futzu/gums/assets/52701496/f8bfad92-2e1e-47c1-a5b2-53e5d3152e0f)\n\n\n\n\n## __Install__\n\n```smalltalk\n\npython3 -mpip install gums\n\n```\n\n\n\n\n### Use gums (Sender) programmatically\n```py3\na@debian:~/gums$ pypy3\nPython 3.9.16 (7.3.11+dfsg-2, Feb 06 2023, 16:52:03)\n[PyPy 7.3.11 with GCC 12.2.0] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>>> from gums import GumS\n>>>> gummie = GumS(\"235.35.3.5:3535\")\n>>>> gummie.send_stream(\"/home/a/mpegts/pcrvid.ts\")\n\n\tMulticast Stream\n\tudp://@235.35.3.5:3535\n\n\tSource\n\t0.0.0.0:38835\n\n49636512 Bytes Sent\n\n>>>> \n\n```\n\n## __gums (Sender) cli__\n\n   * Supported input mpegts URIs:\n   \n     * files  `gums -i /home/me/vid.ts`\n     \n     * http(s) `gums -i https://futzu.com/xaa.ts`\n     \n     * udp `gums -i udp://127.0.0.1:4000`\n\n     * multicast `gums -i udp://@235.1.2.3:4567`\n     \n     * reading from stdin `cat myvideo.ts | gums`\n\n```smalltalk\nusage: gums [-h] [-i INPUT] [-a ADDR] [-b BIND_ADDR] [-t TTL] [-v]\n\noptional arguments:\n  -h, --help           Show this help message and exit\n\n-i INPUT, --input INPUT\n                       Like \"/home/a/vid.ts\" or \"udp://@235.35.3.5:3535\" or \"https://futzu.com/xaa.ts\"\n\n-a ADDR, --addr ADDR     \n                       Destination IP:Port like \"227.1.3.10:4310\"\n\n-b BIND_ADDR, --bind_addr BIND_ADDR\n                        \n                       Local IP to bind to like \"192.168.1.34\". Default is 0.0.0.0\n\n-t TTL, --ttl TTL       \n                       Multicast TTL 1 - 255\n\n-v, --version          \n                       Show version\n\n```\n#### __start gums (Sender) cli__\n```smalltalk\na@debian:~/gums$ gums -i any.file \nstream uri: udp://@235.35.3.5:3535\na@debian:~/gums$ \n```\n## __gumc (Client) cli__\n```lua\nusage: gumc [-h] [-i INSTUFF] [-b BYTESIZE] [-v]\n\noptions:\n  -h, --help            show this help message and exit\n  -i INSTUFF, --instuff INSTUFF\n                        default is 'udp://@235.35.3.5:3535'\n  -b BYTESIZE, --bytesize BYTESIZE\n                        Number of bytes to read. default is to read all.\n  -v, --version         Show version\n```\n\n### start gumc (Client) cli\n```lua\na@debian:~/build/clean/gums$ gumc -i udp://@235.35.3.5:3535 -b 1024\n\n```\n### Test gums and gumc together\n* first terminal, start the client, __gumc__\n```lua\na@debian:~/build/clean/gums$  gumc -b 5 -i udp://@235.35.3.5:3535\n```\n* second terminal,start the sender, gums__ and send a \"hello\"\n```lua\na@debian:~/build/clean/gums$ printf 'hello' | gums -a 235.35.3.5:3535\nstream uri: udp://@235.35.3.5:3535\n```\n### read all bytes from  multicast stream and write to file with gumc (Client)\n```lua\ngumc -i udp://@235.35.3.5:3535 -o output.ts\n\t\n### read 13 bytes from a multicast stream with gumc (Client)\n ```lua\n gumc -i udp://@235.35.3.5:3535 -b 13\n ```\n### read 10000 bytes from a multicast stream with gumc (Client)\n ```lua\n  gumc -i udp://@235.35.3.5:3535 -b 10000\n```\n\n___\n\n\n\n___\n\n![image](https://user-images.githubusercontent.com/52701496/166299701-72ee908a-5053-45fc-a716-4b8ca4b1ef32.png)\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "gums, Grande Unicast Multicast Sender",
    "version": "0.0.31",
    "project_urls": {
        "Homepage": "https://github.com/futzu/gums"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7af6ffeaad3e4362f743e0c151853d73c43cdbdafa6f559375c2e493ad3cec1a",
                "md5": "d71cb3a830f7f4ab2aaec4166a588b18",
                "sha256": "f0bdba7e1e5fb5472bf933f6bfcc974dab255c45e1c12e2402c38934f3c50d55"
            },
            "downloads": -1,
            "filename": "gums-0.0.31-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d71cb3a830f7f4ab2aaec4166a588b18",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6401,
            "upload_time": "2024-03-17T18:41:14",
            "upload_time_iso_8601": "2024-03-17T18:41:14.405375Z",
            "url": "https://files.pythonhosted.org/packages/7a/f6/ffeaad3e4362f743e0c151853d73c43cdbdafa6f559375c2e493ad3cec1a/gums-0.0.31-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0583d5c479b68efc98b1ca974c84b80d30885b39e01fa54a7351e2536d486a1a",
                "md5": "479831215246b16644f6cd1dd86dc0b6",
                "sha256": "6521c7247cf36954ae78bfc286ba14a53d7cb8b7e6508f45630fa81c4df444bc"
            },
            "downloads": -1,
            "filename": "gums-0.0.31.tar.gz",
            "has_sig": false,
            "md5_digest": "479831215246b16644f6cd1dd86dc0b6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5322,
            "upload_time": "2024-03-17T18:41:16",
            "upload_time_iso_8601": "2024-03-17T18:41:16.101795Z",
            "url": "https://files.pythonhosted.org/packages/05/83/d5c479b68efc98b1ca974c84b80d30885b39e01fa54a7351e2536d486a1a/gums-0.0.31.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-17 18:41:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "futzu",
    "github_project": "gums",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "gums"
}
        
Elapsed time: 0.38525s