Service to stream mp4 files in fragments
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fragmented-mp4stream-pkg-0.0.4.tar.gz.
File metadata
- Download URL: fragmented-mp4stream-pkg-0.0.4.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c48dbe3caabf0a6f38230a15345eadd2b55a0ab3d960d7c58f8568196e1d6005
|
|
| MD5 |
cebdaacda46691ead9bd768fd2577083
|
|
| BLAKE2b-256 |
403f607f0ff3008f2cf30f13af82087c02a54c04f6544ccab1eb009a2811bafe
|
File details
Details for the file fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl.
File metadata
- Download URL: fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl
- Upload date:
- Size: 51.0 kB
- Tags: Python 3
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4633f4292205b17571771b8bbab20521c5bee13047b787291cc3e0e16969a575
|
|
| MD5 |
870688bfe1b35f8901434d2df05fd4f4
|
|
| BLAKE2b-256 |
190507d976c1caaa374fbd2a3db6f93a263c58fd8f1fe161d757a9ac8bdbe989
|