Live thumbnail using MJPEG and nginx_push_stream.
Usage
Compile Nginx with nginx_push_stream support. The example config also uses lua-nginx-module and lua-resty-redis to store and serve old snapshots from Redis, but this module is optional. The Nginx configuration should be something like this:
$ LUAJIT_LIB=/usr/local/lib/ LUAJIT_INC=/usr/local/include/luajit-2.0 ./configure --add-module=../nginx-push-stream-module --add-module=../lua-nginx-module --with-pcre --with-ipv6 --with-ld-opt=-L/usr/local/lib
Now run Nginx with sample config:
$ nginx -c $PWD/nginx.conf
Make a directory to store the thumbs
$ mkdir -p frames/parts
Start ffmpeg to create thumbs for a channel (parts in this example):
$ ffmpeg -re -i rtmp://example.com/live/stream -vf "scale=159:-1" -r 3 frames/parts/thumb%9d.jpg
Run the broadcaster:
$ python broadcaster.py
If you prefer, install the script using pip and run it:
$ pip install live_thumb $ broadcaster
Watch the movie with the example html:
$ open test.html
Or go to http://localhost:9080/sub/parts directly.
To also store the snapshots on redis, you should run the broadcaster with an extra env variable:
$ REDIS_HOST="localhost" REDIS_PORT=7000 python broadcaster.py
The snapshots will be served from http://localhost:9080/snapshot/parts. You can also specify a timestamp: http://localhost:9080/snapshot/parts?timestamp=1396381230
Release files for live_thumb 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| live_thumb-0.1.10.tar.gz | 4.6 kB | Details |
Release files / live_thumb-0.1.10.tar.gz
| Download URL | live_thumb-0.1.10.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9da6eaae6f982cc7ba76cff6091940389c13ed780073d8c533e2c16a4c3b6b90
|
|
BLAKE2b-256 checksum How to use checksums |
298b0e59bf615b9c0f67e6d2b2d9c037a3c7215bbbb3cb2bcd7e8e68889a9c82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |