I have been researching for months now, how to get a live HDMI feed in from a camera, like my GoPro Hero 4, into my computer.
- live broadcasting e.g. http://www.reddit.com/r/WatchPeopleCode
- better Webcam ... I want to allow my parents to see me through a good camera, not the crappy 480p on the inbuilt camera in my laptop lid!!
- better sound, I should be able to mux in audio into a HDMI feed from my camera source
- optimising video editing work flows - if it is recorded, doing it live as much as possible is such a time saver
The solutions or lack thereof
Adobe Premiere Pro and FCPX
Initially I looked to how popular video editors expected me to import video frames. In a very non-standard awkward manner. Often requiring special equipment and their own proprietary drivers. I have no idea why they don't support standards.
They only work with own special drivers on MacOSX or Windows. In fact, to my surprise the Live Gamer Portable was simple unable to stream via https://obsproject.com/ to http://www.twitch.tv/ on MacOSX, but it can on Windows. Special driver nightmare.
The video input standards (I think)
When I plug in a video source I expect to come up on my Archlinux system as
vlc v4l2:///dev/video0. A lot of Web cams implement this under the
moniker of UVC.
So after a search for UVC and HDMI miracously I found just two options:
- http://www.dexteralabs.com/inogeni/ at 400USD
- Slightly dubious looking FEBON198 USB3.0 UVC HDMI Grabber Card at 150USD
- Update: Magewell XI100DUSB-HDMI as listed upon this UVC page with one promising review of several
- Update: A StarTech.com USB2 device pointed out to me by a German no less. Has he tried it? No.
The INOGENI 4K2USB3 4K HDMI to USB 3.0 Converter looks perfect. It's just that it is quite expensive.
The FEBON198 guy from Taiwan seems to think it won't work in Linux, do interlaced input and of course offers no refund. However since I'm in Singapore, I doubt I realistically get a refund from B&H.
After months of research... seriously, there seems just to be one standard driver-less solution, the Inogeni, which should work seamlessly with FFMPEG and other opensource tools on my Archlinux on a Lenovo X1C3. It's great that there is such a product, but I'm almost mystified why there is just one product that does this, and cameras like Canon do not implement UVC.
Is there something glaringly wrong with UVC that I don't know about?
Recently I have felt inspired by Internet's Own Boy and Citizenfour, to pen my thoughts on how I view and judge Internet services. Just as Aaron Swartz called us to action on Open Access, I wish to define three guiding principles for a better Internet:
- Open data - Choose services where I can get the data out quickly and is it in a usable format? - git interface allowing pull and ideally push (write!) too
- Decentralised - Avoid services where there is a concentration of power
- Opensource - Choose software where I can transparently see changes, has manageable source code so that it can be forked - using git with full history
Notice that I haven't requested some encryption adoption or privacy here. I feel if things are sufficiently decentralised, that would satisfy me for needs of privacy, since it raises the cost of mass surveillance.
Gmail is not opensource. It's incredibly centralised so that if an enemy had access to Gmail, and lets imagine most people use Gmail as their email client, by and large that enemy could read your email. Gmail does make it possible to get your data out, so score is 1 of 3.
What is the alternative? Using another email provider. Email is an open standard designed to be decentralised, so this should be an easy task. Sadly most email providers suck. I've chosen https://www.fastmail.fm/, since they aren't as big as Gmail. This is decentralised in my book, since it raises the cost of mass surveillance, since now NSA/GCHQ has to work with Fastmail to read people's email. So Fastmail gets a score of 2 of 3.
Ideally I would host my own (and my for friends&family) email, but it takes too much effort for me.
The alternative is clear in my book. IRC, which is 3 of 3. Though don't expect private communication.
Before someone criticizes my "guiding principles" of my usage of Facebook or Twitter, can I just point out that I do not expect privacy on either platform.
Twitter (1 of 3) is better than Facebook (0 of 3) since their APIs for 'Open data', i.e. getting your data back out are sane compared to Facebook. Case in point: http://greptweet.com/
An online life is complex. I tried to keep these 3 principles; Open Access, Decentralisation & Opensource as simple as possible, to help me and hopefully you make better decisions that should aid privacy and increase competitiveness of our wonderful Internet!
Further links: I noticed a project called redecentralize that echoes my sentiments.
So I bought the X1 Carbon Generation 3 !
It arrived 2015-02-17 after ordering it on the 2015-02-09. It feels like bloody Christmas !!
I love how quiet this machine is.
The model number on the order is 20BTCTO1WW. Lenovo's Safety and Setup Guide refer to this as Machine Types: 20BS and 20BT. Serial number is R90F6C3B which is confirmed by
# for i in /sys/devices/virtual/dmi/id/*; do echo $i: $(cat $i); done /sys/devices/virtual/dmi/id/bios_date: 12/01/2014 /sys/devices/virtual/dmi/id/bios_vendor: LENOVO /sys/devices/virtual/dmi/id/bios_version: N14ET25W (1.03 ) /sys/devices/virtual/dmi/id/board_asset_tag: Not Available /sys/devices/virtual/dmi/id/board_name: 20BTCTO1WW /sys/devices/virtual/dmi/id/board_serial: W1KS52410G3 /sys/devices/virtual/dmi/id/board_vendor: LENOVO /sys/devices/virtual/dmi/id/board_version: SDK0E50510 WIN /sys/devices/virtual/dmi/id/chassis_asset_tag: No Asset Information /sys/devices/virtual/dmi/id/chassis_serial: R90F6C3B /sys/devices/virtual/dmi/id/chassis_type: 10 /sys/devices/virtual/dmi/id/chassis_vendor: LENOVO /sys/devices/virtual/dmi/id/chassis_version: None /sys/devices/virtual/dmi/id/product_name: 20BTCTO1WW /sys/devices/virtual/dmi/id/product_serial: R90F6C3B /sys/devices/virtual/dmi/id/product_uuid: 01DA4854-B754-CB11-BF15-8F9604DEA04D /sys/devices/virtual/dmi/id/product_version: ThinkPad X1 Carbon 3rd X1C3:~$ hostnamectl Static hostname: X1C3 Icon name: computer-laptop Chassis: laptop Machine ID: 2e68738c559147e2a181d4fb70f030c5 Boot ID: a6f72f88e4e443e1898be5a4f615c16a Operating System: Arch Linux Kernel: Linux 3.18.6-1-ARCH Architecture: x86-64
Usual bunch of stupid pieces of paper and ugly fingerprints!
It's well packed though. The X1C3 feels like it might not survive a drop as well as my X220. It also worryingly doesn't have spillage holes.
I am wondering about a sleeve to put it in, in order to prevent scratches and the sort whilst it travels in my pannier.
The rectangular yellow power supply connection is a bit of a disappointment. Feels stiff, fallible and why is it so similar to have USB connector? Brain dead. I also miss the loud BEEP when I gain or lose mains power.
Sadly I found the Archlinux dual boot documentation a bit lacking. I was going to attempt dual boot, but I couldn't understand how to resize the Windows NTFS partitions. So I just gave up.
Also I was put confused by the UEFI BIOS stuff. Oh well.
I went for the "modern" GPT method of partitioning and admittedly I have no clue what GPT means. I now have just one big partition formatted with ext4:
/dev/sda1 2048 500118158 500116111 238.5G Linux filesystem
Syslinux install was also a
little confusing. Do I run it in the
arch-chroot or not?
syslinux-install_update -i -a -m worked from within the chroot, but the
grep root /boot/syslinux/syslinux.cfg was
APPEND root=/dev/sda3 rw
and not /dev/sda1.
X1C3 mouse buttons not working
# echo "options psmouse proto=imps" > /etc/modprobe.d/psmouse.conf
I've also disabled the trackpad since it was resulting in odd selections. I wonder if I can configure it just to scroll ?
Annoying network interface names
X1C3:~$ networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier configured 2 wlp4s0 wlan routable configured 3 enp0s25 ether no-carrier configuring 3 links listed.
Somewhat annoyingly my wifi0 is called
wlp4s0 and my eth0 is called
enp0s25. Got to thank
Both interfaces "just work" and perform great!
/var/run/systemd/resolve/resolv.conf is missing, you need
sudo systemctl status systemd-resolved and then enable it.
Tethering from my iPhone6 works once
usbmuxd is is installed, the interface name is
Different spacing to the X220. I don't like the grease marks my sweat leaves behind. Thankfully this machine runs cool, like 42C atm, so already that's way way more comfortable than my old X220 Thinkpad.
I'm now also using a US keyboard layout
setxkbmap -model thinkpad -layout us
-option ctrl:nocaps from
setxkbmap -layout gb -option ctrl:nocaps. Need to report back how it goes...
I've discovered I need function lock on, enabled by Esc+Fn with a green light coming on on the Fn, in order to use the function keys.
Thanks to I think this tip, when Function is not enabled the:
- wifi kill button works
- Mute works
But not the volume or brightness buttons AFAICT.
I'm enjoying the 1920x1080 screen so far, especially since I more room to tile
two windows side by side in dwm. Didn't have to do
anything special so far to resize anything.
google-chrome-unstable and st's
static char font =
"Terminus:pixelsize=18"; is serving me well!
This is how much bigger my irssi/tmux session is now compared to my X220!
Here you can maybe see the colour reproduction difference with a side by side comparison against the X220. Tbh, I'm not that happy with the way the X1C3 reproduces yellow. It's way too close to white.
When I slouch, I notice the viewing angles are not good.
Can't get sound to output on HDMI.
When I attach my iPhone headphones, the voice recordings are awful. I've even
tried my Rode SmartLav+. There is just no sweet spot on
pavucontrol to get
noise/levels properly adjusted for a clear recording. I suspected windows
employs some high pass filtering and that's why no one complains about the
microphone under Windows.
seta r_mode "-1" seta r_customwidth "1920" seta r_customheight "1080"
At least I can go full screen now. Just that my mouse doesn't work. It seems to be locked to 60fps and I haven't worked out how to turn off vsync.
USB 3 performance
I needed to backup a nearly broken
1TB USB3 drive to a newer USB3 2TB drive formatted in glorious ext4. Using
sudo rsync -Part --exclude=".*" --exclude ".*/" . /mnt/2tb/recovery/ I'm
getting 90Mb/sec across the USB3 bus.
Actually it seemed to speed up since it copied the 400+GB in 2 hrs, not the calculated 11. Any ideas how to better calculate this?
I ran into this Archlinux slow DNS resolving bug. Since disabled ipv6.
As mentioned on http://hendry.iki.fi/about/, my computer for last couple of years has been a X220 and I've been using Thinkpads since 2001, erm 14 years!?
I resisted the X230 upgrade because of the inferior looking chiclet keyboard and the X240 had a serious issue with the mouse pad, so that was a no go.
Like many, I've been hanging on http://www.reddit.com/r/thinkpad feeling a bit miserable. Almost accepting that my next computer would have to be a Intel from Apple. Though the comparable models like the Macbook Air, which I extensively tested runs Archlinux... I really didn't like the keyboard and most importantly lack of Trackpoint.
Waited long enough
Lately I've been developing an Android app. My 4GB of RAM of my X220 is simply not enough. I need an upgrade to be productive!
Thankfully Lenovo reversed their earlier poor design decision and re-introduced physical mouse buttons across their Laptop product line up, which I have been studying.
Naturally I wanted to upgrade from my X220 to the X250, but on closer inspection I'm put off by the X250's:
- Glass-Fiber Reinforced Plastic
- Still the same 1366x768 (16:9), 12.5"
I'm sore that Lenovo seem unable to make a Thinkpad where there aren't huge bezels on the side of screen and keyboard. Shame they can't make it flush and like the original design intention of a Bento box.
X220 to ThinkPad X1 Carbon (3rd Gen) ?
The Intel Broadwell based ThinkPad X1 Carbon (3rd Gen) i5-5300U or i7-5500U looks like the one.
- Carbon X1 re-assuringly is made of Magnesium/Aluminum, and hence I'm assuming a better build quality than the X250
- The 14" sized displays starts at FHD 1920x1080 (16:9), not sure I want to take the leap to WQHD 2560x1440.
- I prefer the HDMI port instead of the VGA port, since all my screens around my house are HDMI compatible, since 2010
- Quite bummed that there is NO SDCARD slot !
Can't help but think a high resolution screen 2560x1440 will be an absolute pain to setup with Xorg and likely to drain my battery faster.
My concerns with going for the X1 Carbon is that the
hard drive is not
replaceable AFAICT. A reddit user says the hard drive is a standard M2 and therefore should be replacable. I inevitably want to upgrade the hard drive like I've done
on every Thinkpad I've owned.
Apple have yet to update their Mac product line to Intel's delayed Broadwell generation. Apple might be getting better Broadwell reference hardware from Intel than Lenovo... or have some other hardware innovation. I really like Apple's charger cables and that would make like easier around my family since all have Apple hardware.
Nonetheless even though I'm a ashamedly happy IOS iPhone6 user, I do want to use the best alternative to Apple hardware and software. Got to Think different!
Will that be the X1 Carbon Gen 3 & Archlinux? I'll let you know. A lot will depend on reviews and price points of the Air vs X250 vs X1 Carbon Gen 3. I can tell you I'm not looking forward to ordering it on Lenovo's horrible Website and I won't be purchasing an extra plan since Lenovo are absolutely hopeless at service & support.
Update: Although Dell's Broadwell Ultrabook, the XPS 13 lacks a Trackpoint, it looks worthy of a mention. Carbon fibre and the low bezel screen looks amazing.
Update: Despite emailing Lenovo Singapore and asking about the X1 Carbon Gen 3 and their sales guy saying they will let me know as soon as it's released... I've just noticed http://shopap.lenovo.com/sg/en/laptops/thinkpad/x-series/x1-carbon/ for 2433SGD. GULP! More expensive that a http://store.apple.com/sg/buy-mac/macbook-air.
The price has shocked me a little:
So I bought some wine & beer returning from the Philippines at DFS at Changi Airport.
DFS prices correspond to that on their Website http://www.dfs.com/en/airport-singapore/featured-brands/oyster-bay/oyster-bay-sauvignon-blanc-2011-2012-75cl-70000138048, that is 36.20SGD for 0.75L of Oyster Bay Sauvignon Blanc.
I checked the price with Cold Storage, which was 48.95SGD. So that's almost a 30% saving!
If you don't buy spirits, you can buy 2x3 cans of beer. 2x6.30SGD of the cheapest beer there, Carlsberg is 12.60SGD. A 6 pack of Carlsberg in Cold Storage is 16.70SGD, that's a 28% difference.
So how much is tax?
Hat tip: Thanks Valentine for explaining the duty to me.
In Singapore, duty on alcohol is $88.00 per litre of alcohol.
So for a 13% alcohol, 0.75L bottle of wine, it's $8.58. Goods & Services Tax is $3.20 per bottle. 48.95-8.58-3.20=37.17SGD. So ignoring tax, DFS is still a dollar cheaper than Cold Storage.
What about the UK?
Oyster Bay Sauvignon Blanc 75Cl at Tesco is 11.19GBP, which at best is 22.62SGD. That's with UK tax.
That's almost a 50% saving on Singapore duty free prices. Crazy.
Since I work at http://hackerspace.sg/, occasionally the topic arises of how to keep your embedded device connected to the Internet in Singapore.
Basically it's a huge PITA.
Wireless@SG doesn't work reliably. It's a long running joke. If you miraculously authenticate and get online, you will probably be kicked off.
Getting connected on 4G LTE is expensive and a HUGE PITA. The cheapest way I've discovered so far is to get a "Long expiry plan". The longest being 30 days for 1GB for 20SGD, http://info.singtel.com/personal/singtel-prepaid-data-plans. You have to manually renew it every month from the device itself. Good luck scripting the SMS to top up! No one I know has managed it.
Getting wired connected for a little thingie is generally impractical. OpenNET aka NetLinkTrust can take MONTHS to get their contractors hooking you up. ISPs contract is 1 year minimum. Next you will have little headaches like VLAN tagging to worry about.
There was an initiative for an "alternative" low power connectivity with SIGFOX but that fizzled out and besides... it's one way & non-IP so lacking in versatility.
And no IPv6
Even if you somehow get inexpensively connected to the Internet in Singapore. You won't have IPv6. You won't be addressable. No Internet service I've found does IPv6 natively in Singapore, leading to horrible stop gaps like http://pi.dabase.com/ where I have to keep an expensive socket connection open just to be able to get at my device.
IPv6 workarounds like HENET aren't great because they are usually very slow, expensive and badly routed. IPv6 needs to be natively supported by ISPs and routes need to be constantly tested and maintained.
@kaihendry I'm sorry but we do not have static IP services for residential customers.— Yong En (@Singtel_YongEn) January 27, 2015
So the above connectivity challenges really need to be sorted out for Singapore to have an "Internet of Things" revolution. Initiatives like "Next Generation Nationwide Broadband Network (Next Gen NBN)" & "Wireless@SG" sound awesome. But the devil is in the detail. A lot more work & consideration must be made to get the Internet of Things sanely online and addressable.
Update: 2014-12-18 FINALLY StarHub flicked the switch! You can tell VoLTE works by Tapping About→Carrier
Switching to a better mobile deal is quite tricky in Singapore.
I compared Singtel, M1 & StarHub by their 3GB plans, but there are some hidden costs.
Firstly, you need take a chunk of time out of your day to re-contract. Despite what StarHub might say, to open your new line, you need to go to a StarHub shop. I darkly predicted a 3hr mission to Bugis. I was not far wrong. The wait, signup and payment took almost exactly 90 minutes, we are now exhausted!
Things you need in order to switch
- A Singaporean Identity Card with at least 6 months of validity
- Proof of address, ideally a bill
You need to ensure you are "not contracted" still if you are switching. The terminology is very confusing in Singapore. Since on some plans after an initial 1 year contract, you automatically get migrated by your current operator/carrier (mine was M1) to a typically more expensive "rolling contract".
A rolling contract means you are not contracted. If you are not contracted StarHub can take care of the switch, but they can't tell if you are contracted or not contracted. You must find out beforehand, or risk losing your money.
The little gotchas
The StarHub 4G "3" plan we switched to from M1 is 34.32, but Caller Display ... a fundamental feature is astonishingly a 5.35SGD a month addon / "Value-Added Service". So your bill ends up being 40.09SGD a month.
The other big gotcha is that you need to pay for the new SIM cards + "activation cost". So this the switching cost to look out for. So that is 37.45SGD per line. So for my wife and I, out came the cash card, nervous looks and a painful swallow for 74.90SGD.
After 12 months, the line loses the initial 20% discount and ramps up. So every year, to save 20%, you should recontract. I.e. spend an afternoon in a Starhub shop.
While you are signing up aka the assistant typing in all your details into a baroque PDF form (since they use PDF for their business processes, I think this proves they don't use Web forms / i.e. an online process yet), you can and should ask for:
- No advertisements
- No to reselling information
- No to voicemail - accidentally dialling voicemail on your iPhone costs about 20c / per minute
The next few days
Previously we had free calls between each other, and StarHub has a similar feature, however you need to call customer services to nominate the numbers in their HappyTalk scheme. You can't do this online. Update: Since we get 150 free minutes a month, I don't think we need HappyTalk which I later figured out cost 10SGD to activate.
Furthermore, you need to call and setup E-billing. Bit of a shame they can't setup an online account there and then in the shop.
Update: The porting was announced via SMS on M1, that it would happen on the 1st Dec. I noticed about midnight on the 1st no service on the M1 card so we switched to the StarHub SIM card. We tried calling each other, but it failed. In the morning, however is working fine! There was a confirmation SMS that the port was successful at 9AM.
The StarHub staff implies the switch should be smooth and we shouldn't be double charged. We lay in wait for the next M1 bill!
The last and probably most annoying thing, is that to setup a UK style "Direct Debit" or Giro as it is called here in Singapore, you need to do some legwork with your bank. It's not an automated process, and StarHub doesn't do sane things like present you with a pre-filled bank instruction. Which is surprising, because that means StarHub won't know when they will get paid and leads to all sorts of other costs like sending reminder letters to pay. sigh
M1 versus StarHub
I heard from a couple of sources that StarHub is currently the most modern network and the first and only operator supporting HD voice in Singapore.
What's HD voice? It's actually an interesting 4G VOIP implementation locked to the carrier, so you can't "SIP2SIM" away to a 3rd party sadly. An easy way to tell if you have it or not, is to make a call and watch the 4G symbol. Did the call drop to 3G data speeds? Yes? You don't have HD then!
UPDATE: I've noticed my reception dropping to 3G when taking calls, so AFAICT StarHub have messed up HD audio on my new line. I'm trying to get through to someone sane in support and failing.
4G speeds atm from Geylang seems roughly the same, about 40mbit/sec down. However StarHub's upload seems a little more capped than M1.
Therefore it takes roughly just 11 minutes of full speed downloading to blow the 3GB monthly included data. Each extra 1GB is charged at 10.70SGD, which caps at 168SGD.
StarHub might be on Twitter, but whoever is handling the account is absolutely useless: http://greptweet.com/u/starhubcares/#kaihendry
The $$$ saving
My wife calculated that through switching we should save about 96SGD for the year, compared to just re-contracting with M1 for the 3GB plan. Is that worth an afternoon in a Starhub shop? I'll let you decide.
My dream hardware project, the project I check https://www.kickstarter.com/ periodically for, is a "smart" MCB that could fit in a typical circuit switch board, but with two additional features:
- Wifi IoT connectivity so I can at least TURN OFF that switch
- An API to read out of how much power the circuit is pulling in kilowatts
Ever left your home with the Iron or Air-conditioner on?
I want a simple Web application to be able to see a total & break down of how much power my home is using. If I noticed some grave irregularity (like leaving an iron on!!), I can just switch the power off for that circuit altogether.
HSG is stuck with M1 until 2016-02-09, since we were connected after 3+ month delay due to OpenNET 'capacity issues' on 2014-02-10.
(The other day I heard of a company waiting FIVE MONTHS for an OpenNET connection)
Switching cost far too high
Locked into a recurring two year contract. We tried to switch but M1 said we renewed per contract which as a Hackerspace we were unaware of (until it was too late) and we can't get out of. To compound the issue, we are unable to upgrade from 100Mbps to 1Gbps IIUC until 1 year has elapsed of our recurring contract.
Update: 930SGD pcm for 1Gbps Internet http://s.natalian.org/2014-11-25/M1-quote-1Gbps.pdf
Business versus residential line cost
Same service, 2+ times price difference, that's if you can get a clearly priced business package. Usually it has to be negotiated down from some crazy price.
Singapore ISPs have no status page / no accountability
We never know what service quality we are getting, whether it is getting worse or better. (International) Bandwidth is another matter entirely which seems variable and opaque.
No static IPs / IP allocation service / IPv6
Making home/office hosting dependent on unreliable dynamic IP aliasing... Therefore any reliable Internet service is forced to centralise onto "the Cloud" which is usually much more expensive despite what AWS et al would like you to believe.
As a Hackerspace we are locked for years with uncompetitive Internet and we are unable to reasonably host any project at the Hackerspace.
We are forced to beg for Cloud credit and we are unable to run anything bandwidth intensive.
I bought a 300GBP Wii U with MarioKart 8.
MarioKart 8 is indeed good, but the rest of the system kinda sucks. Doesn't surprise me that Nintendo posted losses.
- Their update procedure is cumbersome and isn't done seamlessly in the background. So it can stop you from playing.
- No details to what the updates are, so there is no reward or new UX to look forward to
- Many Apps I want to see get better like the Youtube App... does not get better
- In fact nothing seems to get better. For an internet connected platform not to evolve... well then it's dying imo
- The Nintendo store is really really, phenomenally shit. I WANT TO BUY NEW GAMES!
- Nintendo identity is really poorly designed. I am constantly confused between my Nintendo U id, Nintendo store and something else again
- Nintendo offered me a free game if I entered or registered MarioKart 8. Er... I don't have time for this shit. I lost the code. I didn't get a new game. I have a bitter taste in my mouth.
- Customer service is poor. No twitter, and when I explained I lost the code, they said they could only give me a new code if I provide them the old code. Er... I don't think you understand.
I'm writing this with the hope Nintendo bloody well gets their finger out. I think the hardware itself is fine. The platform software is just really quite poor.
Thank you for commenting !