The Phrygian Cap


d33p shadow

luisbg

@ubuntu.com

about me

Blogalia
Subscribe with Bloglines

wishlist
amazon.co.uk





bethencourt's Profile Page


<Junio 2009
Lu Ma Mi Ju Vi Sa Do
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Creative Commons License


planet ubuntu
Silicon Island



"All religions, arts and sciences are branches of the same tree. All these aspirations are directed toward ennobling man's life, lifting it from the sphere of mere physical existence and leading the individual towards freedom." Albert Einstein

jump the shark





when you jump the shark, it's time to cut!

have you ever needed an easy video cutter?
a few days ago I needed to split a video into parts so I could upload it to youtube (which has a 10 minute limit). being the 'look the cool tricks you can quickly do with gstreamer' kind, it came as a surprise that there was no easy way to split a video in parts. I started thinking about all the usecases where people need to just split a section of a video, easily, without full fledged complex video editing interfaces.

so I grabbed the python gstreamer hammer and started banging away...

jumptheshark -s hh:mm:ss -t hh:mm:ss input.ogg output.ogg


as simple as that! call the command, tell it where to start the cut, the duration, from which video and to dump it where. for extra credit there is a '-b' option to set a prefered bitrate.

project page at kenai.com (awesome hosting by the way, source code in mercurial)
download the 0.1 code tarball

go and play with it :)
(soon: break the video into parts with x duration option)

0 Comentarios


freemix at sonar



caravan

2 Comentarios


want a free laptop?





as a developer of source juicer, i'm really happy to announce the opensolaris apps of steel challenge. if you like developing packages, use your talents and participate for a chance to win a toshiba opensolaris laptop!

challenge is already running and entries will be accepted until the 8th of may.

the five winners will get a free (both like in speech and like in beer) laptop.

4 Comentarios


ubuntu studio in the lab





music lab at a school in finland.

0 Comentarios


copy



int
copy1(int fdf, int fdt, char *from, char *to)
{
	char *buf;
	long n, n1, rcount;
	int rv;
	char err[ERRMAX];

	buf = malloc(DEFB);
	/* clear any residual error */
	err[0] = '';
	errstr(err, ERRMAX);
	rv = 0;
	for(rcount=0;; rcount++) {
		n = read(fdf, buf, DEFB);
		if(n <= 0)
			break;
		n1 = write(fdt, buf, n);
		if(n1 != n) {
			fprint(2, "cp: error writing %s: %r\n", to);
			failed = 1;
			rv = -1;
			break;
		}
	}
	if(n < 0) {
		fprint(2, "cp: error reading %s: %r\n", from);
		failed = 1;
		rv = -1;
	}
	free(buf);
	return rv;
}

4 Comentarios


pcliveradio interview



"open source software in ireland is bigger than you think. luis de bethencourt joins us in studio to tell us all about it and what applications he would recommend. he talks about how its use has developed in ireland and the ossbarcamp which recently took place in dublin."

http://www.pcliveradio.ie/ (in frontpage during this week, direct link to interview)

i must say it was great fun talking with dusty and niall at the recording studio, the conversation lasted more than was recorded as they had a lot of off-line questions.

0 Comentarios


ossbarcamp





ossbarcamp dublin takes place tomorrow the 28th march 2009 at the dublin institute of technology. there's a great number of very interesting talks scheduled for the day and spread throughout three rooms. so check the schedule, and come along for the talks of your interest.

i will be giving two talks, one opening talk about the ubuntu community and a talk about being creative with free software. i also recommend jan schmidt's talk about gstreamer, jaime hemmet about git, maciej danielski about ubuntu-ie loco, and jennifer farley bringing out the power of gimp.

2 Comentarios


any video to blackberry



jan and i put together a script to convert any supported video into a format suitable for playback on my new blackberry storm after i had trouble with encoding errors trying to use ffmpeg for the task.

it’s a simple shell script that uses gstreamer’s gst-launch utility to do 2 pass conversion to h.264 and aac in an mpeg-4 container. you can find it here if you’re interested.

as an added bonus, since the blackberry supported format seams to have been decided to match ipod/itunes video format, this script should also work to convert video for ipods (if anybody can test this for us it would be great). also my experience with it reports that the gstreamer conversion is noticeably faster than the erroneous ffmpeg one.

2 Comentarios


sourcejuicer v1.0 released



http://jucr.opensolaris.org


sourcejuicer is a web application, designed for the community, whose goal is to simplify contributions to opensolaris. this application is the gateway into the community ips repositories. from today, sourcejuicer is opened for everyone to use.

community contributors are invited to submit spec files (build recipes) into sourcejuicer, which automatically builds and publishes ips packages.

sourcejuicer also provides validation and review mechanisms to ensure high quality ips packages are available for installation from the /contrib repository. you can also install packages under review from the /pending repository.

if you are having trouble writing a spec file or building your package, you can request help from more experienced developers in the review pages or through the mailing list: sourcejuicer-discuss@opensolaris.org.

you can follow progress of the project on the sourcejuicer blog.

release notes detailing important need-to-know information are available at: http://jucr.opensolaris.org/help/main

0 Comentarios


a week in nyc



tomorrow morning i'm flying to new york city, and will spend a week there with my buddy alberto ruiz (from gnome fame and canary islanders messers club). any recommendations of things to see and people to do? (oops, i think i got that one backwards :P)

our plan is: no plan. impromptu style.

if you are around the manhattan area... don't hesitate and please, leave a comment or send me an email to luisbg [@] ubuntu [dot] com, we will be glad to be guided by some local geeks.

1 Comentarios


will it blend?





it is well known that blender is an amazing free 3d suite, but what a lot of people don't know it that it's also a very impressive non-linear video editor. eventhough the blender foundation was very vocal about how everything (except sound) in elephant's dream and big buck bunny was made inside blender, since it was a 3d animation short film people tend to ignore the video editing side of it.

so what's better to prove the potential of a tool than to show a kickass work made with it? check out what talent, free software and a 160$ camcorder can produce:


(video here to watch in hd and for planet people)


as troy sobotka explains about the video in his blog.

gory details:
* created entirely on free software.
* motion footage shot on a 160$ dollar kodak zi6 portable video fixed lens recorder. no focus. no zoom. nothing.
* footage edited, composited, and visually affected with blender
* footage shot over the course of approximately two hours at a local park.
* end product produced in approximately four hours.


mesmerized? i'm sure you thirst to learn how to use blender for video editing.

no problem! check the fantastic screencasts made by richard querin explaining video editing in blender:
part 1. blog post - screencast
part 2. blog post - screencast

in a little over half an hour, the screencasts show you all you need to know about blender video editing. even cooler, i've heard troy and richard are getting together to make a screencast of profesional video editing in blender (all what troy did for the above music video). and also at the ubuntu studio team we are getting a main menu entry ready so users can launch blender in video mode with an optimized interface layout.

blender is tremendously powerful. a few reasons why:
1. operate on series of stills of infinite per-channel bit depth.
2. quickly generate proxies. for example, edit full hd footage on a netbook once your proxies are rendered.
3. openexr and other industry standard image formats. deep bitdepth and lossless.
4. nodal compositor built in. workflow similar to high end production flows.

all in all, it's an amazing piece of software that is growing more and more powerful every second.

6 Comentarios


awesome (gstreamer * clutter)






it is a known fact that gstreamer and clutter are both very cool. so what if we have gstreamer inside clutter, that is cool^2 which equals awesome.

let's go through a simple example awesome.py. the key of gstreamer inside clutter is the cluttergst python and its VideoSink function.

so you are going to create a gstreamer pipeline (just like we did in the previous blog post just shoot me), but use the cluttergst.VideoSink instead of gst element xvimagesink and feed that to a clutter.Texture():

import clutter, gst, cluttergst

video_texture = clutter.Texture()
pipeline = gst.Pipeline()
src = gst.element_factory_make("v4l2src", "src")
colorspace = gst.element_factory_make("ffmpegcolorspace", "colorspace")
sink = cluttergst.VideoSink(video_texture)
pipeline.add(src, colorspace, sink)
gst.element_link_many(src, colorspace, sink)
pipeline.set_state(gst.STATE_PLAYING)


now you need a clutter stage with the videotexture in it:

stage = clutter.stage_get_default()
stage.add(video_texture)
stage.set_size(800,600)


wait, this is clutter... let's animate the gstreamer texture! for this you need a clutter timeline, alpha (value as function of time) and behaviour:

timeline = clutter.Timeline(250,50)
timeline.set_loop(True)
alpha = clutter.Alpha(timeline, clutter.sine_half_func)
behaviour = clutter.BehaviourRotate(alpha=alpha, \
angle_start=30.0, angle_end=5.0, axis=clutter.Y_AXIS, \
direction = "ccw")
behaviour.apply(video_texture)


we are ready for the show:

timeline.start()
stage.show_all()
clutter.main()



wasn't that awesome \m/?

now check the example awesome.py, it has videofile playback and more animation behaviours.

4 Comentarios


just shoot me








gstreamer is a very powerful and fun framework. just think about it as the reinvention of the unix pipeline, and an inmense library of multimedia elements to play with. you can even prototype a pipeline without needing to code, directly from the command line, use the gst-launch command to create a stream from element to element very quickly... which means pure hacky entertainment.

as you probably already know:
gst-launch v4l2src ! ffmpegcolorspace ! xvimagesink

will grab your webcam output, convert it to a format your xv understands, and show it in your screen. nice and simple, but most of you won't be able to avoid to look at the the screen with funny faces shortly.

awesome, but now you want to save those funny faces to a file, because eternity has the right to know about your facial muscles sillyness control. easy:

gst-launch v4l2src ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=file.ogv

this grabs your webcam output, passes it to the format conversion that the theora encoder is happy with, and the ogg stream manipulator feeds it to an element that dumps it to a file with the desired location. play the video file with totem (which uses gstreamer). (btw... just for those of you starting with gstreamer; gst-inspect [element] is the command to learn anything about any element)

so the command line is great for prototyping, but now you want to code it. no problem! gstreamer has great python bindings. jono wrote a great simple first guide to getting started with gstreamer using the excellent python bindings.

v4l2src to file in python:
import pygst, gst, time

pipeline = gst.Pipeline()

v4l = gst.element_factory_make("v4l2src", "v4l")
colorspace = gst.element_factory_make("ffmpegcolorspace", "colorspace")
enc = gst.element_factory_make("theoraenc", "enc")
mux = gst.element_factory_make("oggmux", "mux")
sink = gst.element_factory_make("filesink", "sink")
sink.set_property("location", "file.ogv")

pipeline.add(v4l, colorspace, enc, mux, sink)

v4l.link(colorspace)
colorspace.link(enc)
enc.link(mux)
mux.link(sink)

pipeline.set_state(gst.STATE_PLAYING)
time.sleep(7)


straight-foward, isn'it? :)

so wouldn't it be nice if this could be automated so it would grab a few seconds of video every minute or few minutes? a videolog of what you do and what happens infront of your computer. going back to when you were laughing at that silly "leave britney alone" video, when you were frustrated with that job task, your kid being a kid when you arent around... or for example from my log:

9th of February 2009 @12:04:
[youtube video]

planet people watch the video here


Jan Schmidt being silly, his by default mode, while explaining/teaching me something. thanks!

you can download and check out the python code of selfshooter.py. named after how scared i am if myspace teenagers get a hold of gstreamer and this code :P

./selfshooter.py -s [seconds between cycle]

7 Comentarios


freemix 0.2 beta






(full size)



i'm very happy to announce freemix 0.2 beta is out! :)

freemix is a live video performance software, intended for and made by freedom loving live video artists. this new version 0.2 is a complete rebuild. the c code and openlib dependency have been switched for python and gstreamer. now it's very easy to get it running on your machine.

it gives you a videosources table and a sequencer to mix videos on the fly, while handling the sequencer bpm, videos pitch and more. so with a few hundred cool video clips and your free software system you are ready for vj gigs!

freemix is a limitless, open to creativity project, in beta stage. it is the time for a lot of testing, bug reporting, and user feedback. we are looking for your input and crazy ideas!


thanks to jan schmidt and alberto ruiz for their help.
debian/ubuntu packages will be available soon :)

5 Comentarios


being creative





thinking outside the box



"that's because the art of serious play is about invention, change, rebellion - not perfection. perfection happens during solemn play."
paula scher

0 Comentarios


the power of technology





almost 50,000 people follow stephen fry tweetering stuck in a lift at a 26th floor. "charlie bit me" is close to 80 million youtube views. office podsters all around the globe are addicted to lolcatz.

the internet has gone crazy.

3 Comentarios


dublin ubuntu bug jam





will you be in dublin saturday the 21st of february?

want an awesome plan? come to the DIT, meet the cool people of ubuntu ireland, squish some bugs, and have some great geeky fun. i've heard there are going to be some ubuntu lanyards given out.

details
add yourself to the attendee list.

see you there!

0 Comentarios


destiny calls





0 Comentarios


the importance of translations







the title of the window in spanish translates roughly to:
"first cum assistant"

correr = run
corrida = slang for cumming

now, if you knew nothing about virtualbox, you were just trying it and you saw this, how profesional would you think the application is? what would be your first impression? after all, the first boot assistant is the first thing you see after installation.


thanks to carlos for the screenshot

update:
pablo rodriguez comments a capitalization error and a punctuation error in the window, which makes it 3 fails.
fabian rodriguez comments how "corrida" means "the place where bulls get killed" for him since he is from latin america.
stoffe shows his discontent with swedish translations, sadly he comments swedish use ubuntu in english because of the poor translations (and learning a new operating system isn't enough for them :P).
silvio sisto gives an other good example of how a vastly used word can change between different countries: "coger", which in spain means "to grab", but in uruguay means "to fuck".

8 Comentarios


happy inauguration day



1 Comentarios


©2007-2009 luis de bethencourt guimerį
Powered by Blogalia