Releases: scivision/PyLivestream
refactoring
use base.py
improve self-test robustness
add audiochan: null
for devices without an audio stream like the PiCamera
Robustness: better pylivestream.ini finding/handling
Now pylivestream.ini is found in 3 locations in this order:
- what the user specified on the command line or function call
- ~/pylivestream.ini
- inside the installed pylivestream package
Moved more FFmpeg specific code to ffmpeg.py
made CI always test in installed mode instead of dev mode
BUGFIX: setup.py install pylivestream.ini location
correct bug for zip_safe: false was needed and location of pylivestream.ini default for python setup.py install
audio-only streams, better key not found feedback, better multi-site behavior, quoting keys for windows
- allow audio-only streams
- better multi-site command line handling
- better key not found feedback (rather than silently failing)
- quote command line keys / multisite line for Windows, which needs it. While Mac / Linux cannot have quoting.
improved command line
Improved usage from the command line via better incorporation of pylivestream.ini into the project. It's suggested that one copies pylivestream.ini to a convenient location, and edit it for your system, and specify this pylivestream.ini file for you streams.
timeout option, improved per-OS video specification
-
added
-t
--timeout
options, to allow specifying a finite time in seconds after which the stream will end. This can be helpful for remote installations where a cellular modem is used, and you want a sane limit on how much bandwidth will be used if you only need to monitor for a fixed time length -
improved ability to specify video streaming parameters in stream.ini, tested more thoroughly on real hardware (laptops) for Mac and Windows along with Linux to verify performance
-
BUGFIX: corrected logic for missing .ini file, by a typo it didn't actually fail with a useful error when the specified or default .ini file was not found.
-
improved test meaningfulness by using the same default stream.ini, to help avoid tests that missed bad default settings
check device config before stream
To help users determine the correct .ini settings, the program now does a quick stream to "null" to verify that the selected device (webcam, screen, etc.) is actually available as a streaming video input.
A function utils.check_display
can be used to verify the device display is working for loopback tests. This is useful for CI systems that usually don't have a display, to automatically skip a subset of tests
FFmpeg robustness
Improved linkage with FFmpeg, especially with regard to "listener" for local tests and self-tests.
cleaned up test syntax
Image background streaming
Improved handling of static image background streams, where typically audio (from microphone or file(s)) is the primary interest.
Specifically, unless specified in stream.ini
, video_kpbs comes from the variable BRS in stream.py when streaming with a static image. These values were picked empirically, let us know if they need some tweaking for adequate quality background static images on the live stream.
improved console use
- setup.py => setup.cfg
- CI template, skip CI edge cases with hardware