Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| projects:stream-observer_strobs [2020/10/25 22:13] – [Data entry] simpel | projects:stream-observer_strobs [2024/01/21 17:49] (current) – [Data entry] project-status: running simpel | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| git-url_url | git-url_url | ||
| project-description : Stream-Observer (strobs) is a tool to observe running voc video streams. | project-description : Stream-Observer (strobs) is a tool to observe running voc video streams. | ||
| - | project-member | + | project-member |
| - | project-status_ | + | project-status |
| ---- | ---- | ||
| + | |||
| + | ---- | ||
| + | The script opens mpv with all active (currently streaming) streams from [Chaos Computer Club](https:// | ||
| + | Optionally it can also try to open all streams given in a valid playlist. | ||
| + | |||
| + | First make `strobs` executable with `chmod +x strobs`. Then execute `./strobs`. | ||
| + | Install mpv if not existing. | ||
| + | |||
| + | |||
| + | == Options | ||
| + | Usage: strobs [ -d | -D | -f | -h | -j | -k | -m | -n | -p _file_ | -s | -t | -v | -V | -x] | ||
| + | * -d debug mode: print commands and arguments while executed | ||
| + | * -D debug mode: print script lines while read | ||
| + | * -f forces (with -p / -j) open playlist / download full json | ||
| + | * -h help shown | ||
| + | * -j json export to disk | ||
| + | * -k keys/ | ||
| + | * -m man page shown (`strobs.1` needed) | ||
| + | * -n name stream with technical extension | ||
| + | * -p playlist _file_ with servers in format m3u8 | ||
| + | * -s sort server list alphanumerical | ||
| + | * -t timetable of running and coming events shown | ||
| + | * -v verbosity increasing with _v_ | ||
| + | * -V version print | ||
| + | * -x exit before mpv, keeps current-playlist.m3u8 | ||
| + | |||
| + | ==Details | ||
| + | The script downloads [http:// | ||
| + | It reads then [https:// | ||
| + | With this informations it builds a playlist in m3u8 format and starts mpv with this playlist. | ||
| + | |||
| + | == Examples | ||
| + | * `strobs` - opens current streams in mpv. | ||
| + | * `strobs -p 36c3.m3u8 -s` - uses the playlist 36c3.m3u8 for mpv. In addition it will sort the returned streams alphanumerical. | ||
| + | * `strobs -j -f` - will download and save status\_liveber.xsl, | ||
| + | |||
| + | == Files | ||
| + | * `current-playlist.m3u8` - generated playlist while running | ||
| + | * `input.conf` - user-defined key bindings for mpv | ||
| + | * `keys.lua` - script with key bindings for audio, video and rooms | ||
| + | * `strobs` - the shell script to execute | ||
| + | * `strobs.1` - man page | ||
| + | * `voctocat.png` - image used as last playlist item, so mpv does not stop | ||
| + | |||
| + | Only `strobs` is absolutely necessary observe running voc video streams. | ||
| + | |||
| + | == Keys and shortcuts | ||
| + | === defined by lua scripts | ||
| + | * 1 – 0 room number 1 to 10 | ||
| + | * q select native audio | ||
| + | * w select translation 1 | ||
| + | * e select translation 2 | ||
| + | * y select video mixer output | ||
| + | * x select slides | ||
| + | |||
| + | === defined defaults by input.conf | ||
| + | * RIGHT seek 5 | ||
| + | * LEFT seek -5 | ||
| + | * UP seek 60 | ||
| + | * DOWN seek -60 | ||
| + | * Shift+PGUP seek 600 | ||
| + | * Shift+PGDWN seek -600 | ||
| + | * SPACE cycle pause | ||
| + | * \> playlist-next; | ||
| + | * < playlist-previous; | ||
| + | * i toggle transport osd | ||
| + | * I (upper i) toggle display stats | ||
| + | * ctrl++ add audio-delay 100ms; this changes audio/video sync | ||
| + | * ctrl+- add audio-delay -100ms | ||
| + | * m cycle mute | ||
| + | * d cycle deinterlace | ||
| + | * \# cycle audio | ||
| + | * _ cycle video | ||
| + | * f cycle fullscreen | ||
| + | * s screenshot | ||
| + | * F8 show rooms | ||
| + | * F9 show list of audio/sub streams | ||
| + | |||
| + | == Fixed mpv options | ||
| + | It is starting a playlist in mpv with following options: | ||
| + | * --fs | ||
| + | * full screen | ||
| + | * --no-ytdl | ||
| + | * disable the youtube-dl hook-script (404 should try next stream immediately) | ||
| + | * --msg-level=all=error, | ||
| + | * all modules just error messages, but ffmpeg/ | ||
| + | * --no-input-default-bindings | ||
| + | * deactivate all default key bindings | ||
| + | * --input-conf=${progpath}input.conf | ||
| + | * look for configuration file in the same directory where strobs is starting | ||
| + | * --load-scripts=no | ||
| + | * don't load any scripts from personal config | ||
| + | * --scripts=keys.lua | ||
| + | * load these script: | ||
| + | * --force-window=immediate | ||
| + | * create the gui immediately on program start | ||
| + | * --keep-open=always | ||
| + | * don't terminate if the current file is ending and playback will never automatically advance to the next file | ||
| + | * --idle=yes | ||
| + | * wait idly instead of quitting when there is no file to play | ||
| + | * --vd-lavc-show-all=yes | ||
| + | * don't wail until an initial keyframe was decoded for a quicker startup | ||
| + | * --no-initial-audio-sync | ||
| + | * audio is started immediately even if start timestamp differs from video, if necessary video timing is gradually adjusted | ||
| + | * --audio-stream-silence=yes | ||
| + | * when pausing playback or stop and restart audio on seeks, audio is not stopped and silence is played | ||
| + | * --demuxer-cache-wait=no | ||
| + | * don't read data until the demuxer cache has reached maximum capacity | ||
| + | * --screenshot-format=png | ||
| + | * set the screenshot image file type to png (default: jpg) | ||
| + | * --script-opts=osc-visibility=always | ||
| + | * visibility mode of on screen controller | ||
| + | * --osd-duration=5000 | ||
| + | * set the duration of the OSD messages in ms (default: 1000) | ||
| + | * | ||
| + | * show this string as message on OSD with OSD level 1 (visible by default) | ||
| + | * used as minimal manual | ||
| + | * --no-osd-bar | ||
| + | * disable display of the OSD bar while seeking | ||
| + | * --osd-font-size=30 | ||
| + | * specify the OSD font size (default: 55) | ||
| + | * --osd-spacing=1 | ||
| + | * horizontal OSD font spacing in scaled pixels (default: 0) | ||
| + | * --osd-border-size=1 | ||
| + | * size of the OSD font border in scaled pixels (default: 3) | ||
| + | * --osd-margin-x=10 | ||
| + | * left and right screen margin for the OSD in scaled pixels | ||
| + | * --osd-margin-y=4 | ||
| + | * top and bottom screen margin for the OSD in scaled pixels | ||