Introducing OCTV – ownCloud + ARM + old TV

CRT TVDo you remember my post about how Raspberry Pi revived my old TV? This is partially continuation of that post but also something new. Lets start with recap of what I did almost a year ago. I connected my Raspberry Pi to old CRT TV, installed video player and hacked together few CGI scripts to manage it. I got my old useless TV to do something useful again. Over the time, I made few modifications, introduced caching and added support for mpv to support not only Raspberry, but also better computers, like CubieBoard.

Now for the other part of the story. I was using CubieBoard as my home server for pretty long time, actually since the preordered one arrived. Unfortunately it aged a little and I upgraded my home network switch to gigabit one and this was one important part of infrastructure that didn’t supported it yet. At the same time my relatives could use some simple home server on slow local network. So I decided to pass on my CubieBoard and get myself a new board. As my father was also eyeing for my Raspberry I decided to replace both my ARM boards with only one. And as I needed it fast, I went for BananaPi because

  • they had it in local store in stock (no waiting)
  • it has composite video output I need for my old TV till I get a new one
  • it’s Allwiner and thus quite well supported
  • it has gigabit network card

Since I was doing major changes, I also wanted to improve my scripts a little. As I considered file browsing capabilities of my scripts the biggest weakness (well together with caching that was trying to address part of the problem of the browsing capabilities and broke from time to time), I decided to do some bigger change. Since I knew opensource web app that has great file browsing capabilities, I decided to take advantage of it and rewrote my scripts to became ownCloud app. An so I did. It is simple and clumsy, but it does something. It can play movies and you can control the player from the WebUI. If you don’t care about security too much. And do few important security holes into your system.

Few non-obvious tricks for BananaPi. If you want accelerated video and composite video output, you have to use old sunxi 3.4 kernel (which doesn’t build with gcc 5). Apart from that you have to give quite some memory to graphics card. I used following on kernel command line:

sunxi_g2d_mem_reserve=32 sunxi_ve_mem_reserve=128 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=32

And to make it work, you need libvdpau-sunxi to get accelerated drivers and you probably also want xf86-video-fbturbo to have non-video Xorg faster as well. I made packages out of those and you can currently find them in my personal repository (together with kernel package) but don’t worry, I’ll be pushing them somewhere more official over the time (xf86-video-turbo should be in Factory already).

Everything ended well, in the end I switched from Raspberry Pi to something more powerful what can still bring my old CRT TV into 21st century. But I’m back at square one(with hopefully better technology to start with) and need to re-add features I got used to and learn a little bit more about ownCloud internals to be better/more efficient ownCloud developer 🙂

PS: Pull requests are welcome as I don’t know much about ownCloud or CSS or JavaScript or whatever it is I’m doing 🙂