Sphinx v1.8 has deprecated source_parsers which is used for recommonmark.
This commit replace the use of source_parsers for recommonmark with the
use of recommonmark as an extension (supported by recommonmark since
0.5.0).
- added support for armymedia.bg and chernomore.bg
- removed inlife.bg as it has migrated to cdn.netbadgers.com
- removed bitelevision.com as it no longer exists
- added support for i.cdn.bg urls
- removed support for video.bstv.tv
A module directive for the streamlink module is duplicated in
both api_guide.rst and api.rst.
Remove the one in api_guide.
This was triggering warning with sphinx:
WARNING: duplicate object description of streamlink, other instance in
api, use :noindex: for one of them.
* Added support for Latina (formerly Frecuencia Latina), southamerican television network located in Peru.
* plugins.latina: code cleanup, use bitrate for stream name
Co-authored-by: back-to
closes https://github.com/streamlink/streamlink/issues/2493
* plugins.cdnbg: Update for extra channels
- http://inlife.bg/
- https://mmtvmusic.com/live/
- http://mu-vi.tv/LiveStreams/pages/Live.aspx
---
- use python logging
- removed SSL Verification for Stream URLs
- find iframes with `:` instead of `:`
* plugins.cdnbg: Added some more URL tests
Removed "tvevropa.com",
can not find a livestream url on the website.
* plugins.metube: Add support for live streams and VoDs on metube.id
meTube.id is an Indonesian video sharing website owned by MNC Media that has live streams of many Indonesian TV channels.
Plugin works for both live streams and VoDs.
- speeds up stream resolution for HDS streams (by using a static URL for the SWF player instead of searching it each time the plugin is run)
- makes the plugin use token generator for all kind of streams (since a recent change on France TV)
- enable full support for videos on francetvinfo.fr and its subdomains
* plugins.oldlivestream: remove plugin, service not available anymore
The old subdomain redirects to the new domain,
which is already a Streamlink plugin.
* plugins.oldlivestream: Add filename for empty files on Windows.
* plugins.ltvlmslv: Add support for Latvian live channels on ltv.lsm.lv
* plugins.LtvLsmLv: use itertags and made it more failsafe
- search only for "embed.lsm.lv" as there are other iframes on this
website
- search for all video sources, but only use m3u8
- use User-Agent and Referer for the whole Session
- There are also DASH streams available, but they are not added as they
don't bring any benefits here.
I don't think anyone is using this plugin
at least the VOD part is broken for two years
`display_mime_type` was droped 2 years ago and would always raise a
KeyError in Streamlink
Example when it changed in 2016 for the Kodi Addon
https://github.com/cccc/plugin.video.media-ccc-de/pull/7/files32e27e68142122ebf401/src/streamlink/plugins/media_ccc_de.py (L85)
The livestreams might work, but they are not available right now.
---
The `self.session.http` part would need an update,
but since I don't know if someone is using this plugin it is not worth
it.
---
If someone is still using the livestream part,
leave a comment here and I would fix it.
* plugins.zattoo: session update and allow muxed hls / dash streams
use new streamlink cookie api
the default session time is set to 30 days,
after every two hours there will be a check if the session is actually valid.
there is also a forced session reset if the streamlink cache data is invalid
---
use new streamlink logging api
---
New option `--zattoo-stream-types`, this allows the usage of other stream types
- hls - normal hls streams - this is the default which will be used as default
- hls5 - muxed hls streams
- dash - dash streams
they are not enabled by default, as this would spam to many not needed mirrors.
Support for other Zattoo based websites.
- https://iptv.glattvision.ch
- https://mobiltv.quickline.com
- https://player.waly.tv
- https://tvplus.m-net.de
- https://www.bbv-tv.net
- https://www.meinewelt.cc
- https://www.myvisiontv.ch
- https://www.netplus.tv
- https://www.quantum-tv.com
- https://www.saktv.ch
- https://www.vtxtv.ch
* plugins.zattoo: raise PluginError for invalid logins
* plugins.zattoo: rebase master, use utils.args for comma_list_filter
* docs: build latest and stable docs with doctr
* docs: first attempt add enabling version switching with a warning
* build: remove {make,push}docs.sh scripts as they are no longer needed
* docs: moved doctr deploy key decryption key to travis settings
* docs: fix typo in css
* Move docs version selection to sidebar
Also:
- Remove home icon from "Streamlink" title
- Fix spacing and text layout in sidebar header and menu
- Remove border from active main menu list item
- Rename CSS classes (wy-side-nav-search -> wy-side-nav-header)
- Remove some unneeded CSS rules
* plugins.steambroadcast: a new plugin support for public steam broadcast streams
* plugins.steambroadcast: add authentication with 2 factor auth and captcha support
* plugins.steam: renamed, tidied up a bit
* plugin.steam: add plugin matrix entry and url tests
* plugin.steam: support for public streams without login
* plugins.steam: remember Streamlink for auth codes
* docs: public steam streams do not require an account
* plugins.steam: use user input requester api
* plugins.steam: if user input fails during login, login will fail
If a login is attempted and user input is required for 2FA, but it is
not available the login will be aborted - however, the plugin may still
be able to continue.
removed hlsvariant:// documentation,
hls:// is enough
README.md
- removed invalid note
- update some URLs
cli.rst
- removed old note
- added dash://
index.rst
- update for https URLs
install.rst
- update for new Solus / Void URL
- update for NixOS, found only this URL
- update for Dependencies
- PyPI URL update
- removed old livestreamer issue ref 401
- use correct URL for Bintray changelog
LiveProxy allows Streamlink to be easy accessible from **m3u** playlists,
it is also available for **Kodi Leia** and **Enigma2** devices.
---
It is only meant for a local network.
---
The argparser is copied from **streamlink_cli**,
this makes it easier to maintain and also allows the usage of all Streamlink commands.
Most of them will work, some not because they make no sense for LiveProxy.
**supported**
- Sideloading Plugins
- config files
- HLS, HTTP, HDS are supported.
**not supported**
- RTMP is not supported
- Dash will be supported at some point, but not right now.
It can play the stream or redirect the streaming url.
---
Example of URLs
```
http://127.0.0.1:53422/play/?url=https%3A%2F%2Fwww.youtube.com%2Fuser%2Ffrance24http://127.0.0.1:53422/301/?url=https%253A%252F%252Fwww.euronews.com%252Flive
```
A detailed guide can be found on the website.
created a dummy file for deleted plugins #1223
Removed plugins
- are dead
- redirect to a different website
- are marked as broken for +1 year
- agreed to delete it in some other issue
---
some of the marked plugins could also be deleted
* stream.dash: parser for dash manifest files
* stream.dash: stream player for dash with plugin to support dash:// prefixed urls
* cli.main: make sure that streams are closed on errors
* stream.dash: fix some parsing bugs
* stream.dash: tidy up the segment number generation
* plugins.dash: wip segment timeline
* stream.dash: update to segment timeline parsing
* stream.dash: py3 support
* stream.dash: raise an error for DRM protected streams
* stream.dash: fixes for timescaling and some segment templates
* docs: add DASHStream to docs with other Stream classes
* dash: fix for video only stream
* plugins.dash: fix bug where all URLs were matched
* stream.dash: fix issue with manifest reload
* plugin.dash: add tests and fix a couple of bugs found in testing
* stream.dash: add some tests to cover the DASHStream classes
* WIP: audio only streams
* add some debugging for threads and remove the thread joins
* dash: startNumber should default to 1
* dash: follow redirects to get the base url
* dash: fix bool parser, and segment template parser
* dash: fixed some issues...
...with some segment templates, as well as improving the presentation
delay handling
* dash: add a back-off for checking for manifest changes
* dash: fix broken tests
* dash: incomplete support for Segment@r
* dash: fixed audio/video sync issue
Added a `copyts` option to the FFMPEG muxer class so that the timestamps
given in the source files are maintained, this appears to fix the a/v
sync issues.
NB. The timestamp can get weird, but that's how it is :)
* dash: support for Time _and_ Number in segment timeline
* tests: add some dash parser tests + a little refactor
* tests: add dash to built in plugins
* tests: more coverage of dash_parser
Added a new module for tests, `freezegun`, for mocking time.
* dash: fix for missing publishTime
* dash: update available_at times to be datetime
This should fix any timezone or leap-second issues, etc.
* fixed timing issue for 1tv.ru
* dash: fix availability timeline for segment timeline
* dash: flake8 tweaks
* dash: add a few debug logging messages
USTV Now has a bad JavaScript UI and the page URLs are all the same, so
a station code must be provided using the --ustvnow-station-code option,
or appended to the URL (eg. watch.ustvnow.com/watch/syfy).
* rename CHANGELOG to md
* symlink the change log in to the docs
* include the recommonmark parser for md file
* reformatted the CHANGELOG md file, should look more or less the same as the RST
* refactored the release scripts to handle/generate the new format
* file is a bad variable name
* couple of minor tweaks, mainly style
* Fix git shortlog being highlighted as Python in the docs
* update manifest to include changelog.md instead of rst
* plugins: PluginArguments API
Allow plugins to specify arguments within the Plugin class.
This makes it easier to add and test plugin specific arguments, as well
as enabling sideloaded plugins to support command line arguments.
* update docs build to work with the new plugin arguments
* fix argument name override for funimation and ustream
* add some more tests for options/arguments
* rebase with abweb plugin
* switch to RuntimeException for py2 compat
* fix bug where required arguments were not prompted
* bug fixes for option names in plugins, should match existing names
* restore "normal" exception messages
* missed a RecursionError -> RuntimeError
* updated the api slightly with better (I think) argument name
added some docs for the Argument and Arguments classes
* options/args: normalise option names to replace - with _, and ensure the defaults are set
* normalise the plugin module name, replacing _ with -
* style issues pointed out by @back-to
* plugin.btsports: update to use PluginArguments
* plugins.bbciplayer: add hd argument
* plugins.twitch: move --twitch-oauth-authenticate back to argparser
Moved the option back to argparser as it's a special case.
* test: fixed typo
* build: use versioneer to set the build number
* build: update the deploy scripts to use versioneer
* release: update docs version and fix tarball version
* build: no need to install versioneer on travis, etc.
* [ABweb] New plugin for BIS Livestreams of french AB Groupe
> AB Groupe
> The AB is a French business group in the field of broadcasting.
> https://en.wikipedia.org/wiki/AB_Groupe
Requires a login and a subscription.
Username/Password is only required for the first login every 24h,
it will cache the required cookies and force a relog every 24h.
```
$ streamlink
"http://www.abweb.com/BIS-TV-online/bistvo-tele-universal.aspx?chn=ab1"
best
[cli][info] Found matching plugin abweb for URL
http://www.abweb.com/BIS-TV-online/bistvo-tele-universal.aspx?chn=ab1
[plugin.abweb][info] Attempting to authenticate using cached cookies
[cli][info] Available streams: 75k (worst), 240p, 360p, 432p, 720p
(best)
[cli][info] Opening stream: 720p (hls)
[cli][info] Starting player: /usr/bin/vlc
[cli][info] Player closed
[cli][info] Stream ended
[cli][info] Closing currently open stream...
```
http://www.abweb.com/BIS-TV-Online/http://www.abweb.com/BIS-TV-Online/bistvo-tele-universal.aspx
* [ABweb] set self._expires cache correctly
* [ABweb] changes for site update
A generated m3u8 url expires after 24h
- removed --jtv and --gomtv commands
- removed websites that are dead
- removed websites that redirectes to a complete different website than the streamlink Plugin
if someone still wants to use the new website,
open a new Plugin Request the old websites are already broken for a long time.
| file | domain | status |
| --- | --- | --- |
| apac.py | a-pac.tv | redirected to different website |
| bambuser.py | bambuser.com | Bambuser community has ceased its services. |
| connectcast.py | connectcast.tv | 401 login - dead? |
| daisuki.py | daisuki.net | offline and redirected to different website |
| disney_de.py | disneychannel.de | redirected to different website - new website/domain |
| dmcloud.py | api.dmcloud.net | offline |
| dmcloud_embed.py | - | dmcloud is offline |
| gomexp.py | gomexp.com | redirected to different website |
| streamupcom.py | streamup.com | stay tuned since 2016 - dead |
| wattv.py | wat.tv | New website already covered by TF1 Plugin |
- Add a custom class to all tables on the install page, so tables on
other pages don't get changed
- Ignore the colgroup data, set consistent table cell widths and unset
the white-space property for being able to have automatic line breaks
- Set explicit line breaks at certain positions
- Fix document white space
* E265 - Fix spacing after comment hash for block comments.
* W293 - Remove trailing whitespace on blank line.
* E305 - Add missing 2 blank lines after end of function or class.
* E123 - Align closing bracket to match opening bracket.
* E202 - Remove extraneous whitespace before bracket.
* Remaining fixes.
It was used in README.rst before, but is no longer used since commit
b4470f3e7c.
Also remove _static directory and its reference from docs/conf.py as it
only contains that image.
* [canalplus] Update plugin according to website changes
C+ has centralized its replay services in mycanal.fr, and remove the old ones (c8.fr, cstar.fr).
Due to changes, this plugin cannot handle live url (for the moment).
* remove unavailable test (web page doesn't exist anymore).
* [canalplus] update plugin according to advices.
- allow http scheme for cnews.
* [canalplus] add 'cnews.fr' domain to plugin_matrix documentation.
Sphinx has deprecated sphinx.util.compat.Directive.
Use the class in docutils as recommended by Sphinx.
Sphinx warning was: /usr/lib/python3/dist-packages/sphinx/util/compat.py:40:
RemovedInSphinx17Warning: sphinx.util.compat.Directive is deprecated and will
be removed in Sphinx 1.7, please use docutils' instead.
RemovedInSphinx17Warning)
A codeblock without an empty new line before cause bad docs generation
in man and html formats.
This causes a `man` warning: `warning: macro `.' not defined`.
The manpage contains `.. code\-block:: console` which it does not
recognize.
In html format, the generated line is
`For example: .. code-block:: console` and the following codeblock is
not correctly formatted.
Any proxy type that is supported by `requests` can be used.
For example, SOCKS proxies are support by `requests`, and can be used:
- `--http-proxy "socks5://[user:password@]host:port"`
- `--https-proxy "socks5://[user:password@]host:port"`
to set streamlink to use socks proxies for http and https.
* [zatto] New plugin for zattoo.com / tvonline.ewe.de / nettv.netcologne.com
* [zattoo] Better debug/error messages and use channel as cid if no cid.
streamlink/streamlink#804
* Fixed travis 20 character limit error and removed tabs from other plugins
/home/travis/build/streamlink/streamlink/docs/plugin_matrix.rst:265: (ERROR/3) Malformed table.
Text in column margin in table line 254.
* [zattoo] --zattoo-purge-credentials
You can reset your session with --zattoo-purge-credentials
Add two new arguments to support authentication:
- `--ufctv-username`: The username used to register with ufc.tv.
- `--ufctv-password`: A ufc.tv account password to use with
--ufctv-username.
- travis: build latest+nightly and deploy to bintray
- docs: link to the latest installer+info
- travis: disable s3 release, only build on cron
- bintray: use date as verion number
Only the English variant of the website is support (aljazeera.com).
Live streams and VOD are both supported.
A support class `BrightcovePlayer` was added to simplify the process of
playing streams hosted by Brightcove.
The old livecoding.tv plugin has been renamed to liveedu and has been
updated to support the new site and new api. Some streams require login
details which can be supplied using the two new arguments:
- `--liveedu-email`: LiveEdu.tv account email (not 3rd party login)
- `--liveedu-password`: LiveEdu.tv account password
livecoding.tv URLs should still work, as they all appear to redirect to
liveedu.tv. A lot of the VOD streams appear to require a PRO account,
which I do not have.
Example URLs:
- liveedu.tv/learntoprogram/RdeQa-javascript-fundamentals/ZB5w3-javascript-fundamentals-2/ (no login required)
* plugins.zdf_mediathek Added missing headers for http.get
- Removed unused import
- Removed "match" it was not used
- Added missing "name" it was not defined
- Added an **info message** for how to get a **valid link** for tv channels, if someone uses
`streamlink https://www.zdf.de/live-tv`
- Fixed 403 Client Error (**Added headers for http.get**)
```
[cli][info] Found matching plugin zdf_mediathek for URL https://www.zdf.de/comedy/heute-show/heute-show-vom-24-februar-2017-100.html
error: Unable to open URL: https://api.zdf.de/tmd/2/portal/vod/ptmd/mediathek/170224_sendung_hsh (403 Client Error: Forbidden for url: https://api.zdf.de/tmd/2/portal/vod/ptmd/mediathek/170224_sendung_hsh)
```
* plugins.zdf_mediathek added an "option" check if there are no options you are likely geo blocked
only HLS streams are geoblocked
`[error] Failed to extract HLS streams:` should be still there but
HDS streams are not geoblocked with a random US Proxy
* plugins.zdf_mediathek geo-restricted informations
Error message will be only spammed in debug mode.
* changed debug back to error
* plugin.npo: rewrite of plugin to use the new API
* plugins.npo: added option to enable subtitles
Subtitles can be enabled on the stream (if available) by using the
`--npo-subtitles` option.
* plugins.npo: add support for zapp.nl and zappelin.nl
Two new options were added to support this plugin:
- `--animelab-email`: the email address to login to AnimeLab
- `--animelab-password`: the password for your AnimeLab account
The content is only available with a login.
* Add support for showroom-live.com
* Add tests, _get_title
* Fix telop validation
* Disable HLS stream support
HLS streams are very unreliable, so I'm disabling them for now.
* Add tests for Showroom.stream_weight
* Update stream weights
The low spec *is* actually 160p. 198p is what happens to the original spec
when it gets downgraded due to poor wifi or low battery.
* Code cleanup, fully remove HLS support
- Deleted comments relating to HLS
- Removed unnecessary API schema
* Accept hyphens in room urls
* Add support for showroom-live.com
* Add tests, _get_title
* Fix telop validation
* Disable HLS stream support
HLS streams are very unreliable, so I'm disabling them for now.
* Add tests for Showroom.stream_weight
* Update stream weights
The low spec *is* actually 160p. 198p is what happens to the original spec
when it gets downgraded due to poor wifi or low battery.
* Code cleanup, fully remove HLS support
- Deleted comments relating to HLS
- Removed unnecessary API schema
* Accept hyphens in room urls
* Add showroom to plugin matrix
* Fix stream names
* Fix stream name test
Two new options were added to support this plugin:
- `--wwenetwork-email`: the email for the WWE Network account
- `--wwenetwork-password`: the password for the WWE Network account
Both are required to access content.
Added some notes in the docs about settings more complex parameters,
lists, dicts, etc.
Made some slight changes to the StreamURL class and the associated
tests, nothing significant.
Adds two new options:
`--funimation-language=(en|ja)` to select the audio language
`--funimation-mux-subtitles` to enable muxing of subtitle streams into
the output stream.
The defaults are english with no subtitles muxed in. When english
subtitles are muxed in they may be displayed by default depending on
your player.
* Add a donation page
* Fix a typo that could cause tests to bomb
* Switch to anonymous hyperlinks for typically duplicate links
* Add beardypig
* Fix underscore line length
* plugins.daisuki: add support for VOD streams from daisuki.net
Courtesy of @intact: https://gist.github.com/intact/3d6af5f361c1a44fd878
* plugins.daisuki: mux subtitles if available
Adds a new option `--daisuki-mux-subtitles` that will automatically
convert the xml subtitles to srt and mux them into the output stream.
This feature requires `ffmpeg`.
* plugins.daisuki: mux all of the subtitles available
All of the subtitle streams are muxed with the video output (if
enabled), they are given the same name as on the DaiSuki.net webiste.
eg. "English", "Russian", "Spanish Latin". For some players you may need
to set your preferred subtitle language to get the desired language by
default.
* Add support for ludo.fr
* Update documentation
* Update tests for ludo.fr support
* Add support for zouzous.fr
* Update documentation
* Update tests for zouzous.fr support
* Ignore HBB TV streams (not available anymore on France Télévisions since July 2016)
* Set up better fallback bitrate for MP4 videos
Only the streams that are provided directly from seetv.tv will work,
embedded (`<iframe />` or `<object />`) streams are not supported.
Example URLs:
- seetv.tv/vse-tv-online/stb-ch-ua
- seetv.tv/vse-tv-online/tv-inter-ua
Add support for the Ukrainian live TV streams on ovva.tv.
The streams are provided via HLS and do not appear to be geo-locked.
Supported URLs:
- ovva.tv/tvguide/1plus1/online
- ovva.tv/ua/tvguide/1plus1/online
- ovva.tv/tvguide/1plus1in/online
- ovva.tv/ua/tvguide/1plus1in/online
- ovva.tv/tvguide/2plus2/online
- ovva.tv/ua/tvguide/2plus2/online
- ovva.tv/tvguide/tet/online
- ovva.tv/ua/tvguide/tet/online
- ovva.tv/tvguide/tsnsurdo/online
- ovva.tv/ua/tvguide/tsnsurdo/online
- ovva.tv/tvguide/unian/online
- ovva.tv/ua/tvguide/unian/online
Add support for streaming live TV from the Belarus National TV channels.
Most channel provide one HLS stream and one RTMP stream, both are named "live" as they are equivalent and this respects the user's `stream-priority` setting when requesting "best".
Supported URLs:
- tvr.by/televidenie/belarus-1/
- tvr.by/televidenie/belarus-2/
- tvr.by/televidenie/belarus-3/
- tvr.by/televidenie/belarus-5/
- tvr.by/televidenie/belarus-24/
* Create app17.py
* Update plugin_matrix.rst
* url fix
* hls fix
* log if channel not found
* plugins.app17: info log
* plugins.app17: parse api json
* plugins.app17: fix if not live page
* plugins.app17: fix hls stream
* Removing validate import, handing text to get_stream_info and removing trailing whitespaces.
* Adding tests for Huomao plugin.
* Adding Huomao plugin to plugins matrix.
* Changing get_stream_id and get_stream_quality to instance methods.
* Changing tests to reflect get_stream_id and get_stream_quality changes to instance methods.
* Changing comments to docstrings.
* Add plugin for czech tv
* Add czech tv plugin to the plugin matrix
* Fix url regexp
* plugins.ceskatelevize: renamed from czech_tv
* plugins.ceskatelevize: better geo-blocked error notification
* cli: make all the console messages unicode
* Add support for gulli.fr
* Add tests for gulli.fr plugin
* Update documentation
* Fix list of geo-restricted countries for Gulli plugin
* Improve geo-restriction error logging