wingologA mostly dorky weblog by Andy Wingo2007-01-19T23:03:47Ztekutihttps://wingolog.org/feed/atomAndy Wingohttps://wingolog.org/(pop! stack) => 'guadec-archiveshttps://wingolog.org/2007/01/19/pop-stack-guadec-archives2007-01-19T23:03:47Z2007-01-19T23:03:47Z

Hey world, the raw 2006 GUADEC archives are now available. Follow that link for more details. guadec.org would also be a fine place to post comments on the videos, as it has a more capable comment system than my humble web log.

Andy Wingohttps://wingolog.org/the world is our cliquehttps://wingolog.org/2006/08/05/the-world-is-our-clique2006-08-05T22:17:18Z2006-08-05T22:17:18Z

anger

And then who gets to review it for the Wall Street Journal, certainly not Mahmoud Omidsalar, but yet another neocon artist Azar Nafisi wannabe named Roya Hakakian who believes Dick Davis’ translation is not good enough. Dick Davis sneezes and there is more poetry and scholarship in it than in Roya Hakakian and seven generation of her parentage put together—and who died and made Roya Hakakian an authority either on Shahnameh or on its English translation?

Hamid Dabashi expounds adjectively in Lolita and beyond on ZNet. Enjoyable read if you're into that kind of thing.

friday

Oh, the ongoing saga of Friday. I suppose if you're reading this, hoping to pick up some tips about video recording and streaming, my first advice would be to forget about streaming. I look at what the free electrons folks are doing, and am quiite jealous of their output.

The reason their output is better than what I have for guadec is threefold:

  • They capture to raw DV video, which is very easy to edit. The tradeoff is that it takes a lot of space, but that isn't so much of a problem these days.

  • They don't stream the video live, which decreases the combinatoric coordination clusterfuck that is live conference streaming.

  • They don't encode or process in realtime, which avoids the heavy and variable cost of theora encoding. Also the way that overlays are implemented in Flumotion right now is expensive.

So if you're looking to record video for something, record to DV, potentially even on a tape, and process it later. Very easy. Few things that can go wrong (sound, basically).

but guadec archives?

As a person who prides himself on the quality of his work, editing the GUADEC videos is depressing to the point of inaction-inducing. After a bit of diversionary LADSPA hacking this Friday I synced up with the videos that Jamie had been cutting, about four or five talks. Jeff Waugh gives his opening guadec presentation, walks off the stage and cleans up, and two minutes later he's still talking on the audio track as Maciej Katafiasz wanders in front of the camera in an empty room. Terrible! Doubly so, because I had a hand in the software that made those archives.

At first I thought I could just get away with synchronizing the beginnings of the talks, but some videos show worse disconts than that. So, in the end I ended up modifying my lossless ogg theora cutter to produce a stream resynchronizer:

Now it relies on an unreleased version of gst-plugins-base, but in time things will be fine. Anyway, now that I have a decent process, hopefully I can rope my coworkers into cutting with me one day, and we just knock out all of the videos. Then I can write once more about all of this to say it's finished and proceed to some other, any other phase of my life.

other

In the oft-listen department, may I mention Deee-lite and Oumou Sangare. Thank you.

Andy Wingohttps://wingolog.org/cypherpunks writecodehttps://wingolog.org/2006/07/21/cypherpunks-writecode2006-07-22T01:42:40Z2006-07-22T01:42:40Z

Because I egocentrically syndicate myself on advogato, which only shows your most recent post, I've shied away from multiple postings at a time. The result is mashing a bunch of topics into one writing product. This practice has its, um, aspects.

The biggest minus for me is that I have to have all of my thoughts finished at the same time. I'm going to experiment with shorter writings on marginally more focused topics. We'll see how it goes; advo folks might want to look at my last entry, which is more advo-related.

hack hack hack!

Today was Friday at Fluendo. Although I do bitch a lot about various things work-related, the fact that we have a day a week to hack on what we like is hot. It's cunning though, being at the end of the week, as the momentum of the week's projects bleed a bit onto the last day, but still. Hack hack.

So today my goal was to figure out what was up with the GUADEC video and audio archives. People are all up on my case about this, and wha? I just don't have the time I used to. (Reasons for this are in a book I'm working on.)

Anyway, so this is a prelude to the sequel to my last post on conference streaming. What I wanted to say was something about ensuring that you get archives on disk, and then to edit them later.

However I was running into problems. Sometimes totem was having trouble playing the files, for example. Wha? Also there were some sound level issues. Amusingly, in the sala d'actes, an unbalanced cable converter was picking up the radio, for example.

More disturbingly, all players (gstreamer, xine, mplayer, vlc) were playing unsynchronized audio and video for some talks. How could this be? I was getting proper timestamps from the DV feed, but somehow in the encoding process we are producing bad ogg timestamps (granulepos values)? Wha? The italics totally indicate internal dialog.

A little background: the 2005 Guadec video archives suck. I say this having been a part of the process of their creation. Most do not pass oggz-validate. This is because of problems in the GStreamer ogg muxer back then.

Oh man we were pissed, in the American sense. How could we produce bad ogg. Us the exponents of ogg. Gar. So Thomas fixed the ogg muxer For Once And For All, and the world was happy.

Another background: the way that we produced those videos was by watching the talks, then when a new speaker started, we pressed a button in a flumotion-admin client that we had running, which would tell the "disker" flumotion component to start a new file. Because we didn't have any decent cutting tools, we had to rely on this to produce files per-talk. It was a bit of work, but it produced decent results. At least we could do it from anywhere with network access.

Fast forward to 2006. I had streamed a couple of conferences, and thought that it was a pain in the ass to have to have someone rotate the conference archives manually. This was a selfish desire, that although I was the person responsible for streaming, I wanted to enjoy the conference too -- always having to rotate the videos is a drag. So I wrote a lossless cutter for ogg/theora+vorbis, the intention being to let the video capture to disk all the time, then just cut out the talks you want.

So I cut the talks. I get some segfaults, patch some code, update to latest CVS, have to patch it some more, but in the end I get cuts which I believe to be correct. Only problem is, the audio is completely off. As in, 10 seconds out of sync. This should not be possible. I mean, my GStreamer talk (not yet posted) was about synchronization. I know how to do this. What was up?

Well. Long story short, after despairing to Thomas, we figure that if the CPU usage spikes, such that the theora encoder takes too long and we get behind, that it could be that we have to drop frames. This will happen on the capture end of things, if what is processing the raw data is not reading fast enough. In theory this is fine. The encoder will still receive correctly-timestamped data. However, GStreamer's Vorbis and Theora encoders were internally assuming perfect streams (no dropped data), so internally they disregarded the timestamps they were given, choosing instead to produce continuous streams.

The end result is that our GUADEC archives are perfect, in one sense: they present no problems for oggz-validate or for ogginfo (the two programs you should use to validate ogg files). However they are incorrect. In the event of dropped data, the audio and video become unsynchronized.

This is even more of a problem for the long files I chose to record. What a PITA. I have broken files that I will need to manually patch at certain points to resync the vorbis and theora ideas of granulepos. This means we need even more custom tools. Ug.

So the end is that seekers of GUADEC archives will have to wait a bit.

what I meant to say

Writecode. Indeed what I meant to say was that after recognizing the bogus behavior of GStreamer's vorbis and theora encoders, that Mike Smith and I set out to fix them. He hacked up patches while I hacked unit tests. All I wanted to say was that it was really nice to hack GStreamer, after so long away, and that C is fun sometimes.

also wha is the new what

Andy Wingohttps://wingolog.org/passing through unconscious stateshttps://wingolog.org/2006/07/10/passing-through-unconscious-states2006-07-11T01:08:25Z2006-07-11T01:08:25Z

Hey world what up.

Me chilling. So I've been getting some questions lately, one might go so far as to say frequently, and well, I figure this podium is as good as any. I didn't not not not make up any of these questions.

I heard you went to a conference. How was it?

Oh it was quite nice. Met a lot of good folks with wonderful minds. Folks like John Hwang, who is going to bend peoples' ideas of what GNOME is; the enigmatic Toni, who wears sunglasses when he is on the interweb; the ubiquitous Alex Gravely; and the unlinkable Pachi (Rafael Villar Burke), for whom the internet is not good enough. Oh and many more also, lots of great people.

But man, it was a lot of work. The work wasn't easily parallelizable either. I wrote about it a bit in my last posting. Took me until this weekend to fully relax, although a bit of mid-week funkadelic did assist.

Um, speaking of which, your last writing product was rather long.

Yeah dude. I didn't even finish either. Thanks for folks to take the time out to comment on it, there were some good tips there. I'll finish up with an article about conference archives, once I figure out all the details.

So what is up with the GUADEC archives then?

I've been pretty busy is basically how it boils down. There's probably about 8 GB to cut, all in all, which pretty much means we have to do it with people at Fluendo, where the archives are. Which is fine, they're all good folks, only that I have to make sure the tools are working properly. Still get core dumps occaisonally, but hey, it's better than working with proprietary software. Anyway as I said I'll write up more about how this is done later.

But from a pragmatic point of view, expect it to be a few more days. This is not a work activity so I don't have oodles of time to devote to it. But once the process works we'll start churning out videos and audio clips.

Andy Wingohttps://wingolog.org/tape ate the playerhttps://wingolog.org/2006/05/26/tape-ate-the-player2006-05-26T19:55:00Z2006-05-26T19:55:00Z

Home

I've had a series of fine days. A festa major in a small street near Gràcia, a meatful party at the house in which no glass was broken, and for the first time I was chosen as the person on whom the aikido instructor would demonstrate a technique. Granted, 15 of the best folks at the school were gone to Japan to participate in the All Japan Aikido Demonstration, but hey, I take my moments as they come.

Other home

I'll be flying out on Sunday to North Carolina. After running around a bit, I fly to San Francisco from Thursday to Thursday, hopefully my visa situation is all ready for me to go to Washington on Friday, back to Charlotte on Saturday, and hop the aluminum airtubebus back to Spain on the Sunday two weeks after arriving.

That is the theory. Practice may or may not follow the theory.

Work

I realized the other day that I've been hacking proprietary software for going on two months now. Not NDA-proprietary, not copyright-proprietary, but just proprietary. Software to run the Flumotion streaming server on a large cluster of machines. Proprietary in the sense that it's only useful to some organization planning to host streams from many customers, streaming to many many listeners.

It's been interesting, although I have to figure out how to get back to free software or otherwise rationalize my existence.

Hack

I wrote a lossless ogg/theora+vorbis cutter a few weeks ago and never said anything about it. It has a very simple installation process: just click here. You'll need up-to-date gstreamer, gst-plugins-base, and gst-python. Ubuntu Dapper will do.

mungeariffic

For example, if you like the video on vilanova, but just wanted the part about the festa major, cut cut cut and you have a lossless cut of the video.

I'm pretty sure it produces correct files, although in general it outputs a few P frames before the first I frame. While correct, this confuses some common players until the first keyframe is processed. Ignore the man behind the curtain.