its

ItsAGramLive

It's A Gram Live is a Python script that create a Instagram Live and provide you a rtmp server and stream key to streaming using sofwares like OBS-Studio.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

137

Maintenance

Last Commit

7mos ago

Contributors

6

Package

Dependencies

3

License

GPL-3.0

Categories

Readme

GitHub PyPI GitHub tag (latest by date)

It's A Gram Live

It's A Gram Live is a Python script that create a Instagram Live and provide you a rtmp server and stream key to streaming using sofwares like OBS-Studio or XSplit Broadcaster.

Installation

pip install ItsAGramLive

Usage

from ItsAGramLive import ItsAGramLive

live = ItsAGramLive()

# or if you want to pre-define the username and password without args
# live = ItsAGramLive(
#    username='foo',
#    password='bar'
# )

live.start()
python3 live_broadcast.py -u yourInstagramUsername -p yourPassword -proxy user:password@ip:port

The output will give you the RTMP Server address and the Stream key (automatically copied to your clipboard)

Usage with FFMPEG

Note: It is not possible use commands like chat or wave with this script. The live will be finish when the file finish the streaming.

import argparse  
import subprocess  
from ItsAGramLive import ItsAGramLive  
  
parser = argparse.ArgumentParser(add_help=True)  
parser.add_argument("-u", "--username", type=str, help="username", required=True)  
parser.add_argument("-p", "--password", type=str, help="password", required=True)  
parser.add_argument("-f", "--file", type=str, help="File", required=True)  
args = parser.parse_args()  
  
live = ItsAGramLive(username=args.username, password=args.password)  
  
if live.login():  
    print("You'r logged in")  
  
    if live.create_broadcast():  
  
        if live.start_broadcast():  
            ffmpeg_cmd = "ffmpeg " \  
                         "-rtbufsize 256M " \  
                         "-re " \  
                         "-i '{file}' " \  
                         "-acodec libmp3lame " \  
                         "-ar 44100 " \  
                         "-b:a 128k " \  
                         "-pix_fmt yuv420p " \  
                         "-profile:v baseline " \  
                         "-s 720x1280 " \  
                         "-bufsize 6000k " \  
                         "-vb 400k " \  
                         "-maxrate 1500k " \  
                         "-deinterlace " \  
                         "-vcodec libx264 " \  
                         "-preset veryfast " \  
                         "-g 30 -r 30 " \  
                         "-f flv '{stream_server}{stream_key}'".format(
                                               file=args.file,
                                                                       stream_server=live.stream_server,
                                                                       stream_key=live.stream_key
                                                                       )  
  
            print('CTRL+C to quit.')  
            try:  
                subprocess.call(ffmpeg_cmd, shell=True)  
            except KeyboardInterrupt:  
                pass  
            except Exception as error:  
                print(error)  
                live.end_broadcast()  
  
            live.end_broadcast()
python3 live_broadcast_ffmpeg.py -u yourInstagramUsername -p yourPassword -f /path/to/video/file.mp4

Commands

  • info Show details about the broadcast
  • mute comments Prevent viewers from commenting
  • unmute comments Allow viewers do comments
  • viewers List viewers
  • chat Send a comment
  • pin Send a comment and pin it
  • unpin Remove a pinned comment
  • comments Get the list of comments
  • wave Wave to a viewer
  • stop Terminate broadcast

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GNU GPLv3

Buy me a coffee

Buy Me A Coffee

Instagram Bot

Check my Instagram Bot: BurbnBot

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial