Fragmented mp4stream Package
Usage
import fragmentedmp4stream.service
import sys
def main(argv):
fragmentedmp4stream.service.start(argv)
if __name__ == "__main__":
main(sys.argv[1:])
videocodec support
- h264
- h265
protocol support
- http(fmp4, hls)
- rtsp
parameters
- -p(--ports) ports[http, rtsp] to bind(def. 4555,4556)
- -r(--root) files directory(required) - path to seek required mp4 file
- -s(--segment) segment duration sec.(def. 6) - floor limit of segment duration
- -c(--cache) cache segmentation - save segmentation as .*.cache files
- -b(--basic) user:password@realm (use Basic Authorization)
- -d(--digest) user:password@realm (use Digest Authorization)
- -v(--verb) be verbose (show structure of required mp4 file)
- -h(--help) this help
installation
pip install fragmented-mp4stream-pkg==0.0.4
subtitles
- Innner subtitles: track handler=
text, type=tx3g. Verified withMPlayer. - Outer subtitles:
- master playlist: m3u8-file - ex.
#EXTM3U #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=NO,FORCED=NO,URI="http://mkh-Aspire-A315-54K:4555/toystory20sub.m3u8" #EXT-X-STREAM-INF:PROGRAM-ID=1,SUBTITLES="subs" http://mkh-Aspire-A315-54K:4555/toystory20.m3u8
- subtitles playlist: m3u8-file - ex.
toystory20sub.m3u8
#EXTM3U #EXT-X-PLAYLIST-TYPE:VOD #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-TARGETDURATION:8 #EXTINF:4.0107, http://mkh-Aspire-A315-54K:4555/toystory20.vtt
webVTTsubtitles: vtt-files - ex.toystory20.vttWEBVTT 00:00:02.829 --> 00:00:4.829 line:74% align:left <i>subtitles example.</i>
streams
- json list of available files
http://ip:http_port/ - fragmented mp4
http://ip:http_port/filename_without_extension - hls container with fragmented mp4
http://ip:http_port/filename_with_m3u_extension - rtsp
rtsp://ip:rtsp_port/filename_without_extension
autorization
Supports Basic and Digest authorization. A specific authorization can be setup or both.
rtsp stream
Supports trick play:
- reverse
- scaling
- seeking
Supports parameters
- position - returns asset position timestamp
example1
- service
- python3 mp4stream.py -r ~/video/
- client
- ffplay http://192.168.250.229:4555/
mp4 file list of ~/video/
[ "MTV", "Wingsuit", "toystory", "nuts720p_4Mb" ]
- ffplay http://192.168.250.229:4555/
example2
- service
- python3 mp4stream.py -r ~/video/
- client
- ffplay http://192.168.250.229:4555/toystory
~/video/toystory.mp4 - fragmented mp4
- ffplay http://192.168.250.229:4555/toystory
example3
- service
- python3 mp4stream.py -r ~/video/
- client
- ffplay http://192.168.250.229:4555/toystory.m3u
~/video/toystory20.mp4 - fragmented mp4 in hls container
- ffplay http://192.168.250.229:4555/toystory.m3u
example4
- service
- python3 mp4stream.py -r ~/video/
- client
- ffplay -rtsp_transport tcp rtsp://192.168.250.229:4556/toystory
~/video/toystory.mp4 - rtsp stream
- ffplay -rtsp_transport tcp rtsp://192.168.250.229:4556/toystory
Metadata
Release files for fragmented-mp4stream-pkg 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fragmented-mp4stream-pkg-0.0.4.tar.gz | 35.4 kB | Without provenance | Details for fragmented-mp4stream-pkg-0.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl | Python 3 | none | any | Details for fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl |
Total release size: 86.4 kB
Release files / fragmented-mp4stream-pkg-0.0.4.tar.gz
| Download URL | fragmented-mp4stream-pkg-0.0.4.tar.gz |
|---|---|
| Size | 35.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c48dbe3caabf0a6f38230a15345eadd2b55a0ab3d960d7c58f8568196e1d6005
|
|
BLAKE2b-256 checksum How to use checksums |
403f607f0ff3008f2cf30f13af82087c02a54c04f6544ccab1eb009a2811bafe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
|
Release files / fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl
| Download URL | fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl |
|---|---|
| Size | 51.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4633f4292205b17571771b8bbab20521c5bee13047b787291cc3e0e16969a575
|
|
BLAKE2b-256 checksum How to use checksums |
190507d976c1caaa374fbd2a3db6f93a263c58fd8f1fe161d757a9ac8bdbe989
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
|
Security for fragmented-mp4stream-pkg 0.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.