Monday, September 10, 2012

Vizio Co-Star Review

Vizio Co-Star Review (VAP430)

My review is delayed primarily because it took 10 days for my order to be delivered because Vizio is cheap and used Fedex Smartpost instead of regular ground shipping.  I was charged $10 for ground shipping and Vizio spent no more than $7.66 on Smartpost. Smartpost != Ground!!!!! The launch for this product with so many eyes watching and of this magnitude was bungled on so many levels.

I waited a full 2 weeks to give a review after the initial hour with the Co-star because I was  underwhelmed.  It would have been a bit more scathing if I would have done it then.

See Twitter Post

This is what it looked like out of the box.   A remote, power supply, batteries, and the Co-Star.

Closeup of the remote

In hand (if you didn't know before, I am brown)

Once everything was connected.  There was an immediate software update.

Using the remote was a bit tricky because you hold it vertical most of the time and use the D-pad or the trackpad and then you have to flip it over and turn horizontal to use the keyboard.   I have not been able to find an onscreen keyboard to use.  I would be much faster at typing using the onscreen keyboard than using the remote keyboard.   There's no backlight and it's using bluetooth.   Vizio could have saved some money and just have gone with a RF 2.4ghz receiver.  Control via bluetooth is not very precise and keypresses are often missed.   

There was an update to Youtube  that you can use your android phone to queue and play youtube videos on the google tv.   Quasi Airplay-esque without the beaming from one device to the other.

My next test was to checkout Amazon Video on Demand and Netflix.

Upon click of the dedicated Amazon Video on Demand it opened Google Chrome and went to the Amazon VOD website. I thought that was odd and assumed that I would have to perform some side loading of the Amazon App.   I was wrong.   This was nothing but the flash VOD site.   Wow Vizio and Google.. really?

Not only was that bad enough but the videos were in Standard Definition and the audio was only in Stereo.  Amazon says that HD movies are coming soon to Google TV but in true Google TV fashion execution and scheduling between content providers is missing.

Next up was Netflix. The experience was similar to Netflix on the Wii, Roku and PS3 with one exception.  I could not get any of the HD Movies to play in full HD.  I was connected via ethernet to a gigabit switch.  The Co-star only reported 65 - 75 Mbps connection on the switch. I was not having any bandwidth problems.  I average 30 Mbps Down/ 6 Mbps up even during peak evening hours when the whole neighborhood is streaming online video until their eyes bleed.

This didn't happen once or twice but every single time.  I played Lost Season 1 Episode 1.  I could probably draw the first minute on paper blindfolded and the quality was horrible.  I tried the video on my Apple TV and PS3 and both played in Full 1080p HD with Dolby 5.1 surround. This is with the quality set to 1080p on the Co-star and not to Auto for those ready to pounce.  

Here are some comparisons.  It's like 480p vs 1080p.
Vizio Co-Star Eye

Apple TV Eye

Vizio Co-Star Brow

Apple Tv Brow

I didn't even bother with Online and M-Go after seeing what I just saw.  I purchased Plex for Google Tv since I wanted to test some media that was under my control on my LAN.  I decided to test playback of Immortals against the PS3 using DLNA to Plex.  I got very similar results as to Netflix.  The picture was washed out and there was a lack of definition. You can't even tell that Frida Pinto has on a lavender getup underneath the shear material.  It looks solid black on the Vizio.

Vizio Co-Star


Vizio Co-Star


The playback problems didn't stop there.  I tested the app during September 9th, 2012's live stream of the This Week is Tech.  There were major artifacting on the screen especially on the lower thirds where the image was stable for a few frames.  It was as if the Co-star recognized this and turned of processing for the portion of video and displayed only current pixel changes.  It would take a full 3-5 seconds for the video to correct itself and start to actively display the area under the lower third  after the lower third disappeared.  This happened on SD and Well as HD streams and from different sources.  Bitgravity and Flowsoft.

I tried to use Crackle.  It was designated as one of the Websites designed for TV.  I could not get one video to play on the Co-Star.

The one thing that I did like was the TV and Movie app.  It procures tv and movies and their sources, price and quality and let's you decide where and how much you want to pay.  It's limited now to just Netflix and Amazon.  Amazon Prime was noticeably missing.  Google needs to tie into Amazon to check if you're a Prime Member and offer you a choice.  Also Google and Hulu need to hug it out and get over the past and move forward.  Google needs a youtube  and play Video rental offering in there as well.  Google is missing money on the table because consumers will go elsewhere.

Overall, I'm not impressed at all and I want a refund. 

Thursday, September 06, 2012

Using Blacklists, Google Contact Synchronization and Opencnam In Asterisk

I use Broadvoice who has had problems with passing callerid data to me since April 24, 2012 with no resolution as of the writing of this post on September 6, 2012.  I guess that only way that I can resolve issues with them is to dump them.  Yes, I'm calling you out Broadvoice.

I've been able to work around Broadvoice and their horrible technical support and engineering.

I've implemented a callerid solution in asterisk using the following:

  • Manual Database Entries for Blacklisting
  • Google Contact Synchronization
  • Opencnam Lookups


I add political, charity, religious organizations and businesses that I've had dealings with that I never want to talk to again to a blacklist.  They don't follow do-not call rules here in the US.

Connect to the asterisk console using asterisk -r

Add the number the database.  I add the number with and without the country code because callerid comes in differently 

database put blacklist 6305392500 1
database put blacklist 16305392500 1

Google Contact Synchronization

I followed the instructions on the PBX in a Flash Forums below to setup the script.

I modified the python script to take out the plus symbol and also remove the the country code.  I planned on using the google contacts for caller id for Google Voice as well as from my voip provider.

# Insert the number into the cidname database, reinsert the country code if defined.
            #os.system("/usr/sbin/asterisk -rx \'database put cidname +%s%s \"%s\"\'" % (country_code,phone.text,entry.title.text))
            os.system("/usr/sbin/asterisk -rx \'database put cidname %s%s \"%s\"\'" % (country_code,phone.text,entry.title.text))
            os.system("/usr/sbin/asterisk -rx \'database put cidname %s \"%s\"\'" % (phone.text,entry.title.text))

Added A Crontab Entry That Runs Every 30 Minutes
0,30 * * * * /usr/local/bin/python /usr/local/bin/ > /dev/null 2>&1

Opencnam Lookup

Here's the cnam.agi.  I made it an executable and added it to /usr/share/asterisk/agi-bin/.  Your install may be different.  You'll need the curl binary to make it work.  I also log the cnam transactions in a temporary log file.



name=`curl -s -X GET$cidnum?format=PBX`

echo $TODAY >> /tmp/cnam.log
echo $cidnum >> /tmp/cnam.log
echo $name >> /tmp/cnam.log
echo "" >> /tmp/cnam.log

if [ -n "$name"  ]; then

echo "SET VARIABLE lookupname \"${name}\""

exit 0


exit 1


Here's everything in the extensions.conf

exten => _X!,1,GotoIf(${DB_EXISTS(blacklist/${CALLERID(num)})}?blacklisted,s,1)
exten => _X!,n,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})
exten => _X!,n,GotoIf($["${CALLERID(name)}" = ""]?blank)
exten => _X!,n,Dial(SIP/holla,30,tr)
exten => _X!,n,Voicemail(holla)
exten => _X!,n,Playback(vm-goodbye)
exten => _X!,n,Hangup()
exten => _X!,n(blank),NoOp(cnam.agi)
exten => _X!,n,AGI(cnam.agi,${CALLERID(num)})
exten => _X!,n,Set(CALLERID(name)=${lookupname})
exten => _X!,n,Dial(SIP/holla)
exten => _X!,n,Voicemail(holla)
exten => _X!,n,Playback(vm-goodbye)
exten => _X!,n,Hangup()

exten => _X!,1,NoOp(Call from Google Voice)
exten => _X!,n,Set(CALLERID(num)=${CUT(EXTEN,/,2)})
exten => _X!,n,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})
exten => _X!,n,GotoIf($["${CALLERID(name)}" = ""]?blank)
exten => _X!,n,Dial(SIP/holla,30,D(:1))
exten => _X!,n,Hangup()
exten => _X!,n(blank),NoOp(cnam.agi)
exten => _X!,n,AGI(cnam.agi,${CALLERID(num):1})
exten => _X!,n,Set(CALLERID(name)=${lookupname})
exten => _X!,n,Dial(SIP/holla,30,D(:1))
exten => _X!,n,Hangup()

exten => s,1,Wait(2)
exten => s,n,Playback(ss-noservice)
exten => s,n,Wait(1)
exten => s,n,Hangup()