Package: rtmplite3
RTMPLite3This repo is part ofself-host video streaming project.No major new function designated for RTMP server will be introduced. However, bugs will still be fixed and features required by the self-host video streaming project will still be developed.Link to the repo created by original author.What is rtmplite3?This is a fork of rtmplite with conversion of Python 2 to Python 3
More details inrtmpliteThis project was migrated fromhttps://code.google.com/p/rtmpliteon May 17, 2015Please see these individual description files forrtmpliteCopyrightCopyright (c) 2007-2009, Mamta Singh.Copyright (c) 2010-2011, Kundan Singh. All rights reserved.Copyright (c) 2011-2012, Intencity Cloud Technologies. All rights reserved.Copyright (c) 2011, Cumulus Python. No rights reserved.Seecontributors.Upgrade from the original repoThis repo aims to upgrade the original repo from Python 2 to Python 3, as well as integrate into myself-host video streaming project. Therefore, only rtmp.py and its dependencies will be modified in this repo.Why am I doing thisI am working on aself-host video streamingproject with Python 3 and Flask, hence, I need a Python 3 RTMP server. However, most of the Python RTMP solution do not match what I need (developed using Python 2, no longer maintained etc.), so, I decided to transit a Python 2 solution to Python 3.BranchesThis repo has three branches including master, dev and svs (self-host streaming).master: release branch; stabledev: development branch; maybe buggy or even can't run at allsvs: customized branch for self-host video streaming projectRTMP serverThe main program is rtmp.py. Please see the embedded documentation in that file.
Some parts of the documentation are copied here. Other modules such as amf, util
and multitask are used from elsewhere and contain their respective copyright
notices.DocumentationInstead of looking at the documentation from the source code, I migrated (or migrating) the embedded documentation from the source code toWiki of this repo.Getting StartedDependencies: Python 3.6+Tested environment:Windows 10 1803 with Python 3.8.3rc1Ubuntu 18.04.4 LTS with Python 3.6.9.First, clone all source files from this repo or install rtmplite3 from pip:# Download from this repogitclonehttps://github.com/KnugiHK/rtmplite3.git# Install from pippipinstallrtmplite3There are multiple methods for you to run the RTMP server directlyIf you install the latest version (0.2.5) from pip, you can now start the RTMP server with the following methods:$rtmplite3-d#or$python-mrtmplite3-dTypically, an application can launch this server as follows if you clone this repo instead of install from pip:$pythonrtmp.py-dThe -d option enables debug trace so you know what is happening in the server.There is also a -v option which enables verbose mode so you know all data sent and received in Hex.Please note that verbose mode will hugely affect the performance of the RTMP serverTo know the command line options use the -h option:$ python rtmp.py -hFor your convenience, this repo also provide you a single executable. You may want to check out ourrelease page.And here is how to use the executable# in Linux$chmod+xrtmp-Linux
$./rtmp-Linux

::inWindows
>rtmp-Windows.exe
ordoubleclickthefileKnown issuesThe program cannot exit with Control+C in WindowsViewer cannot join the stream after the feed started to broadcastrecording and verbose mode will not enable when run with direct command and run as Python moduleContributionIf you want to help me to improve the quality of this project, you can submit an issue.If you want to collaborate with us, feel free to Fork this project and open a pull request.What can you do?For IssueReport any Logical Error.Report any Run-Time Error.Request new featuresAsk questions if you do not understand something.For Pull requestAdd comments to source code.Add new featuresCorrect any Logical Error.Correct any Run-Time Error.