Archive for February, 2007

RTP streaming with gstreamer

Tuesday, February 27th, 2007

I was trying to create an RTP stream of my webcam that could be broadcasted trough DSS (Darwin Streaming Server) over RTSP. After hours of retries I’ve came to a working commandline pipeline:

gst-launch v4l2src ! decodebin ! ffenc_mpeg4 ! rtpmp4vpay mtu=1460 send-config=true ! udpsink host=ip port=odd_port

Note: You must create an .sdp file manually or by using a tool for the creation of them like mp4live, that you put in the “movies” folder of DSS and then create a rely in the administration web frontend with a mount pint with the name of the .sdp .

Enjoy!

Static build of VLC 0.8.6a for Linux

Tuesday, February 20th, 2007

I’ve been trying to build a static version of VLC for a week now. I’ve tried every dirty trick i knew with no success. After some days of building and rebuilding hell I decided to ask the developers for some help. They said “It’s impossible!”, but I didn’t want to hear anything like this. I then tried and retried again and again, but ,again, with no success. The farthest that I came was an “a minimal all built in executable”, with dynamically linked libraries.

Ldd returned like 84 external shared library links. I then realized that the VLC build system was somehow buggy. I included all the switches that ./configure accepts in my configure script that allowed me faster source configuration. It helped me a lot, because I reduced the links to around 50.

I then tryed for 2 days to compile with the same configuration using statically linked libraries… guess what… it didn’t work. The VLC build system can’t build a statically linked executable. I think it’s just the build system problem.

The fastest thing to do, was to add some switches to ld like in the previous post and hardcode the path to the libraries in the final binary and then include a libs folder with the executable.

I thought: “Maybe it should be best to include the shared libc libraries in the package too.”, and guess what again… i didn’t work :) Because I didn’t want to recompile glibc on my own I decided to make a distro dependent package.

It works for now. I’m not happy with this package, this is why I’m planning to rebuild it the proper way in the future.

I got it finally!

Tuesday, February 20th, 2007

A new IBM ThinkPad R60.

Works like a charm with Ubuntu, except for some litlle things, like the “britghtness deacrease” button.

I will fix everything till the next version of Ubuntu where everything will work from out of the box. :)

Specific library linking reminder

Friday, February 16th, 2007

If you want to build a program with a specific copy of a shared library you do it by specifying

LDFLAGS=’ -Wl,–rpath=./some/dir‘.

This is useful when the static build of the package is a real pain in the ass like for VLC, so you can include a specific set of compiled shared libs with the executable.

This setting actually sets a hardcoded library path in the final binary. If you want to change it in the binary later you can use an application like chrpath  which is also included in debian ( apt-get install chrpath ). This works as mathematicians say ‘if and only if’ the rpath setting was used at compiletime.

Workplace

Thursday, February 15th, 2007
3 machines with synergy so I can easily switch between them.
my workplace

When you have to study…

Monday, February 5th, 2007

it’s always good to have a clean bathroom.

We had…

Thursday, February 1st, 2007

a little problem, but it seem to work now just from itself.