Arduino Forum

Using Arduino => Project Guidance => Topic started by: ryangodammit on Nov 28, 2012, 09:51 am

Title: Which Arduino to buy to use with HD video
Post by: ryangodammit on Nov 28, 2012, 09:51 am
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
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 10:07 am
I don't know of any Arduino that could do what you want.
Title: Re: Which Arduino to buy to use with HD video
Post by: nickgammon on Nov 28, 2012, 10:23 am
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.
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 10:32 am

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.
Title: Re: Which Arduino to buy to use with HD video
Post by: Riva on Nov 28, 2012, 11:07 am
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 (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 (http://www.blackmagicdesign.com/products/decklink/ (http://www.blackmagicdesign.com/products/decklink/)) I'm sure there are probably dedicated video overlay chips that someone else can suggest.
Title: Re: Which Arduino to buy to use with HD video
Post by: Grumpy_Mike on Nov 28, 2012, 11:23 am
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.
Title: Re: Which Arduino to buy to use with HD video
Post by: holmes4 on Nov 28, 2012, 12:50 pm
Still be not a biginners project but this may do the job

http://www.coolcomponents.co.uk/catalog/video-experimenter-p-723.html (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
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 01:17 pm
Quote
this may do the job

For HD?
I think not.
Title: Re: Which Arduino to buy to use with HD video
Post by: Riva on Nov 28, 2012, 01:20 pm

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

Nice find, alas not HD.
Title: Re: Which Arduino to buy to use with HD video
Post by: holmes4 on Nov 28, 2012, 01:25 pm
Maybe one of hardware type would like to upgrade the idea for HD?

Mark
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 01:43 pm
Quote
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.
Title: Re: Which Arduino to buy to use with HD video
Post by: MichaelMeissner on Nov 28, 2012, 01:50 pm

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: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=30&t=23231 (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=30&t=23231)
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 02:44 pm

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 :P 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.)


 I see somebody asked a similar question two weeks ago in the r-pi forums, and didn't get much of an answer: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=30&t=23231 (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=30&t=23231)


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
Title: Re: Which Arduino to buy to use with HD video
Post by: Grumpy_Mike on Nov 28, 2012, 02:47 pm
Quote
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.

Quote
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
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 03:01 pm

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.


Title: Re: Which Arduino to buy to use with HD video
Post by: Grumpy_Mike on Nov 28, 2012, 03:26 pm
Quote
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.
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 03:38 pm

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?
Title: Re: Which Arduino to buy to use with HD video
Post by: Grumpy_Mike on Nov 28, 2012, 04:33 pm
Quote
Do you have a source for that information?

Have you seen the high level driver?
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 04:40 pm

Quote
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.  :smiley-mr-green:

Title: Re: Which Arduino to buy to use with HD video
Post by: Grumpy_Mike on Nov 28, 2012, 04:46 pm
Quote
There appear to be at leat three interfaces, a 3D, a 2D, and a general lower level interface.

These are all output modes.

Quote
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.
Title: Re: Which Arduino to buy to use with HD video
Post by: pico on Nov 28, 2012, 05:21 pm

While not 100% sure I am 99% sure.


I see. In other words, you are assuming.

BTW, I'm not sure what kind of video programming interface would be "output only". How do you expect to be able to program a card if you can't read even basic state information?

I've done a little bit of this kind of stuff myself, over the years. Obviously not as expert as you though, LOL.

So I guess we shall just have to wait to see if the truth of the matter lies in your 1% of uncertainty.  :smiley-mr-green:
Title: Re: Which Arduino to buy to use with HD video
Post by: ryangodammit on Nov 28, 2012, 06:21 pm
...so not necessarily the right piece of hardware at all
I have actually just ordered a raspberrypi too, to make a media centre, but I won't cancel my arduino order just yet, I'd love to learn more about it.

One reply interested me, talking about not processing the HD at all. Would this be possible, it's something that crossed my mind when I was originally thinking of this project- would this at all be possible with what I'm doing?
The problem with what I'm trying to achieve is that I need it to be real small- the arduino/raspberrypi are ideal.

So I guess I'll just see how things develop on both fronts to make this work.

Any other suggestions of where to start?
Title: Re: Which Arduino to buy to use with HD video
Post by: Riva on Nov 28, 2012, 07:33 pm
After much hunting the only domestic chip I can find that might do the job is a SII9573 as blurb says it supports HDMI in/out with OSD but I can find no other information on the chip (apart from $34.16 price) so don't if it's really suitable or what other support chips it may need.
Title: Re: Which Arduino to buy to use with HD video
Post by: holmes4 on Nov 28, 2012, 07:42 pm
Quote
One reply interested me, talking about not processing the HD at all. Would this be possible, it's something that crossed my mind when I was originally thinking of this project- would this at all be possible with what I'm doing?


No not really the analog kit I gave the link to appears to work by finding the h/v sync signals embeded in the analog video signal and then just adding its data at the right time to the video stream. On the analog systems there is no compression.

The HD signals are I believe compressed think MP4. So you would need to decompress, hold the frame in memory, add your data, and then recompress.

Mark
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 08:05 pm
Quote
The HD signals are I believe compressed think MP4

No, not at all.
Think baseband.
Title: Re: Which Arduino to buy to use with HD video
Post by: nickgammon on Nov 28, 2012, 08:39 pm

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 ...


You will have a lot more fun if for your first few projects you work through some of the (many) tutorials and ideas online. Just get up to speed on what it can do, and get your skills up. Then new ideas will naturally come to you. Good luck.
Title: Re: Which Arduino to buy to use with HD video
Post by: holmes4 on Nov 28, 2012, 08:49 pm
Quote
No, not at all.
Think baseband.


Mmmmmm are we talking about the same thing? I found this spec for HD video it shows mpeg2 as the compression method.http://www.hdv-info.org/HDVSpecifications.pdf (http://www.hdv-info.org/HDVSpecifications.pdf)

Mark

EDIT - Found two competing systems HDV and AVCHD the spec for which is here http://www.avchd-info.org/format/index.html (http://www.avchd-info.org/format/index.html)

M
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 08:53 pm
You're confusing how the image is stored and transmitted with how it is delivered to the (pretty dumb) display device. DVI and its largely compatible cousin HDMI do not carry compressed video.
Title: Re: Which Arduino to buy to use with HD video
Post by: nickgammon on Nov 28, 2012, 08:59 pm

Any other suggestions of where to start?


I think there is a chip that will impose text onto video, I think one of my amplifiers has that for when you enter setup mode. I'm guessing it synchronizes with the incoming video and then just forces it to white (for the duration of a pixel) when text needs to be displayed.

However that is hardly an Arduino, unless the Arduino tells the chip what to display (which could well be a use for it).
Title: Re: Which Arduino to buy to use with HD video
Post by: mkrumpus on Nov 28, 2012, 10:06 pm
I agree that if the requirement requires overlay onto an HD signal, then an Arduino isn't going to cut it.  I designed the Video Experimenter shield for Arduino, but this only works for a composite video signal.  It uses an LM1881 sync separator chip to detect the timing of the video signal, then in Arduino code you can overlay low-res monochrome pixels onto the video.  It works well for many applications, but is decidedly low-tech!
http://nootropicdesign.com/ve (http://nootropicdesign.com/ve)


Title: Re: Which Arduino to buy to use with HD video
Post by: ryangodammit on Nov 28, 2012, 10:09 pm


Any other suggestions of where to start?


I think there is a chip that will impose text onto video, I think one of my amplifiers has that for when you enter setup mode. I'm guessing it synchronizes with the incoming video and then just forces it to white (for the duration of a pixel) when text needs to be displayed.

However that is hardly an Arduino, unless the Arduino tells the chip what to display (which could well be a use for it).


This is more along the lines of what I was thinking.

Anyone have any experience/opinion on this matter?
Title: Re: Which Arduino to buy to use with HD video
Post by: AWOL on Nov 28, 2012, 10:14 pm
Useful Google terms "HDMI OSD"
Title: Re: Which Arduino to buy to use with HD video
Post by: deshi on Jan 28, 2013, 07:30 am
You could try using NeTV from Bunny Studios. It seems to be able to do what you want out of the box.
Title: Re: Which Arduino to buy to use with HD video
Post by: teckel on Jan 28, 2013, 07:42 am



Any other suggestions of where to start?


I think there is a chip that will impose text onto video, I think one of my amplifiers has that for when you enter setup mode. I'm guessing it synchronizes with the incoming video and then just forces it to white (for the duration of a pixel) when text needs to be displayed.

However that is hardly an Arduino, unless the Arduino tells the chip what to display (which could well be a use for it).


This is more along the lines of what I was thinking.

Anyone have any experience/opinion on this matter?


I think a better first Arduino project would be an LED blink.  Master that and then we'll talk.

Tim