projects:stream-observer_strobs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:stream-observer_strobs [2020/10/25 22:13] – [Data entry] simpelprojects:stream-observer_strobs [2024/01/21 17:49] (current) – [Data entry] project-status: running simpel
Line 6: Line 6:
 git-url_url         : https://github.com/SimpelMe/stream-observer git-url_url         : https://github.com/SimpelMe/stream-observer
 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-member      :  
-project-status_     idea+project-status      running
 ---- ----
 +
 +----
 +The script opens mpv with all active (currently streaming) streams from [Chaos Computer Club](https://www.ccc.de/en) made by [VOC](https://c3voc.de) (video operation center) in a playlist as found at [https://streaming.media.ccc.de](https://streaming.media.ccc.de).
 +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/shortcuts shown (`input.conf` needed)
 +* -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://live.ber.c3voc.de:7999/status-json.xsl](http://live.ber.c3voc.de:7999/status-json.xsl) and searches for active (current streaming) streams.
 +It reads then [https://streaming.media.ccc.de/streams/v2.json](https://streaming.media.ccc.de/streams/v2.json) and extracts end time of the streams and their display names.
 +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, status\_ingest.xsl, current.json and exit before opening mpv. In addition it will save json including past events.
 +
 +== 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; skip to next room
 +* < playlist-previous; skip to previous room
 +* 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,ffmpeg=fatal
 +  * all modules just error messages, but ffmpeg/video fatal (because of permanent irrelevant PoC errors)
 +* --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:${progpath}keys.lua
 +* --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)
 +*   --osd-msg1="room: 1 – 0       audio: q, w, e - Native, Translated 1, Translated 2       video: y, x - HD, Slides"
 +    * 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
  
  
  • projects/stream-observer_strobs.1603660417.txt.gz
  • Last modified: 2020/10/25 22:13
  • by simpel