[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Streaming

Filed under: Fluendo,Hacking — Thomas @ 13:02

2004-06-28
13:02

Davyd, thanks for the support ! We at Fluendo have spent a lot of days and nights getting the server usable for GUADEC, and we're very happy that the people appreciate the fact that they can watch the streams live and archived in an open format.

Last year, Real streamed it and lots of people complained about the fact that it was not possible for them to watch parts of it online. The archives seem to be working, so this year you will be able to watch the recorded talks.

For anyone not yet in the know, http://stream1.hia.no is where it's at. Drop us a line if it's working for you. Thanks to Xiph.org and the icecast team for providing a mirror !

Red Herrings

Filed under: Fluendo,GStreamer — Thomas @ 21:47

2004-06-25
21:47

Dead tired today because of excessive IRC-ing.

Today Wim and I chased the bug in the server streaming from Norway (which we haven't even been to yet, so thanks a lot Rolf for all the work you've done for us !) where at random points in the stream we get weird artifacts and psychedelic colors. After fixing a bunch of other bugs that we theorized upon then verified with testcases, and plugging those, we still hadn't nailed it. After four hours I decided to start right over, going over everything, and dmesg was providing me with a clue - lots of frame read underruns from the webcam. It seemed to produce about 30% incomplete frames. More conjecturing, testing, hypothetising and verifying and then it dawned on us that maybe the fact that the webcam is serving both video and audio over USB might be problematic in the kernel.

And yes, using sinesrc as the audio source material seems to give a bug-free video stream. Luckily we are planning to stream from line-in at GUADEC so we won't run into that problem. Now that we know what's causing the funny artifacts we have no problem recommending you to watch them on the low-quality stream or the high quality stream.

Second red herring was me being stupid. I was fixing alsasrc so that it provides a clock that matches the data it's producing, but I also wanted to keep around a status struct object for ALSA in the element so that it didn't need to be allocated all the time. Instead of changing _alloca to _malloc however I kept _alloca, then couldn't figure out for an hour why the simple pipelines kept on crashing. Duh.

The bright side is I probably will never forget to use malloc over alloca in these cases anymore.

I have a confession to make

Filed under: Fluendo — Thomas @ 04:57

04:57

I work for an evil company. We are out to steal your software. Lock up your kids, or we'll make them write code for us. We intend to sit on the beach while you toil, and we will do it with impunity.

Obviously I should not be allowed anywhere near a keyboard at 5 AM. If someone has a device for sale that can give me instant cost/benefit analysis for decisions I make (like, whether or not to get to bed during an IRC discussion) I wouldn't mind paying sterling silver for it.

Streaming

Filed under: Fluendo,GStreamer — Thomas @ 02:22

02:22

Hectic work week. Today for example was a holiday but we're all to wired up to take it :) I would just sit at home stressing about stuff still to finish anyway.

Finally got a gst-plugins release out. Apart from the usual bitching by the usual suspects it went out fine, though I am starting to loathe the general "wait and see and complain afterwards" attitude I have to deal with. I'd much prefer people actually doing testing on the prereleases I make instead of just complaining why they don't know what's going on. But I guess it's a natural human tendency - people don't like doing boring stuff like testing before releasing and people feel it is someone else's job to keep them in the loop 24/7.

On some good notes, the streaming is coming along nicely. Wim has done quite some tweaking and testing to the effect that you can CTRL-Z the server, bg it, and then when you fg it after some time it manages to pick back up and stay synchronized.

While creating a bunch of components today that basically took a live audio/video feed (synchronized of course) and encoded it to a) a high-quality Ogg/Theora + Vorbis stream, b) a low-quality one, c) a vorbis-only ogg stream, d) a multipart smoke + mulaw stream, and e) the a) stream captured to disk, we noticed something funny going on with the video. It started getting fringes and colourful effects. It took some thinking to realize that tcpserversink is probably dropping some buffers for some clients when CPU is close to 100% and not everything is getting enough CPU slices. Good that we picked that out today - Wim says it should be a fairly simple fix to just split it into two threads and keep a GArray of buffers around to make sure that a) clients get all buffers without dropping and b) slow clients get dropped without obstructing the fast clients.

Also fun - the servers in Norway got installed this week by Rolf, and he gave me access. It took me about half an hour, including building CVS code and configuring a bunch of files, to set up the machine for streaming. Nice to be able to get packages from the projects I work on, fedora.us, GStreamer, and kernel modules combined, and just Have It Work.

So, here's hoping we are ready to stream ...

Ogg/Theora+Vorbis stream

Filed under: Fluendo,GStreamer — Thomas @ 21:20

2004-06-18
21:20

Ok, so finally.
Point your theora-enabled player to http://mirror.fluendo.com:8802/.
The stream is a view on the fountain (since it's weekend and we're not working) with a commodore 64 tune in loop (since we won't be saying anything useful anyway in the weekend). The tune already annoys the hell out of me, I need to bring my music collection to work very soon.

The same stream, but different encoding, can be watched with a java applet. You can also get a dump of the stream and it should play back locally just fine.

Here's a recording of me dancing to the tune.

Of course, the usual disclaimers - electricity isn't very stable here in Spain so sometimes the server is gone, the network is not always stable so sometimes the mirror is gone, and random crashes could happen. Leave us alone, it's the weekend.

Enjoy !

« Previous PageNext Page »
picture