January 31, 2012

Spying!

Filed under: Technology — spiro @ 1:10 am

Last weekend I somehow got the urge to play around with security camera software.  I basically fired up my 2 webcams (Microsoft Lifecam VX 7000 & Cinema HD), pointed them out the window and spied on people going in and out of the building. It’s so addictive, it looks like I found myself a new time waster – not that I needed one.

 

In the past, I set up the 2 webcams to point inside before going on vacation and left a light on so I could spy on the kitty. Then, I’d logon through remote desktop, and use VLC to watch and show off.

 

This time, I was looking for a more serious toy. One that I could eventually use in my next home for security purposes (don’t have to worry too much about that when living in a condo full of retirees who love to people-watch :) So I started poking around. There are many small freeware apps that just grab an image from 1 camera and broadcast it over the web.

 

Then you have the more advanced software packages marketed for enterprise that contain a whole set of features: face tracking, record-on-motion-detection, able to view cameras remotely, etc. They’re rather expensive and if they do provide a free version, it’s extremely limited. What’s there for geeks who like to play around with stuff?

 

Well, I found iSpy, a rather full featured software package. It takes in multiple inputs: Ip cameras, webcams and capture cards; it does motion-detection recordings; and it’s rather fast, simple and unobtrusive. The catch? They want you to pay $8 a month to get remote access to your cameras through their service. Yes, instead of just running an HTTP server on your machine, they somehow bounce the camera feed off their servers to make a buck. Gaaaaah, why can’t life just be  perfect?

 

So I have to go and write a webserver now :(

 

March 14, 2011

Defolderize

Filed under: Technology — spiro @ 12:17 pm

I wrote a little tool to flatten directory structures for my needs. If that might be useful to you, the app and the source can be found here.

December 22, 2010

Stripping Commercials Out of Media Center TV Recordings

Filed under: Microsoft,Technology — spiro @ 7:40 pm

I loathe being advertised to, and I don’t understand how ads are even effective, since I very rarely ever go buy a product/service based on an ad I’ve seen. When they appear on a DVR recording, I have to manually fast-forward them, and they waste precious space on my hard disks. Fortunately, there are tools that allow you to do that. Unfortunately, they’re generally buggy, don’t come with any documentation, and difficult for one to understand and use.

One such tool is DVRMSToolbox. Unlike other tools, it actually works on Windows 7, but it’s essentially a mish-mash of executables, with documentation for Windows Vista that’s hard to follow and to make matters worse, a web forum with loads of “me too, I can’t get this working either, please help” kind of replies instead of working solutions. I was able to get something working, though I could not figure how on earth to get it to work with .wtv files (it’s built for Vista which uses .dvr-ms files). Another issue I ran into is that it works on the recordings as they come in, which grinds the system down to a halt (even on a quad-core).

Fortunately, I was able to poke around and take a look at the package and figure out what’s going on, and how to write batch scripts to accomplish things, and wrote a nice batch file which I can trigger through the built-in Windows Scheduler at 4 am when I am sleeping and the system is idle:

@echo off
set mediafolder=%1
set wtvconverter=%systemdrive%\windows\ehome\wtvconverter.exe
set dvrmstool=%systemdrive%\Program Files (x86)\DVRMSToolbox\DVRMStoMPEG.exe

echo Usage: runcomskip.cmd [path/to/media/folder]
if mediafolder=="" goto:eof
for /r %mediafolder% %%a in (*.wtv) do call:do_conversion "%%a"
goto:eof

:do_conversion
rem do conversion here args = %~1 ...
set wtvfile=%~1
set dvrmsfile=%wtvfile%.dvr-ms
set mpegfile=%dvrmsfile%.mpeg
echo *** Begin processing file %~1 ***
echo Converting to dvr-ms %dvrmsfile%
%wtvconverter% "%wtvfile%" "%dvrmsfile%"
echo Running comskip and converting to mpeg %mpegfile%
"%dvrmstool%" /if="%dvrmsfile%" /of="%mpegfile%" /p=32 /act="converttompgwocommercials"
rem Rename the wtv file so we don't attempt to re-convert it if we run the script again.
rem I'll be changing this to delete the file when I'm sure my script works 100% of the time.
rename "%wtvfile%" "%wtvfile%.old"
echo *** End processing file %~1 ***

goto:eof

(to use, copy this into a text file and save it as runcomskip.cmd)

I’m using the WTV to DVR-MS converter that ships with Windows to convert the files to the older DVR-MS format. There are no tools (that I know of) that will work with WTV. Once the file has been converted, DVRMStoMPEG will run Comskip, a freeware tool included with DVRMSToolbox to find commercials in the video, and will output the stripped video to MPEG. I ouptut MPEG since it’s a lot  more portable than DVR-MS and WTV, and AFAIK there’s no transcoding involved, all it should be doing is changing the container. I’m a bit wary of deleting the original files just yet. I want to make sure that the tools work right before running it on my recordings. I rename it so that the same files don’t get processed twice. The next step is to find a good batch encoder for archival purposes before my 1 TB DVR disk fills up. Right now I’m thinking of writing a simple cmd line encoder using the Expression SDK.

December 2, 2010

Hello Windows Phone 7!

Filed under: Microsoft,Technology — spiro @ 10:39 pm

After much wait, I am now proudly flaunting a Windows Phone 7.  Initially, I was planning to get the Dell Venue Pro, but the long wait for the device, and it’s bulkiness steered me towards the HTC HD7, on T-Mobile.

The Device

The HTC HD7 is a nice phone overall. I love the size of the screen on it, and its slimness: it fits better in my pocket than my older, tiny-screen HTC Touch. The 5 MP camera is totally amazing, and the LEDs do a good job as a flash, or even as a flashlight. It would be nice if they’d have a Super AMOLED screen instead of an LCD. A few disappointments, however, it uses a micro-usb instead of a standard mini-usb to sync so I have to buy new cables, and I wish the battery could hold more power.

The Carrier

In the process, I switched from Sprint to T-Mobile because Sprint doesn’t yet have WP7 devices yet, and I’ve really had enough of my HTC Touch. I’m a quite disappointed at the coverage, and the data speed. Indeed, in spite of being practically non-existent outside North America, CDMA is a much, much better cell phone system!

WP7

Finally, let’s get to Windows Phone 7. Overall I think they’ve done a great job, and my assessment is that it’s at least the equivalent, or better than the iPhone, give or take a few features. And if the rumored “January update” is true (I don’t know, I don’t work on the WP7 team), WP7 really can kick some serious iPhone ass! Sure, I think Android is way ahead in the game, but if they keep a fast-paced update release schedule, and does a good job supporting developers as well as device makers, I think WP7 has lots of potential.

  • The phone has a new UI. It works great after maybe 1-2 hours at the most of getting used to it. Perhaps a more complete setup wizard that does more than setup Hotmail would be nice.
  • I like the way the facebook/outlook/contacts/hotmail/gmail contacts sync together in the people hub. They need to include Twitter, and Ideally have an API that social netwok sites themselves can maintain.
  • It would be nice if calendar services like Google Calendar and Facebook’s events could also appear in the phone’s calendar.
  • The folder list in Outlook e-mail gets the job done, but looks very, very, very bland.
  • The marketplace is getting very crowded. That’s a good thing, but that will require at least organizing alphabetically.
  • The lock screen and password input is really nice. If you’ve used Windows Mobile, you know what I mean!
  • Internet Explorer sucks, but it’s way better than the one that shipped with Windows Mobile.
  • No ability to map the address of a Facebook event, not even on the Facebook application.
  • Bing search is quirky. Often, it will say Bing is not available after a long, long wait, even if I have a data and/or WiFi connection going on. If I try it a second later, the search results will show up quickly as expected.
  • IE has Google search as default, due to the carrier customizing it. Why the hell do we allow this? BING is the proper search engine now :p

November 7, 2010

Saving Media Center Live TV Pause Buffer Video

Filed under: Microsoft,Technology — spiro @ 4:45 am

I was watching something on TV using Windows 7 Media Center. I wanted to record it, but it started before I had a chance to press record. I figure there’s no problem, I have a pause buffer, right? Unfortunately, there’s no supported way to save the Live TV Pause Buffer. What a BUMMER!

So, I Binged, Googled… nothing. So I started playing around, and I came up with something:

The live TV buffer is stored along with your TV recordings in the Recorded TV folder, which by default should be C:\Users\Public\Recorded TV. In that directory, there’s a hidden folder called TempRec\TempSBE. To see it, you must enable hidden folders. In that folder, there are a bunch of files with weird (GUID) file names with DBF extension. Use the date of the file to figure out which file is the one you want…

hidden

Copy that file somewhere else (you don’t want to muck with this folder-it’s probably hidden for a reason). Rename it with a WTV extension. Windows Media Player should be able to play it now. I tried with VLC and MPC, they both won’t play it. Using the built in converter to convert that file to DVRMS will also fail. I suspect this isn’t a true .WTV file and as such isn’t very portable.

mediaplayer

Fortunately, you can use Microsoft Expression Encoder to make it into a WMV! Expression Encoder is the former Windows Media Encoder and the free version will do the job just fine. Once it installs, launch it, select “Transcoding Project”. Use File > Import and browse to the WTV file, set the desired WMV settings on the right pane, and when you’re done, select File > Encode.

encoderwelcome

preencode

encoding

You should now get the pause buffer in a nice small WMV file :) The default output location for Expression Encoder is “Expression\Expression Encoder” in your documents folder.

encodedfile

Again, I found this on my own, so of course this method is probably NOT supported by Microsoft.

April 30, 2009

Ignite Seattle

Filed under: Seattle,Technology — spiro @ 2:01 pm

Yesterday I attended Ignite Seattle (warning, website sucks a bit), a special kind of conference where it starts off with a “make” project where you form a team and create something, the tallest paper & tape tower in yesterday’s case, and then it’s followed by a series of short-paced talks where the format is each speaker talks for 5 minutes, presents 20 slides, 15 seconds each slide. It’s hosted at the King Cat (6th & Blanchard) and it’s free!

I thought it was a pretty innovative conference format. Of course 5 minutes isn’t enough to go in-depth on a topic, but it provided an overview that will inspire you to dig more into it if you’re interested. All this provided you can get passed the high-on-java-compulsively-twittering-on-their-iPhone crowd :)

They promise to be back quarterly now. I think it’s definitely worth checking out! I’ll post a link to their videos/slide decks if/when I find them.

April 8, 2009

Bye Bye Comcast DVR

Filed under: Electronics,Rant,Technology — spiro @ 12:22 am

sdc10375

Today I got rid of my Comcast DVR. For a couple of reasons:

- I got a bill for $105 for TV alone this month, as my “introductory promotions” ran out. And NO, I did NOT order any porn channels or anything like that, that’s what torrents are for :) Generally, I watch TV rather infrequently, just catching up on my DVR’d series, like House, Heroes, The Office, Better off Ted, The Big Bang Theory, and a few others, local news, and CBUT (Vancouver’s CBC station) which Comcast distributes at a very poor quality for some reason. Does that justify me paying over $50 + $15 a month for the DVR when the Comcast CEO just took home an obscene $24.7 million last year? I believe not!

- The DVR is really a stupid fucking piece of shit. Granted, at least it’s easy to use, but beyond that, there’s not much to it. Accessing menu functions is slow as hell, the thing crashes all the time, it’s ridiculous! To add insult to injury, they gave me an old box without HDMI output, so I had to resort to analog component or DVI-to-HDMI. But, my main gripe with it is the tiny hard disk in the days of 1.5 TB hard disks being cheap and widely available. And, there’s no practical way to export recorded shows. The only possible way to do it would be to stream it through Firewire, which means that you have to “play” the show as there is no way of copying the contents of the hard disk directly, and even then, only local broadcast channels are decrypted.

- There are plenty of free options today to watch TV shows and movies, both legally and illegally, like Bittorrent, Hulu, Netflix (nice use of Silverlight!), with minimal to no advertisements, making TV-watching more efficient, and you don’t have to sit and watch irritating, screaming idiots trying to make you waste money on stupid useless shit. The quality is very decent too in comparison to cable or broadcast. In spite of all the “full HD” claims cable operators like to make, the audio and video on their services is still very highly compressed with fully visible compression artifacts, as there is still no cost-effective way of transmitting uncompressed full high definition content further than the HDMI cable run between devices.

So, now that I got an HTPC all set up, time to enjoy it! I decided to keep the “basic limited” TV service, as it only amounts to $5 a month over what I currently pay for Internet, with the “multiple service discount”, otherwise, I’d just get one of those HDTV antennae, which should give me good results since there arent many reception obstacles in my area, and if I get the urge to watch CNN, MTV, or any of this crap, there’s always the clubroom and gym in my condo.

February 22, 2009

DVI-to-HDMI input on the LG Scarlet

Filed under: Electronics,Technology — spiro @ 6:12 pm

I got myself a nice little present on Black Friday, which to get I had to wait in the wee hours in the morning in Renton’s Fry’s. I got the LG Scarlet (52LG60) for $1200. Not bad :) Anyway, so this is like the obligatory “show and tell” post…

One of the things I wanted to do with that TV was hook up an eventual media center PC. Now all I have on it is my Macbook Pro :)

So, First thing I tried hooking it up through VGA with an old monitor cable which wasn’t great, until my Monoprice order arrived. In it was a VGA+Audio cable along with a DVI-to-HDMI cable. Great, let’s try HDMI. I was expecting a crystal-clear picture, but that’s not what I got. The picture had a reduced color depth, super high contrast and the text was bleeding. So, I tried different things, including disabling ClearType which made it worse, so here’s what worked.

Display settings

Set resolution to 1920×1080 at 59Hz. You might have to click the Force button on the ATI settings dialog. The 59Hz part Intrigues me. If I pick 60Hz on HDMI, the TV says “Invalid Format” and on VGA it shrinks the picture to 4:3 aspect ratio, even if 1920×1080 is widescreen.

ati-set-refresh

Set the overscan to MAX. If you don’t, you won’t get 1:1 pixel ratio, which means the image will be resized. You DON’T want that.

ati-set-overscan

TV

Selecting overscan will hide the edges. Set the aspect ratio to Just Scan. Just Scan is just fancy terminology for 1:1.

tv-justscan

Disable the variety of picture enhancements. They mess around with the color depth. Video looks good, but your desktop won’t. I do leave the intelligent sensor ON.

tv-advanced

This improved the picture quite a bit, although it’s still not to my liking.

tv-textappear

The vertical lines seem OK, the horizontal ones, not so much…

tv-colorlines

The “info” bar and input list:

tv-inputinfo

tv-inputselect

The I/O Panel

My biggest complaint is the lack of analog audio out, it only has digital RCA and optical audio out. I don’t have a surround system yet, just a bookshelf stereo system, and I don’t care much for them.

tv-rearinput

tv-sideinput

So, I had to get this thing from GefenTV. Cost me around $70. The only problem is that it won’t decode dolby, just LPCM. They just came out with this guy that will do Dolby. I might just get it eventually.

tv-audio

And here’s my stuck pixel, located around the center of the screen. As you see, the green pixel is black (always ON), so the effect of this is that the pixel is magenta. I’ll try running one of the tools that displays white snow. I’m a hesitant about using a pencil or eraser on it. I don’t want a dent on the surface.

tv-stuckpixel

And here’s how the logo looks :) It’s quite nice actually, but if the LEDs annoy you there’s an on-screen option to turn it off. In case you are wonering, it is totally transparent, behind is the wall (you can see the texture on the wall).

tv-logo