Skip to main content

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 with MPlayer.
  • 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

example2

example3

example4

  • service
    • python3 mp4stream.py -r ~/video/
  • client
    • ffplay -rtsp_transport tcp rtsp://192.168.250.229:4556/toystory

      ~/video/toystory.mp4 - rtsp stream

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

fragmented-mp4stream-pkg-0.0.4.tar.gz (35.4 kB view details)

Uploaded Source

Built Distribution

fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

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

Hashes for fragmented-mp4stream-pkg-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c48dbe3caabf0a6f38230a15345eadd2b55a0ab3d960d7c58f8568196e1d6005
MD5 cebdaacda46691ead9bd768fd2577083
BLAKE2b-256 403f607f0ff3008f2cf30f13af82087c02a54c04f6544ccab1eb009a2811bafe

See more details on using hashes here.

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

Hashes for fragmented_mp4stream_pkg-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4633f4292205b17571771b8bbab20521c5bee13047b787291cc3e0e16969a575
MD5 870688bfe1b35f8901434d2df05fd4f4
BLAKE2b-256 190507d976c1caaa374fbd2a3db6f93a263c58fd8f1fe161d757a9ac8bdbe989

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page