IPTV box with BB

Hi, I need to design an IPTV box to play a fixed stream from a
internet tv channel. They use Flash, .flv container.
I would like to know if it is possible to do that with the actual
Beagleboard distros (Linux, Android, Ubuntu). I just need
audio/wi-fi/video output working. I would have to customize the
interface, since the board should start playing the stream at the
moment it is turned on.
Is it possible to add an Infrared remote interface?

If anyone is willing to test, the video playback is at http://www.ipb.org.br/tv/

Sorry for the rookie question, I am just starting at it, I was
thinking about using the Samsung S3C6410, but for the same price I can
have a Cortex-A8!

Regards,

Hi, I need to design an IPTV box to play a fixed stream from a
internet tv channel. They use Flash, .flv container.
I would like to know if it is possible to do that with the actual
Beagleboard distros (Linux, Android, Ubuntu). I just need
audio/wi-fi/video output working. I would have to customize the
interface, since the board should start playing the stream at the
moment it is turned on.

This sounds plausible. I'm trying to build a custom distribution to do
something similar (BeagleBox) but I'm still a ways away from getting to
the flash playback. You're welcome to help out if you'd like. :slight_smile:

As for the existing distros you would need a flash player. There is an
Adobe player for ARM:
http://focus.ti.com/docs/toolsw/folders/print/adobeflash-a8.html

There are also open source alternatives:
http://www.gnu.org/software/gnash/

And a technique for using external players launched from Firefox:
https://addons.mozilla.org/en-US/firefox/addon/flashvideoreplacer/

The advantage of using the existing distros is they are more likely to
have working audio than my project and you have the basic OS
infrastructure in place so you can focus on the application layer
problem. I haven't even thought about audio yet.

"Playing the stream at the moment it is turned on" is an interesting
requirement. Do you mean a 1-second boot or do you mean turn it on,
wait for normal booting to occur and then you get the flash-playback
application? The latter is easier - you just set up the init process to
launch your application. The former requires some tweaking in u-boot,
the kernel and the boot process.

Is it possible to add an Infrared remote interface?

You could add a USB IR or bluetooth receiver. I've only used the former
under Fedora (not on BeagleBoard) and the process is not for the faint
of heart. But maybe I didn't understand it well enough.

Hello Michael,

This sounds plausible. I'm trying to build a custom distribution to do
something similar (BeagleBox) but I'm still a ways away from getting to
the flash playback. You're welcome to help out if you'd like. :slight_smile:

Sounds like an interesting project, I would be glad to help but I
don´t think I have the skills for that. Maybe we can talk more about
that.

As for the existing distros you would need a flash player. There is an
Adobe player for ARM:
http://focus.ti.com/docs/toolsw/folders/print/adobeflash-a8.html

There are also open source alternatives:
GNU Gnash - GNU Project - Free Software Foundation

And a technique for using external players launched from Firefox:
https://addons.mozilla.org/en-US/firefox/addon/flashvideoreplacer/

The advantage of using the existing distros is they are more likely to
have working audio than my project and you have the basic OS
infrastructure in place so you can focus on the application layer
problem. I haven't even thought about audio yet.

Yes, I would like to stick to the existing distros. Are Ubuntu and
Android fully working on BeagleBoard? What about MythTV?

"Playing the stream at the moment it is turned on" is an interesting
requirement. Do you mean a 1-second boot or do you mean turn it on,
wait for normal booting to occur and then you get the flash-playback
application? The latter is easier - you just set up the init process to
launch your application. The former requires some tweaking in u-boot,
the kernel and the boot process.

It would be the second option... wait for regular boot and then launch
the player.
But if it possible to put the box on a "stand-by" process to take
less time during power-up, that would be great.

Is it possible to add an Infrared remote interface?

You could add a USB IR or bluetooth receiver. I've only used the former
under Fedora (not on BeagleBoard) and the process is not for the faint
of heart. But maybe I didn't understand it well enough.
--

Well, I have a Media Center remote, which works with a USB receiver.
Under Windows, the receiver driver replaces keyboard and mouse. Maybe
there is a similar driver for Linux. ?

Regards,

Thiago

Hello Michael,

Howdy.

Sounds like an interesting project, I would be glad to help but I
don�t think I have the skills for that. Maybe we can talk more about
that.

If you get interested in what its all about, drop me a line here or
privately and we can chat about it. It's half about learning how to
build the software from the ground up, half about actually producing
something useful.

Yes, I would like to stick to the existing distros. Are Ubuntu and
Android fully working on BeagleBoard? What about MythTV?

I've played with these but I'm no expert with them. I'll pass along
what I know (or think I know).

Ubuntu seems to be working moderately well, Rob Nelson has some
additional tweaks he makes to get it running with custom configs, I
believe. Possibly some additional hardware support (like SGX).
"Fully"? Not sure. Don't know if there is SGX(3D) and DSP(video)
support in off-the-shelf Ubuntu. Rob's versions may have them, however.
I also don't keep track of newer features (built in networking, for
example) in the xM version as my only board is a C4 rev. I've seen
various versions of Koen's Demo images that seem to have support for
both.

Android has a couple of projects around. I tried one version (though I
can't remember where it came from) and found it lacking for my needs -
it's targeted at handhelds and not set top boxes. You'd have to muck
with the UI to get it to be more targeted, I think (IMHO, of course). I
wouldn't run Android on an S-Video port though the DSS2 branch for the
kernel does seem to be in much better shape there than the older DSS
branch. HDMI seems clean in either case. The Android 3D accelerated
demos I tried flipped the display on its side with my HDMI monitor. I
got a kick out of that. Interestingly, I believe the Android images
worked with my PS2-to-USB keyboard/mouse while Koen's images did not.
So no solution is perfect.

MythTV? Not sure. I remember hearing about a port of it but I don't
know its public status. There was a Google Summer of Code project for
XBMC that apparently went well. Still, I haven't tried it either.
Narcissus (an automated image builder for the Angstrom project) has a
MythTV option you can select but I never got it working, not that I
tried overly hard.

I've built XBMC myself in the past so if I have a need for that I may
work on it myself. But my project has a much simpler near term goal -
just play internet video (Surf w/WebKit and the new Flash player for
ARM) without all the bells and whistles of an XBMC or MythTV. Tools
like that carry a lot of extra weight. Since I'm not looking to pull
from backend servers or play local DVDs or anything, I don't have those
features in my architecture. But I may add them later. I think MythTV
is on the wish list (something to consider down the road) since I use it
heavily at home to manage ripped videos.

It would be the second option... wait for regular boot and then launch
the player.

This is pretty much the state of existing distributions. You can build
your own "infrastructure" version via Narcissus, but I worry that
rebuilding it from source may not be so easy. Still, it's a good way to
get the underlying components in place quickly so you can focus on
user-space applications. Or you can tweak the Ubuntu or Android
distros. Ubuntu (to me) would be easier to tweak, unless they continue
ripping out all the stuff that used to work and replacing it with more
stuff the "kids" think is better (sorry, I'm just gettin' old).

But if it possible to put the box on a "stand-by" process to take
less time during power-up, that would be great.

There are multiple ways to do that. The simple one is screen blanking.
Looks like its off, but its not. The harder one involves power-saving
mode, which is more hardware intensive. I haven't researched that for
the BeagleBoard and frankly don't remember many conversation here about
it. So I don't know its current state, or if its even possible. Then
again, saving state to flash is going to be slow so coming out of power
state may not be a significant improvement. Hard to say. Check
eLinux.org - they have lots of info and may have pointers to help track
that one down.

Well, I have a Media Center remote, which works with a USB receiver.
Under Windows, the receiver driver replaces keyboard and mouse. Maybe
there is a similar driver for Linux. ?

If the device acts like a keyboard and mouse via a USB receiver, then
you're all set. BeagleBoard and Linux don't care - it's just a USB
keyboard and mouse. What you might have some trouble with is "special"
keys. That may require some mapping. Under X I use xmodmap and
xbindkeys to use those special keys (function keys,
Webcam/Email/Favorites/etc.). But that doesn't necessarily work all the
time.

However, if you use a USB receiver for the keyboard/mouse you will
probably want to use an external power supply. Don't try to power it
from the USB OTG port. I'm no EE but something tells me that may not
work.

Let me know what you choose. I"m interested in seeing how you're
project evolves.

Michael J. Hammel wrote:

Yes, but for now, it is good enough for me. The acutal stream I need
to playback is not in HD.

Thiago Rodrigues wrote:

Hi Rodrigues, Although the post is old , but I’m working in a similar project, please tell me what is your research reach till now ? , kind regards, SJ