Archive for the ‘Software’ Category (feed)

Sony Vegas project properties with HV20/30

The NTSC HV20 cameras can record in 60i and PF24 modes, the PAL ones can do 50i and 25p, while the NTSC version of HV30 also adds PF30 support to the mix. The HV40 can also do true 24p. The common question that Vegas users have is “which project properties should I use for each mode before I start editing?”. So, load the “project properties” dialog and follow the info below:

1. 60i or 50i
If you shot using the default mode of your camera, simply use the supplied HDV 1080i template for either 60i (NTSC) or 50i (PAL). I recommend the “interpolate” de-interlacing method though and the “best” quality.

2. PF30
If you shot in PF30 mode with your NTSC Canon HD camera, select the HDV 1080/60i template, but change the “field order” to “progressive” and the de-interlacing method to “none”. Quality should always be set to “best”.

3. PF25
If you shot in PF25 mode with your PAL Canon HD camera, select the HDV 1080/50i template, but change the “field order” to “progressive” and the de-interlacing method to “none”. Quality should always be set to “best”.

4. PF24
By default, PF24 is just 60i, not true 24p. But if you do the extra work to remove pulldown (tutorial for HDV, and for AVCHD), you get a true progressive 24p stream which is and should be handled differently.
Case A: If you have not removed pulldown before you entered Vegas to start editing, then you should just use the supplied HDV 1080/60i template unmodified. I recommend the “interpolate” de-interlacing method for when exporting though.
Case B: If you have removed pulldown, then you use the HDV 1080/60i template, but change the “field order” to “progressive”, the de-interlacing method to “none” or “interpolate”, and the frame rate to “23.976″ (type it exactly like this if it’s not available in the list). If Vegas does not recognize the footage as progressive, provided that you removed pulldown properly, look here for a workaround.

5. 24p
If you shot in 24p mode with your NTSC HV40 camera, select the HDV 1080/60i template, but change the “field order” to “progressive” and the de-interlacing method to “none”. Also, change the frame rate to exactly 23.976 fps (type it exactly like this if it’s not available in the list). Quality should always be set to “best”.

6. AVCHD
If you are using AVCHD cameras instead of HDV, use the “full HD” templates rather than the HDV ones (in the project properties dialog). For example, the full template will read 1920×1080 instead of 1440×1080, with aspect ratio 1.000 instead of 1.333. Only very few, older, AVCHD cameras are also 1440×1080 instead of 1920×1080 (e.g. the Canon HG10). Then, modify these templates the same way as described above.

7. Other cameras
If you are using a different source than HDV/AVCHD, then use step 1 of this tutorial to setup the right project properties.

And of course, if you are using these non-standard recording modes a lot, you can “save” a new template under a new name in the project properties dialog, so you won’t have to change these options again in the future manually, but you just pick them up from the template listing.

Regarding GTK+ 3.0

Some shit is flowing around about breaking compatibility for GTK+ 3.0. Imendio should stay clear of library code if that’s what they want to do. Thankfully, there are people who do get it, like Miguel de Icaza and Morten Welinder.

The hard part is keeping compatibility (something that even Apple doesn’t do right in between major OSX versions), and it seems that especially in the FOSS world, no one wants to do the hard things. In the world of Linux, coders should realize that it all comes down to “compatibility, compatibility, compatibility…” and not “developers, developers, developers…”.

The quest for the perfect calendar app

A few days ago Gizmodo was making fun of Android’s calendar application, which indeed, from what I see in the emulator, is nothing to cheer about. However, Apple’s Calendar 2.0 is not perfect either: there is no “week view”, the repeat function does not have enough options, and when you press the “previous/next” horizontal-looking arrows to go to the previews/next month view, the calendar scrolls vertically rather than horizontally.

I guess we might get the perfect calendar app around the same time we will get Artificial Intelligence.

Ubuntu Hardy 8.04 on the IBM T23 Thinkpad

Over a year ago I wrote a review at OSNews for the IBM T23 Thinkpad. Back then, Ubuntu had severe bugs with this (ultra popular in its time) laptop model. But as I have promised that laptop to my little brother, I cleanly upgraded to Ubuntu 8.04 last night. The default Ubuntu installation is now better than ever, as I had to change very few things to make it more usable (e.g. font sizes always irked me as to how big they are by default).

Anyways, all the severe bugs I had found with 7.04 are now fixed: including two suspend bugs, ethernet and USB bugs, and four S3 Savage ones. The laptop works perfectly by default (except the Lucent Winmodem). Overall speed is good too. Within an hour I had setup and configured 5 user accounts for myself, JBQ, my brother, his wife and a guest one.

The trouble started when I needed to make my old Prism54 WG511 PCMCIA card to work with the laptop. Apparently Ubuntu has both the drivers and firmware for this old ISL3890 chipset, but it didn’t work. Following advice from UbuntuForums, I had to blacklist the default 4 related drivers, download the Windows firmware and use Ndiswrapper instead. It then worked, but it was a pain.

The Lucent winmodem worked for the first time on this laptop too (my bro uses mostly dial-up). It works after you download the “-full” version of the “martian” driver: compile and install as per instructions the driver and then do a “modprobe martian_dev” and then a “martian_modem --daemon --mode 0666“. I then put these two commands on the /etc/rc.local file to force the modem to get started on each reboot. If someone upgrades the kernel the driver will have to get recompiled, which is why I made my brother a normal user and not an admin. Unless Ubuntu adds the martian driver to their -restricted kernel modules package, no one should touch the Ubuntu update manager…

RE: I hate Linux Graphics

Linux Hater has a great post about the sad state of 3D under Linux — even if 10 years have passed since we first start bitching about it. It’s amazing how slower than Windows XP all graphics-related operations are on Linux. From 3D games, to video decoding, and most recently experienced, Flash 9 decoding of a 720/24p video from Vimeo (about twice slower on a 1.6 Ghz CoreDuo than on my much older and slower P4 3Ghz that runs XP). The Lunix users will always blame commercial companies for “not optimizing for Linux”, but when everything is slower than XP, including OSS apps, something else is going on. And Linux Hater only touched the surface on this one.

This is the kind of stuff that prompt me to think that Gnome should initiate a complete “reboot” of the Linux desktop, integrating and re-writing everything that a desktop needs: from a new 3D interface and driver hook-up, to new sound engine, to a new window server, and only run the old X apps via either a rootless X server or just virtualization.

From Windows to the Balcony OS

NYTimes wrote an article discussing the possibility of Microsoft writing a brand new OS that is not Windows-based.

First things first:
1. I am a huge proponent of backwards compatibility because in my agenda, the user comes first.
2. Writing a new, truly modern and revolutionary, OS will take Microsoft 10 years (including its maturitization time). Drivers will be scarce, adoption will be a pain (I know the drill, we’ve lost a green card because of it with BeOS).

Despite these huge undertakings and problems, I don’t think Windows has any life on its knees anymore. It’s a 25-30 years old architecture, patched all over. Vista sucked big time — at least in the UI level. I believe that Microsoft has only two options:

1. Use these new ideas they have in their R&D dpt, for a future modern OS and start writing a new OS as soon as possible, in PARALLEL to upcoming Windows 7. All previous versions of Windows should run through virtualization, first releases should include a Windows 7 virtualization version for free.
2. Forget the OS business. Keep supporting Windows after Windows 7 for 3-4 years, and then keep supporting it for specific PCs only, for a fee, for another 20-30 years (like Sun does for Solaris). Move to different business.

I wrote the other day that Gnome should do the same: re-invent the wheel. Not because Gnome 2.22 is bad, but because when you see the bigger picture, with Linux, X11 and all that shit that fuck us users for 15 years now, I believe there’s a need for a clean slate for Linux’s desktop in general too. I just saw Gnome as the project which will bring that change, rather than Gnome itself needing that change (I hope I am making some sense).

Same way with Windows, it’s just so much craft in there, that’s just painful. Either take the big decision and put billions into the development of a new modern OS, or get out of the OS business and just keep lightly supporting the last released OS.

If Microsoft won’t do that, then their OS division will die a SLOW death. It won’t be pretty for any project manager in that division.

UPDATE: Interesting.

Poor software maintainance

Staying in sync with the latest official patches on Ubuntu is a bad idea. After the recent samba updates I can’t connect to my Windows share anymore with Ubuntu, something I was able to do for 2 years now. Just like that, poof, a feature just gone. Very poor testing. Nothing ever works well in any OSS desktop, something is always broken one way or another.

Linux on the PS3: a waste of time

Look, there are reasons to have a Linux port on the cell-based PS3. Mostly research and scientific software development. But for regular folks like you and me, the only reason we would want Linux on our PS3s is for one thing and one thing only: media playback.

The problem is that the only usable players with enough codecs, VLC and Mplayer, have compatibility problems with the PPC-based PS3. Thankfully, with the newer PS3 firmware versions, except the MOV container incompatibility, it supports all other major media files already. And for the MOV container, I just use the $20 Quicktime Pro which is able to re-wrap MOV h.264/AAC videos to MP4 without re-encoding in 1 minute time.

So what I really need is Flash 9 support so I can run Hulu.com and watch “Arrested Development” in the TV instead of the browser. But the PS3 browser only features Flash 7, and the Linux PPC ports doesn’t have PPC Flash 9 plugin support either because Adobe doesn’t care about it.

So honestly, as a normal user, I see no reason whatsoever to run Linux on a PS3.

Ripping CDs with Gnome

1. The problem

The Linux lusers are trying to convince us for years now that GNU/Linux is ready for the desktop, but they still can’t manage to put together a reasonable GUI to rip CDs. JBQ got the Foo Fighter CDs and he asked me to rip them on Linux because two of these six CDs have the Sony rootkit for Mac/Win.

So there I went to rip them in mp3 with Sound Juicer and it was a pain in the butt. It took me half an hour to understand all the gst-lame switches and configure them, as there is simply no in-depth user documentation for them (and gst-inspect was not installed even if all the other needed libs were). On the gstreamer manual they tell you that the “mode” switch can take values from 0 to 4, but no one tells you what these values are. To get that information, you have to look at the source code! So after fucking around with it, I think I got my head around most of that shit, so here’s a small tutorial for all of you who feel the same way. A tutorial with real information instead of half baked man pages.

2. Learning about the switches

Assuming you have installed the mp3 libraries and encoders and gstreamer-ugly libraries and other shit that should have been installed by default but they aren’t, Sound Juicer reads the gstreamer presets on how to rip. To modify these presets load the gnome-audio-profiles-properties application from a terminal (or via Sound Juicer’s preferences and profile editor). Create a new mp3 profile and in there you will have to type crazy ass switches, but thankfully I have the most common of them explained for you here:

(used with CBR encodings)
bitrate = Specify the constant bitrate. Goes from 8 to 320 kbps.
quality = With it you can choose which algorithm to use to encode. Default is 5. 0 is best, 10 is worst.

(mostly used with VBR encodings)
vbr = Specify bitrate algorithm, because the Lame developers can’t decide which one is best, so they leave that to the user to decide who knows nothing about algorithms. Anyways, it goes from 0 to 4. If you are encoding in constant bitrate use 0, otherwise use 4, which is the latest VBR algorithm.
vbr-max-bitrate = Specify maximum VBR bitrate (8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320).
vbr-min-bitrate = Specify minimum VBR bitrate (8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320).
vbr-quality = You can let the system specify the above two VBR bitrates if you don’t want to. 5 is medium quality, 0 is best, 10 is worse. So for example, vbr-quality=0 goes up to 256 kbps.
xingmux = some shit that you add when in VBR mode only, in order to make the mp3 file more compatible — like we didn’t want that to be ON by default!

(used with both CBR and VBR encodings)
mode = goes from 0 to 4. In order 0 means “stereo”, 1 means “joint stereo”, 2 means “dual channel”, 3 means “Mono”, and 4 means “auto”.

(only used when encoding via presets)
preset = Goes from 1001 to 1004, that is, from “medium” quality, to “standard”, “extreme” and finally, “insane” quality. That’s between 96 kbps and 256kbps, VBR.

3. Creating the truly lame gst-lame switches:

1. Constant bitrate CBR.
In this example below we create a joint stereo mp3, with constant bitrate of 160kbps and one of the best but slower algorithms for the encoding (that comes out from the quality=2):
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=1 vbr=0 bitrate=160 quality=2 ! id3v2mux

2. Using VBR.
In the following, we use variable bit rate with joint stereo and VBR algorithm #4, and we specify that we want the minimum bitrate to be 128 kbps and the maximum to be 192 kbps. We have to use the xingmux switch too to make the resulted mp3 file more compatible with players.
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=1 vbr=4 vbr-min-bitrate=128 vbr-max-bitrate=192 ! xingmux ! id3v2mux

In the following, we use variable bit rate with joint stereo and VBR algorithm #4, but instead of specifying the minimum and maximum bitrate, we let the encoder decide based on vbr-quality value (I used quality 3) which is about between 160 and 220 kbps or something. Remember, when using VBR instead of CBR you must use the xingmux thingie to make it more compatible with mp3 players (and even then, the Totem Gnome media player has problems).
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=1 vbr=4 vbr-quality=3 ! xingmux ! id3v2mux

3. Using Presets.
In the following, we use the preset 1002, which is of standard quality, VBR (at around 160 kbps), that we also run through xingmux.
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc preset=1002 ! xingmux ! id3v2mux

UPDATE: Here’s a mockup of how things should have been.

Outlook Express DAV support extended

Oh, what do you know.

I just got an email from Microsoft that says that they are postponing their removal of Hotmail access via Outlook Express after “customer feedback”. It seems they lost too many paying customers, just like me.

Windows Live Mail sucks beyond belief. It’s slow, eats lots of RAM, and most importantly, it’s buggy as hell. Outlook Express is a mature application — at least for what it was originally designed to do.