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
webVTT
subtitles: vtt-files - ex.toystory20.vtt
WEBVTT 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
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
|