*** tpb has joined #timvideos | 00:00 | |
*** hyadez has quit IRC | 01:01 | |
*** aps has quit IRC | 01:03 | |
tumbleweed | xfxf: IIRC it is, but it's rather c3 specific | 01:21 |
---|---|---|
tumbleweed | also, the pre-review publishing is different to the post-review publishing | 01:23 |
tumbleweed | https://github.com/voc/voctoweb | 01:24 |
tpb | Title: GitHub - voc/voctoweb: voctoweb – the frontend and backend software behind media.ccc.de (at github.com) | 01:24 |
xfxf | ah, rails | 01:28 |
xfxf | this looks like the app that serves already edited files, not the veyepar-like workflow tool, or am i mis-grokking it? | 01:30 |
tumbleweed | that is correct | 01:30 |
xfxf | i want to see the bits of their code that handle the almost immediate editing/uploading of video. i'm assuming it's some tool that slurps down the live stream and chops/re-encapsulates/uploads | 01:30 |
tumbleweed | they don't have a veyepar | 01:30 |
xfxf | okay, so how do they do that side of things? | 01:30 |
tumbleweed | the editing is done with a gui, using a fuse filesystem that mounts the recorded talks | 01:31 |
xfxf | oh, wow, so they do that manually? | 01:31 |
xfxf | and i've seen the fuse filesystem stuff | 01:31 |
xfxf | i didn't think CCC actually did that at scale though | 01:31 |
xfxf | that's kinda nuts if they're turning around stuff within hours | 01:31 |
tumbleweed | I haven't seen the process, that's just what I remember being told | 01:31 |
xfxf | ah, right | 01:31 |
xfxf | i'm super keen to do the almost immediate publishing stuff | 01:32 |
tumbleweed | I think it's quite reasonable to imagine that process to be quicker than veyepar | 01:32 |
tumbleweed | the almost immediate publishing is just stream dumping | 01:32 |
xfxf | in theory it wouldn't be that hard | 01:32 |
xfxf | but everything seems 'not hard' until one attempts it | 01:32 |
tumbleweed | yep | 01:32 |
tumbleweed | it's about the corner cases, and making it all reliable | 01:33 |
xfxf | like, 'in theory' we could run a second set of 'disk save' gstreamer pipelines on a remote server with sufficient network connectivity | 01:34 |
xfxf | and enhance the way we're indicating/saving cuts a little so volunteers can actually live mark which ones denote a recording during the event | 01:35 |
tumbleweed | so, they do MPEG HLS streams | 01:35 |
xfxf | probably not hard to write a little script that feeds the right data into veyepar and kicks off an encode | 01:35 |
tumbleweed | which are essentially a stream dump to files | 01:35 |
tumbleweed | that the client treats as being a stream | 01:35 |
tumbleweed | err sorry, probably DASH not HLS | 01:36 |
xfxf | yeah, i think i saw that when poking around | 01:36 |
xfxf | gstreamer behind the scenes for that? | 01:36 |
tumbleweed | not sure what fits in where | 01:37 |
tumbleweed | but I seem to recall that most of the streaming infrastructure is nginx | 01:37 |
xfxf | ah, yes, they told me that the other day | 01:37 |
xfxf | for LCA we'll stick with iterating on our current technologies but definitely going to play with all of this after | 01:38 |
xfxf | had hoped to attend CCC this year but couldn't make it - maybe next | 01:38 |
tumbleweed | yeah, I think we're mostly sticking with icecast right now, too. webm in icecast has the advantage of being simple | 01:39 |
CarlFK | the blocker I run into is moving the data from the room to somewhere else - 1/2 the time I have no real network | 01:58 |
CarlFK | I have people excited to give me the wifi password | 01:59 |
*** tpb has joined #timvideos | 03:22 | |
*** hyadez has joined #timvideos | 05:34 | |
*** CarlFK has quit IRC | 06:22 | |
*** SamSagaZ has quit IRC | 07:51 | |
markvandenborre | xfxf: you may want to have a look at nginx rtmp pseudocutting | 08:09 |
markvandenborre | sorry, nginx http mp4 pseudocutting | 08:23 |
xfxf | ack, I assume it lets me reencapsulate streams into files or similar? | 08:24 |
*** sb0 has joined #timvideos | 09:35 | |
markvandenborre | xfxf: we throw an rtmp stream at nginx | 09:44 |
markvandenborre | nginx dumps the stream into a (non-seekable) flv; when the stream to nginx stops, it calls ffmpeg to auto convert it into an indexed, seekable mp4 file | 09:46 |
xfxf | neat | 09:51 |
markvandenborre | it's really great to be able to do http://foo/bar.mp4?start=20&end=450 | 10:21 |
*** SamSagaZ has joined #timvideos | 13:57 | |
*** SamSagaZ has quit IRC | 14:24 | |
*** sb0 has quit IRC | 15:01 | |
markvandenborre | xfxf: or even http://foo/bar.mp4?start=20&end=450#t=30,50 | 16:11 |
cr1901_modern | _florent_: If the peripheral clock in HDMI2USB is asynchronous to the system clock, does the wishbone interface provide the clock-domain crossing? | 19:15 |
cr1901_modern | wishbone shared bus* | 19:15 |
cr1901_modern | mithro: So... the firmware in fact does NOT work when booting from internal ROM | 20:23 |
cr1901_modern | Once it reaches a loop, it decides to spit garbage to the console. Mainly repeating the letter "L" many times | 20:24 |
_florent_ | cr1901_modern: no you have to do that manually (on the CSRs) or with something like this: https://github.com/enjoy-digital/opsis-soc/blob/master/gateware/encoder/core.py#L287 | 20:24 |
tpb | Title: opsis-soc/core.py at master · enjoy-digital/opsis-soc · GitHub (at github.com) | 20:25 |
cr1901_modern | In a sense, this is "good news", b/c I can safely remove the SPIflash as a source of problems for now | 20:25 |
cr1901_modern | _florent_: Okay thanks for the heads up on that | 20:25 |
cr1901_modern | _florent_: Something bothers me about the wb_async_reg impl... I remember reading that if you're trying to synchronize a multi-bit signal, it is not sufficient to just include two flip-flops in series between src and dest domain | 20:29 |
cr1901_modern | But this seems to be exactly what wb_async_reg.v does | 20:29 |
cr1901_modern | Well, I guess it's fine, taking a closer look, since the buses will be held constant while the synchronization takes place and thus will "eventually" settle on the correct value | 20:35 |
*** sb0 has joined #timvideos | 23:11 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!