Recent blog entries for bilboed

Flumotion/PiTiVi

Just after my last commit, having managed to get gnonlin to work, I was really looking forward to hacking on PiTiVi... but we had more important priorities at Fluendo. Eventually, after doing Flumotion testing and implementing a looper component for Flumotion (something not many streaming servers out there have apparently), I was finally able yesterday to get back to PiTiVi hacking... and it works :)

As i expected, a lot of the code in PiTiVi involved gst-0.8 hacks. So after scraping a lot away in the Discoverer and the Playground, importing files is now fully functionnal (with thumbnails) and way faster than with 0.8

I also re-enabled the SimpleTimelineView and adjusted the Timeline interface for the new gnonlin elements. There's still more code scraping to do, thanks to the higher-level GnlFileSource, and testing for seeking, querying, etc...

Gstreamer Media TestSuite

I hacked a bit on the avi demuxer and gst-ffmpeg in order to have segment seeking working... but after testing it on some files, I realized some fixes made other files break. Therefore, time to make a media testsuite for GStreamer that will enable developpers to figure out what goes wrong with the various files, the common problems, etc...

We have some 15gb of files (over 1700!) at Fluendo (from MPlayer, Xine testsuite, some files Ronald collected, ...) which should be enough to start with.

I've started a wikipage with the ideas here. Everybody is welcome to add their ideas and comments. I've already started implementing parts of it and I will carry on this weekend.

Life

Emma's been working at the French primary school for a week, doing a replacement, and she really enjoyed it. She'll be doing some more replacement next week. There might be a position opening in January... touch wood.

Been going out a lot recently... need to slow down a bit, it's starting to get a bit too expensive. But it's hard to say no to going out :)

Next wednesday, Emma and I are going to see Emir Kusturica & the No Smoking Band, really looking forward to it (Rindji Dindji Bubamara...).

5 Nov 2005 (updated 5 Nov 2005 at 15:52 UTC) »

Broadcasting live from the Mothership Connection, home of the extraterrestrial brothers...

Wow, haven't blogged in a LONG time... Let's try summarizing what happened in the past 5 months...

Ich bin ein Fluender !

In August, just before ending my internship at Fluendo in Barcelona, I finally got hired as Junior Developer (I am technically the youngest in the team... by 10 days !!), to carry on my work on PiTiVi and it's dependencies (gst-python, gnonlin, GStreamer, ...). There was a lot of partying to celebrate that :)

Back to the cheese and wine region of France

I took a nice long break from Barcelona starting from mid-august. Nice to be back in France after 5months in Barcelona. Also good because it's not AS warm but still very enjoyable. Lots of barbecues and good food.

We also celebrated my parent's 40th wedding anniversary. We had been preparing an evening with my brothers and sister in secret :) The presents (digital camera and telescope) were appreciated and the meal was gorgeous. Also went Sylvie's wedding, one of my cousins. Typical french wedding with lots of food and drink and also "la chenille" for the connoisseurs :)

Wrote my internship report, handed it in (OOo 2 powa', kudos to whoever thought of the automatic completion), and prepared my final presentation which went down very well. The presentation was in English (which was not obligatory but strongly recommended) and Wim came to assist. For those of you who know Wim, I came with a suit and him with his typical black long coat... the folks from school administration thought I was the guy from the company and Wim was the student :) Once again OOo2 helped me a lot (We had to have PowerPoint 2003 slides... OOo2 exports to that format like a charm)

Welcome to the land of opportunists...

So my parents took up to drive me down to Barcelona so I could bring most of my gear (Bike, bass, amplifier, clothes, ...). The trip went fine... except for the very last part. When waiting in front of Christian's place for him to arrive so we could unload the car somebody asked us the direction to a VERY WELL KNOWN street (Passeig de Gracia) in a mix of french and castellano... We gave him the directions, and then when 5 minutes later I went for my laptop bag which was on the front passenger seat.... GONE ! My personal laptop and the company's plus some very expensive corrective sunglasses :(

But in every bad thing there are good things. I went to buy a new laptop at FNAC the next day, got an Acer Aspire 1522wlmi (athlon64 3000+) for 999euros, which is cheaper than my previous Acer Aspire, faster, better screen, better linux compatibility, etc...

... who only make up for a small part of the population.

I stayed at Christian's place for the beginning while looking around for a flat to rent. I finally settled for a 75 sq meter flat just next to Cathedral, which is on the first floor, low ceiling, which adds a certain charm to it. Why such a big flat ? Well Emma, my girlfriend finally decided to come over and live in Barcelona :) As soon as I got the keys she booked a flight.

The living room which is on the street side was a 'bit' (read: REALLY) scruffy, old brown-ish wallpaper, wires everywhere, etc... so I decided to paint it :) Now if you're Norwegian or Spanish (no pun intended), you'd just buy a bucket of pain, get a roll and on you go. But in order to get it well done (I intend to buy a projector in 6months or so, so I need a flat white wall), I took of the wallpaper... then discovered more paint and wallpaper, then painstakingly scraped it, then took off several cables which were going from nowhere to nowhere (!!), then sandpaper-ed, then plastered, then sandpaper-ed again and finally paint :) It took over 2 weeks with the help of Emma. But I must say the result is amazing.

Life is moving on nicely, Emma is going to do catalan 'normalization' classes which should be fun. She also got a phone call yesterday from the headmistress of the Lycee Francais to look over kids at recess tomorrow, which has several advantages : she'll finally be able to get a NIE (Identification for foreigners in Spain which is required to work, and to get it you need a job (yeah, administrative logic)), and they seemed quite impressed by her resume (Psychology, documentation, good experience with kids) so it might lead to a real job.

I too got my Nokia N770...

... box... empty :( It was sent to my Paris adress, which my father forwarded to the office via Chronopost. When it arrived at the office... there was only the Nokia box inside. I tried complaining about it to Chronopost but they don't want to refund it since it was accepted by the mailman at the World Trade Center (who then comes round and distributes it at every individual office).

Work

Since I've been back in Barcelona, I've been working on the python bindings which are now really solid. For the past week I've been working on porting gnonlin to 0.9 ... and yesterday finally managed to do a miniature composition (using a 30line python script). The difference in processing overhead between gnonlin 0.8 and 0.9 is amazing ! So next week is going to be working on PiTiVi to get gnonlin working nicely with it and using the latest GStreamer API modifications. Good times ahead :) Look forward to a 0.9 beta version within a month, and then maybe Santa will bring you something nice for Xmas :)

That's the law around here, you got to wear your sunglasses.

Makes me sick

FSCK MPAA ! Spread the word about this : Spanish teacher gets fired after MPAA pressure

PiTiVi and GNonLin

I finally finished backporting gnonlin to it's repository, cleaning it up, updating the website, putting more documentation online, etc... I've just put a pre-release online (v0.2.0-pre1). It's available on the GNonLin website. You're welcome to try it, and send me any bugs/inconsistencies you find out. I'll do a real release in 7 days if there's no major bug found.

So this means that, AT LAST, I'm hacking on python-pitivi !

Other hacking

On the side, I've been working with the Farsight (library for IM Voice and Video) team to "reverse" the OSCAR (ICQ/AIM/iChat) voice-and-video negotiation protocol. I'm not doing this out of interest, it's so I can call my folks back home for 0 euros :)

And I've finally found somebody who's doing a video motion-estimation filter (stand-alone, not lost in the middle of a video encoder) so I can finally put into code all these algorithms that have been taking the dust for the past year (slow-motion, motion compensation, temporal interpolation, HQ video scaling, ...). More about it once he's released it in Open-Source.

Life

So I wasn't quick enough to reply for the room to rent in the Barri Gottic :( But I went to see the other place which is a little bit further (a good 20 minutes by foot from work, but which will be good for the exercise and the tan). This time I accepted the place way quicker :)

It's really great, I'm sharing it with Cristina - the catalan girl who owns the place - and Rachid, a french guy who works at Hewlett-Packard in the suburbs... and Kika a lovely little cat :) Well furnished, big bathroom (most important!), nice living-room, and all-in-all a very friendly 'ambiance'. And yes, I am forcing myself to speak spanish with Cristina (who also speaks english and french), and I'm starting to feel the results.

PiTiVi

As you might have noticed, or not, I didn't release the next version of PiTiVi. Why, you might ask ? :) Well as I said before, I wanted to clean it up thoroughly so to make it easier to add new features, get rid of bugs, etc ... But I've been spending all of this past week finding out how much of the codebase was.. well... totally and completely un-evolve-able !!! The reason for that is in fact quite simple : the rest of the team was only interested in getting something nice for the final presentation (which we mostly managed to do), and it seems I was the only one wanting to make pitivi a true application (usable by everyone, and especially that carries on living after the end of studies).

SO... since I would have to rewrite almost everything (GUI-wise) from scratch, I am going to.. in python :) I've been wanting to do so from the start of the project, but for some reasons I won't evoke here, we decided to do it in C/GObject. Doing it in python is going to allow faster development, ease the addition of new features, and concentrate on the ergonomy and added value of a non-linear editor (instead of banging my head on stupid C related problems). And it's also time gnonlin goes back to it's separate repository and it's gst-plugin'able (which will definitely happen shortly). So for those not getting the message : the cpu-intensive parts of pitivi (GStreamer and gnonlin) are staying in C !

I'll be reviewing all of those ideas (and all the feedback I got on pitivi) at the beginning of this week with the rest of the fluendo team... stay tuned !

Wow, over a month without blogging. But I'm not dead, far from it.

End-of-Studies project [PFE]

So we did our final presentation of PiTiVi for school on Saturday 12th February. It went quite well and the teachers were more than pleased by the result, both from a technical and a commercial[1] point of view. In fact I was just waiting for all this "school" period to end so I could get on some real PiTiVi hacking... far from constraints of studies and freeloaders.

The slides from the presentations are available here. They're in french , but I'm quite happy with the result I achieved using only OOo.

Change of Life

So that's it, Studies are OVER for me :) Well not entirely, I've still got to finish this internship at Fluendo, but I wouldn't call that studying...

The weekend after the final presentation of PiTiVi I went to Barcelona for the GStreamer summit. It was great finally meeting up with people you talk to every single day by IRC. A lot of decisions have been made which I won't go over again, but Stefan (ensonic) and I are working on the replacement for dparams to be included (hopefully) in 0.10 . It's quite interesting because both our projects (pitivi and buzztard) have heavy requirements on a form of dynamic parameters, and we've managed to come up with a lightweight method (in terms of cpu usage and lines of code to use it) to handle almost any use case. Stay tuned for more info, or check the mailing list. The weekend was also filled up with the usual eating and drinking...

Coming back from that extended weekend in barcelona I had 24 hours to move out of my room in Paris since I was letting it out. I will NEVER EVER AGAIN do that ! I trashed about half of the stuff I had in my room (12 square meters) and still managed to get a full car packed with all my stuff (furniture excluded)...

... and all of that in time to catch the coach to go to Brussels for the FOSDEM. The weekend was quite nice, I stayed at my best friend's place (who recently moved to Brussels to work), and it was great seeing him. I didn't go to many talks (apart from the usual Stallmann speech), but I spent most of my time talking to other hackers. The best was on sunday where I was able to hook up with Ronald (GStreamer plugins), Oyvind (GIMP/GGGL/Oxide) and Charles (MLT/Kino); we had lunch together and the talks revolved around getting all our various multimedia (and more specifically video editing/modification) ideas/projects/solutions working with one another. Great stuff in perspective !! Then salsaman joined Charles and I to present each other our software (lives, mlt, pitivi) and discuss our stroing/weak points.

After that weekend, I took one week of well earned vacation in my country house with the family and the girlfriend. The great part was that it snowed like hell (for two weeks) when usually it barely even snows in winter... Finally I arrived in Barcelona on saturday evening and started work at Fluendo on Monday.

I've been staying at Christian's place since, but been looking for rooms to rent. After visiting two places I think I've finally decided on taking one in the Barri Gotic (historical centre of Barcelona) where the owner is really easy-going, the living room really big and it's 5mins away from work.

PiTiVi

The past three months have been ectict in pitivi development: lots of patches to have a presentable version for school. I've spent the last two weeks cleaning up the code (I still found some unused code !!!), moving functions/methods around, complying more to the OO programming paradigms and making it easier to add features in the future. I hope to have finished cleaning up everything by next tuesday in order to make a 0.1.2 release which will be the last pitivi release packed with gnonlin and using GStreamer 0.8 .

After that I'll put the gnonlin code back on it's independant cvs and pack it separately since more and more people want to use it for audio and/or video non-linear editing. I'll also add the necessary functions so they can be installed as gstreamer plugins.

Kiddo (the artist who made the new logo) is doing a long critic of almost every available non-linear editor with a beginner's point of view. His work (in french) is available here. Combined with Gnome HIG and other inputs I'll then refine the orientation of PiTiVi for the future, the main points being :

  • Make PiTiVi as intuitive as possible for the end-user / amateur
  • Make PiTiVi interact correctly with other software (flumotion to start with, so we can do almost realtime video editing)

    If you've got comments/ideas/features you'd like to see in a video editor, now is your time ! Mail me or come and chat on #pitivi or #gstreamer.

    [1] : Yes I know commercial might seem somewhat irrelevant for open-source software. If you prefer we presented it for people who (in theory) didn't have a clue what our software does and how it works, so we had to present PiTiVi as if we were trying to convince customers (users).

  • PiTiVi

    A new pre-release is out, a bit delayed because casaxno left us for Stevens University next to NYC and so had other things on his mind, I had a very bad cold at the beginning of this week, and two others have been out skiing since last saturday (no comment).

    This pre-release contains quite a few stability and ergonomy improvements, and a lot of other things that aren't really visible. I recommend using cvs versions of gstreamer/gst-plugins/gst-ffmpeg , it's more stable with those and works real faster.

    v0.1.1.3 is available here.

    Have fun and please report any bug you find.

    PiTiVi

    I'm starting to make mini-releases of pitivi starting from today. Several reasons : it's easier to keep track of what versions worked, allows people to check if certain bugs were fixed, and allow more people to try pitivi between official releases.

    Beware though that I don't check as many things/errors/coherence as for normal releases.

    The pre-releases are available here starting with v0.1.1.1. Have fun :)

    PiTiVi 0.1.1

    At long last, we've finally released the first version of PiTiVi. More info here.

    Their still a lot of work to do, but I've got the feeling we're now on the good tracks.

    Thanks to the GStreamer team for all their help.

    I'm completely knackered, time to go out and eat a bite.

    PiTiVi

    At Last ! I've managed to get rid of the remaining bugs in GnlOperation (the gnonlin effect handler) and now we can also put/move/cut.. use video effects in the Timeline. I also did a little cleanup in gnonling, and a (failed) attempt at trying to make gnonlin more "threaded". I'll have to look at that in 2-3 months when we get some heavier editing going on. 7 days left to check audio minimal editing and encoding and we'll be ready to freeze it for a release before Xmas.

    Misc

    Spent most of the weekend in bed because of a flu and a stiff neck. Both have gone, and I've got a lot more productive.

    1 older entry...

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!