Which Arduino to buy to use with HD video

Hi.

I'm fairly new to this whole arduino thing, so I'm not really sure which one to go with.

I have ordered the starter pack to introduce myself to it and teach myself how to use it, but I have a project in mind which involves laying text over HD video in various formats (1080p and 720p for starters).

Would there be one Arduino over another that would be better at handling the video?

Ryan

I don't know of any Arduino that could do what you want.

1080p format would be 1,920×1,080 = 2,073,600 pixels. Assuming a frame rate of 60 fps, then you need to draw 124,416,000 pixels per second, which is totally disregarding the front and back porch.

Therefore you have 8 nS (nanoseconds) for each pixel. Since the clock on most Arduinos is 62.5 nS it is way too slow to do that. Many instructions take two clock cycles, and to lay text over video you would need to make decisions, read the text, etc., all of which takes time.

Arduinos are great for process control, and handling slow to medium speed situations (eg. washing machines, dishwashers, plant watering, timing races, security systems, cat feeding, robots, etc.). For stuff like audio and video you need to go to faster (and more expensive) processors.

ryangodammit:
I have ordered the starter pack to introduce myself to it and teach myself how to use it, but I have a project in mind which involves laying text over HD video in various formats (1080p and 720p for starters).

Would there be one Arduino over another that would be better at handling the video?

Try the Arduino called "Raspberry Pi" (Just kidding. Not an Arduino, of course.)

But RPi does have the hardware grunt to do what you want (fast cpu, 512MB of ram, dedicated gpu), and are inexpensive.

If your overlaying text on live video then your probably going to need some external hardware no matter what microcontroller you use. I have seen cheap(ish) SD (standard definition) versions (http://www.decadenet.com/bob4/bob4.html) but not HD (high definition) versions. Only cheap(ish) thing I can think is to use a Raspberry-Pi and purchase a standalone HD DSK (Down Stream Keyer) or a PC with a Decklink Studio (DeckLink | Blackmagic Design) I'm sure there are probably dedicated video overlay chips that someone else can suggest.

Yes not a beginners project.

While the Pi will generate video at the required rate your main problem will be the synchronisation of the overlay video with the live video. This is not a simple matter and calls for a circuit called a genlock.
This means you having to use the sync pulses from one source to control the other source. I am not sure you can genlock the Pi to anything because the video drivers are secrete so you can't get at them. Therefore you would have to look to locking your video to your live source.

In the absence of this the alternative is called a frame store or buffer. Basically you write video into it and genlock the read video rate. These are expensive.

Still be not a biginners project but this may do the job

http://www.coolcomponents.co.uk/catalog/video-experimenter-p-723.html

the trick is not to put the video through the arduino its self.

Mark

this may do the job

For HD?
I think not.

holmes4:
http://www.coolcomponents.co.uk/catalog/video-experimenter-p-723.html

Nice find, alas not HD.

Maybe one of hardware type would like to upgrade the idea for HD?

Mark

Maybe one of hardware type would like to upgrade the idea for HD?

HDMI is something like 350MHz, 10Gbits-1.
Unlikely.
It is far, far less forgiving than analogue standards and equipment.

pico:
Try the Arduino called "Raspberry Pi" (Just kidding. Not an Arduino, of course.)

But RPi does have the hardware grunt to do what you want (fast cpu, 512MB of ram, dedicated gpu), and are inexpensive.

While the R-pi is clocked at 700 Mhz, but my impression is even at 700 Mhz, it would struggle to read a full 1080p stream in real-time. I see somebody asked a similar question two weeks ago in the r-pi forums, and didn't get much of an answer: Help with video overlay software - Raspberry Pi Forums

MichaelMeissner:
While the R-pi is clocked at 700 Mhz, but my impression is even at 700 Mhz, it would struggle to read a full 1080p stream in real-time.

Well, my Pi is clocked at 840MHz :stuck_out_tongue: These days, it's de rigeur to overclock your Pi if you want to be one of the "cool set". And if you want to be a "bad boy", you overvolt it as well (but you will have to endure the stigma (or cachet, depending on whom you are trying to impress) of having your warranty bit set.)

MichaelMeissner:
I see somebody asked a similar question two weeks ago in the r-pi forums, and didn't get much of an answer: Help with video overlay software - Raspberry Pi Forums

Well, given the high-level Broadcom gpu drivers have been made open source for just over a month now, I suspect it's still early days for the video geeks to have fully come to grips with now can be done that previously could not on the Pi. I expect that situation will evolve rapidly over the next few months -- should be interesting to watch.

http://www.raspberrypi.org/archives/2221

Well, given the high-level Broadcom gpu drivers have been made open source for just over a month now,

But it is not the high level drivers that this needs it is the low level drivers, they are still a secret.

Well, my Pi is clocked at 840MHz smiley-razz

Is that all, when you down load RISC OS, the default config file sets it at 1GHz

Grumpy_Mike:
But it is not the high level drivers that this needs it is the low level drivers, they are still a secret.

Is access beyond the what's available in the driver interfaces required to get timing signals onto gpio pins? Maybe, maybe not. I haven't seen a definitive list of the functionality the published gpu drivers expose. Early days.

Is access beyond the what's available in the driver interfaces required to get timing signals onto gpio pins?

It is getting at the timing signals that is the problem.

However that is not what you need to be able to do this project. You need to get the signals from the GPIO pins and use it to control the timing of the video output, that is something that is not available in the high level drivers.

Grumpy_Mike:
You need to get the signals from the GPIO pins and use it to control the timing of the video output, that is something that is not available in the high level drivers.

That's interesting. Do you have a source for that information?

Do you have a source for that information?

Have you seen the high level driver?

Grumpy_Mike:

Do you have a source for that information?

Have you seen the high level driver?

No. I've only read some descriptions of what people have found they can do with it so far. There appear to be at leat three interfaces, a 3D, a 2D, and a general lower level interface.

But you seem to have more certain knowledge as to exactly what the drivers can and can't do.

Do you have any sources of your information regarding that? I assume you're not just assuming. :grin:

There appear to be at leat three interfaces, a 3D, a 2D, and a general lower level interface.

These are all output modes.

I assume you're not just assuming

I know what the broadcom chip was designed to do. I used to work designing set top boxes. I can't point you to any information in the public domain other than the high level drivers. However, I know that this is the sort of thing that is outside the remit of the normal use for this chip so it is an almost impossible thing to do. While not 100% sure I am 99% sure.