Discussion:
[EE] What does it take to record video to SD?
Neil
2018-03-08 02:22:57 UTC
Permalink
I want to record video of at least 1.0MP to SSD (or other memory) for
about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
because of the OS (and more specifically the boot time), so wondering
what it would take to do this with a microcontroller.
I'm looking at camera modules similar to this...
https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html

I believe (haven't yet found a clear answer) that these cameras do 24
bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
mins = 900 MB to store raw data.
That's no prob with an SD card, but I expect bandwidth will be an issue,
so I'd need to compress it. This is where I draw a blank... what does
it take to compress video?

I'm clueless on video, so wondering if a microcontroller (say PIC32 or
ARM) would be able to accept TTL NTSC video at this rate and compress
it, and then store it. Or is there a specialized processor I can use to
accept the NTSC video stream and store it to SD?
Should I use some other protocol other than NTSC for this perhaps?

Cheers,
-Neil.

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Jean-Paul Louis
2018-03-08 04:00:17 UTC
Permalink
Neil,
That camera has only analog output, so you will need a fast ADC to record it.



> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>
> I want to record video of at least 1.0MP to SSD (or other memory) for
> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> because of the OS (and more specifically the boot time), so wondering
> what it would take to do this with a microcontroller.
> I'm looking at camera modules similar to this...
> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>
> I believe (haven't yet found a clear answer) that these cameras do 24
> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
> mins = 900 MB to store raw data.
> That's no prob with an SD card, but I expect bandwidth will be an issue,
> so I'd need to compress it. This is where I draw a blank... what does
> it take to compress video?
>
> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> ARM) would be able to accept TTL NTSC video at this rate and compress
> it, and then store it. Or is there a specialized processor I can use to
> accept the NTSC video stream and store it to SD?
> Should I use some other protocol other than NTSC for this perhaps?
>
> Cheers,
> -Neil.
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

Just my $0.02,

Jean-Paul
N1JPL




--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-08 04:31:38 UTC
Permalink
I discovered that too. Seems that the TTL NTSC means NTSC analog output
with TTL serial control.
I'll need to figure out how fast that ADC would need to be.

I now see JPEG camera modules... I need to figure out the protocol for that.

Cheers,
-Neil.



On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
> Neil,
> That camera has only analog output, so you will need a fast ADC to record it.
>
>
>
>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>>
>> I want to record video of at least 1.0MP to SSD (or other memory) for
>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>> because of the OS (and more specifically the boot time), so wondering
>> what it would take to do this with a microcontroller.
>> I'm looking at camera modules similar to this...
>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>
>> I believe (haven't yet found a clear answer) that these cameras do 24
>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>> mins = 900 MB to store raw data.
>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>> so I'd need to compress it. This is where I draw a blank... what does
>> it take to compress video?
>>
>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>> ARM) would be able to accept TTL NTSC video at this rate and compress
>> it, and then store it. Or is there a specialized processor I can use to
>> accept the NTSC video stream and store it to SD?
>> Should I use some other protocol other than NTSC for this perhaps?
>>
>> Cheers,
>> -Neil.
>>
>> --
>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>> View/change your membership options at
>> http://mailman.mit.edu/mailman/listinfo/piclist
> Just my $0.02,
>
> Jean-Paul
> N1JPL
>
>
>
>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Ryan O'Connor
2018-03-08 04:50:07 UTC
Permalink
JPEG usually means still frames. What about something like one of these?
They have the ADC on-chip already
http://www.arducam.com/camera-modules/2mp-mt9d111/

Ryan

On 8 March 2018 at 17:31, Neil <***@narwani.org> wrote:

> I discovered that too. Seems that the TTL NTSC means NTSC analog output
> with TTL serial control.
> I'll need to figure out how fast that ADC would need to be.
>
> I now see JPEG camera modules... I need to figure out the protocol for
> that.
>
> Cheers,
> -Neil.
>
>
>
> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
> > Neil,
> > That camera has only analog output, so you will need a fast ADC to
> record it.
> >
> >
> >
> >> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
> >>
> >> I want to record video of at least 1.0MP to SSD (or other memory) for
> >> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> >> because of the OS (and more specifically the boot time), so wondering
> >> what it would take to do this with a microcontroller.
> >> I'm looking at camera modules similar to this...
> >> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-
> FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
> >>
> >> I believe (haven't yet found a clear answer) that these cameras do 24
> >> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
> >> mins = 900 MB to store raw data.
> >> That's no prob with an SD card, but I expect bandwidth will be an issue,
> >> so I'd need to compress it. This is where I draw a blank... what does
> >> it take to compress video?
> >>
> >> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> >> ARM) would be able to accept TTL NTSC video at this rate and compress
> >> it, and then store it. Or is there a specialized processor I can use to
> >> accept the NTSC video stream and store it to SD?
> >> Should I use some other protocol other than NTSC for this perhaps?
> >>
> >> Cheers,
> >> -Neil.
> >>
> >> --
> >> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> >> View/change your membership options at
> >> http://mailman.mit.edu/mailman/listinfo/piclist
> > Just my $0.02,
> >
> > Jean-Paul
> > N1JPL
> >
> >
> >
> >
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-11 22:08:50 UTC
Permalink
Looking at this now... There seems to be no sleep mode, so I'd have to
have it shut off until needed, and I've not found anything yet that
indicates how long it would take to start recording from power-up.
I'm also unsure where the data will be held...there's no mention of
on-board storage, and I doubt an Arduino can capture video fast enough
though SPI.
Thinking I might pick one up to tinker with... when it's back in stock
though.

Cheers,
-Neil.



On 3/7/2018 11:50 PM, Ryan O'Connor wrote:
> JPEG usually means still frames. What about something like one of these?
> They have the ADC on-chip already
> http://www.arducam.com/camera-modules/2mp-mt9d111/
>
> Ryan
>
> On 8 March 2018 at 17:31, Neil <***@narwani.org> wrote:
>
>> I discovered that too. Seems that the TTL NTSC means NTSC analog output
>> with TTL serial control.
>> I'll need to figure out how fast that ADC would need to be.
>>
>> I now see JPEG camera modules... I need to figure out the protocol for
>> that.
>>
>> Cheers,
>> -Neil.
>>
>>
>>
>> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
>>> Neil,
>>> That camera has only analog output, so you will need a fast ADC to
>> record it.
>>>
>>>
>>>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>>>>
>>>> I want to record video of at least 1.0MP to SSD (or other memory) for
>>>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>>>> because of the OS (and more specifically the boot time), so wondering
>>>> what it would take to do this with a microcontroller.
>>>> I'm looking at camera modules similar to this...
>>>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-
>> FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>>> I believe (haven't yet found a clear answer) that these cameras do 24
>>>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>>>> mins = 900 MB to store raw data.
>>>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>>>> so I'd need to compress it. This is where I draw a blank... what does
>>>> it take to compress video?
>>>>
>>>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>>>> ARM) would be able to accept TTL NTSC video at this rate and compress
>>>> it, and then store it. Or is there a specialized processor I can use to
>>>> accept the NTSC video stream and store it to SD?
>>>> Should I use some other protocol other than NTSC for this perhaps?
>>>>
>>>> Cheers,
>>>> -Neil.
>>>>
>>>> --
>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>>>> View/change your membership options at
>>>> http://mailman.mit.edu/mailman/listinfo/piclist
>>> Just my $0.02,
>>>
>>> Jean-Paul
>>> N1JPL
>>>
>>>
>>>
>>>
>> --
>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>> View/change your membership options at
>> http://mailman.mit.edu/mailman/listinfo/piclist
>>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Jean-Paul Louis
2018-03-08 20:27:21 UTC
Permalink
Why not use a wifi IP canera? you can get one for less than $40.
http://hackaday.com/2018/03/05/customising-a-30-ip-camera-for-fun/



Just my $0.02,

Jean-Paul
N1JPL



> On Mar 7, 2018, at 11:31 PM, Neil <***@narwani.org> wrote:
>
> I discovered that too. Seems that the TTL NTSC means NTSC analog output
> with TTL serial control.
> I'll need to figure out how fast that ADC would need to be.
>
> I now see JPEG camera modules... I need to figure out the protocol for that.
>
> Cheers,
> -Neil.
>
>
>
> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
>> Neil,
>> That camera has only analog output, so you will need a fast ADC to record it.
>>
>>
>>
>>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>>>
>>> I want to record video of at least 1.0MP to SSD (or other memory) for
>>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>>> because of the OS (and more specifically the boot time), so wondering
>>> what it would take to do this with a microcontroller.
>>> I'm looking at camera modules similar to this...
>>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>>
>>> I believe (haven't yet found a clear answer) that these cameras do 24
>>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>>> mins = 900 MB to store raw data.
>>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>>> so I'd need to compress it. This is where I draw a blank... what does
>>> it take to compress video?
>>>
>>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>>> ARM) would be able to accept TTL NTSC video at this rate and compress
>>> it, and then store it. Or is there a specialized processor I can use to
>>> accept the NTSC video stream and store it to SD?
>>> Should I use some other protocol other than NTSC for this perhaps?
>>>
>>> Cheers,
>>> -Neil.
>>>
>>> --
>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>>> View/change your membership options at
>>> http://mailman.mit.edu/mailman/listinfo/piclist
>> Just my $0.02,
>>
>> Jean-Paul
>> N1JPL
>>
>>
>>
>>
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist


--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-11 23:12:11 UTC
Permalink
I don't have WiFi available and I want to DIY this as I want to get my
feet wet with video.

Here's more info on what I'm trying to do...
I have a few warehouses with some of my cars and other stuff, and after
a couple break-ins, I want to make a device that I can mount on the wall
outside to record video once it detects motion.
I won't have access to power, so it will have to be battery powered.
This is why I don't want an O.S, because the boot time would miss
critical video as soon as it detects motion. I don't want to go with
canned solution as I want to tie various sensors to it, and some
specific interfaces.
I don't need HD video as it seems 600-line video is decent for security
systems.

Cheers,
-Neil.




On 3/8/2018 3:27 PM, Jean-Paul Louis wrote:
> Why not use a wifi IP canera? you can get one for less than $40.
> http://hackaday.com/2018/03/05/customising-a-30-ip-camera-for-fun/
>
>
>
> Just my $0.02,
>
> Jean-Paul
> N1JPL
>
>
>
>> On Mar 7, 2018, at 11:31 PM, Neil <***@narwani.org> wrote:
>>
>> I discovered that too. Seems that the TTL NTSC means NTSC analog output
>> with TTL serial control.
>> I'll need to figure out how fast that ADC would need to be.
>>
>> I now see JPEG camera modules... I need to figure out the protocol for that.
>>
>> Cheers,
>> -Neil.
>>
>>
>>
>> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
>>> Neil,
>>> That camera has only analog output, so you will need a fast ADC to record it.
>>>
>>>
>>>
>>>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>>>>
>>>> I want to record video of at least 1.0MP to SSD (or other memory) for
>>>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>>>> because of the OS (and more specifically the boot time), so wondering
>>>> what it would take to do this with a microcontroller.
>>>> I'm looking at camera modules similar to this...
>>>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>>>
>>>> I believe (haven't yet found a clear answer) that these cameras do 24
>>>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>>>> mins = 900 MB to store raw data.
>>>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>>>> so I'd need to compress it. This is where I draw a blank... what does
>>>> it take to compress video?
>>>>
>>>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>>>> ARM) would be able to accept TTL NTSC video at this rate and compress
>>>> it, and then store it. Or is there a specialized processor I can use to
>>>> accept the NTSC video stream and store it to SD?
>>>> Should I use some other protocol other than NTSC for this perhaps?
>>>>
>>>> Cheers,
>>>> -Neil.
>>>>
>>>> --
>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>>>> View/change your membership options at
>>>> http://mailman.mit.edu/mailman/listinfo/piclist
>>> Just my $0.02,
>>>
>>> Jean-Paul
>>> N1JPL
>>>
>>>
>>>
>>>
>> --
>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>> View/change your membership options at
>> http://mailman.mit.edu/mailman/listinfo/piclist
>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Ryan O'Connor
2018-03-11 23:22:16 UTC
Permalink
If you're doing it for the goal of learning, maybe you could use an FPGA
development board instead and learn HDL :D then you could take in the
analogue or digital video signal and parallel process it into H.264 MPEG,
writing output to the SD Card all on one chip. The solution would easily
scale later if you needed to rebuild it to handle 4K video :D

Ryan

On 12 March 2018 at 12:12, Neil <***@narwani.org> wrote:

> I don't have WiFi available and I want to DIY this as I want to get my
> feet wet with video.
>
> Here's more info on what I'm trying to do...
> I have a few warehouses with some of my cars and other stuff, and after
> a couple break-ins, I want to make a device that I can mount on the wall
> outside to record video once it detects motion.
> I won't have access to power, so it will have to be battery powered.
> This is why I don't want an O.S, because the boot time would miss
> critical video as soon as it detects motion. I don't want to go with
> canned solution as I want to tie various sensors to it, and some
> specific interfaces.
> I don't need HD video as it seems 600-line video is decent for security
> systems.
>
> Cheers,
> -Neil.
>
>
>
>
> On 3/8/2018 3:27 PM, Jean-Paul Louis wrote:
> > Why not use a wifi IP canera? you can get one for less than $40.
> > http://hackaday.com/2018/03/05/customising-a-30-ip-camera-for-fun/
> >
> >
> >
> > Just my $0.02,
> >
> > Jean-Paul
> > N1JPL
> >
> >
> >
> >> On Mar 7, 2018, at 11:31 PM, Neil <***@narwani.org> wrote:
> >>
> >> I discovered that too. Seems that the TTL NTSC means NTSC analog output
> >> with TTL serial control.
> >> I'll need to figure out how fast that ADC would need to be.
> >>
> >> I now see JPEG camera modules... I need to figure out the protocol for
> that.
> >>
> >> Cheers,
> >> -Neil.
> >>
> >>
> >>
> >> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
> >>> Neil,
> >>> That camera has only analog output, so you will need a fast ADC to
> record it.
> >>>
> >>>
> >>>
> >>>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
> >>>>
> >>>> I want to record video of at least 1.0MP to SSD (or other memory) for
> >>>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> >>>> because of the OS (and more specifically the boot time), so wondering
> >>>> what it would take to do this with a microcontroller.
> >>>> I'm looking at camera modules similar to this...
> >>>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-
> FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
> >>>>
> >>>> I believe (haven't yet found a clear answer) that these cameras do 24
> >>>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x
> 5
> >>>> mins = 900 MB to store raw data.
> >>>> That's no prob with an SD card, but I expect bandwidth will be an
> issue,
> >>>> so I'd need to compress it. This is where I draw a blank... what does
> >>>> it take to compress video?
> >>>>
> >>>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> >>>> ARM) would be able to accept TTL NTSC video at this rate and compress
> >>>> it, and then store it. Or is there a specialized processor I can use
> to
> >>>> accept the NTSC video stream and store it to SD?
> >>>> Should I use some other protocol other than NTSC for this perhaps?
> >>>>
> >>>> Cheers,
> >>>> -Neil.
> >>>>
> >>>> --
> >>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> >>>> View/change your membership options at
> >>>> http://mailman.mit.edu/mailman/listinfo/piclist
> >>> Just my $0.02,
> >>>
> >>> Jean-Paul
> >>> N1JPL
> >>>
> >>>
> >>>
> >>>
> >> --
> >> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> >> View/change your membership options at
> >> http://mailman.mit.edu/mailman/listinfo/piclist
> >
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-12 04:04:30 UTC
Permalink
Coincidentally, I just picked up a book on FPGAs and then quickly
decided that it would take some time to learn. But I'm torn with this
path as past experience has told me to attack one technology at a time.

Cheers,
-Neil.





On 3/11/2018 7:22 PM, Ryan O'Connor wrote:
> If you're doing it for the goal of learning, maybe you could use an FPGA
> development board instead and learn HDL :D then you could take in the
> analogue or digital video signal and parallel process it into H.264 MPEG,
> writing output to the SD Card all on one chip. The solution would easily
> scale later if you needed to rebuild it to handle 4K video :D
>
> Ryan
>
> On 12 March 2018 at 12:12, Neil <***@narwani.org> wrote:
>
>> I don't have WiFi available and I want to DIY this as I want to get my
>> feet wet with video.
>>
>> Here's more info on what I'm trying to do...
>> I have a few warehouses with some of my cars and other stuff, and after
>> a couple break-ins, I want to make a device that I can mount on the wall
>> outside to record video once it detects motion.
>> I won't have access to power, so it will have to be battery powered.
>> This is why I don't want an O.S, because the boot time would miss
>> critical video as soon as it detects motion. I don't want to go with
>> canned solution as I want to tie various sensors to it, and some
>> specific interfaces.
>> I don't need HD video as it seems 600-line video is decent for security
>> systems.
>>
>> Cheers,
>> -Neil.
>>
>>
>>
>>
>> On 3/8/2018 3:27 PM, Jean-Paul Louis wrote:
>>> Why not use a wifi IP canera? you can get one for less than $40.
>>> http://hackaday.com/2018/03/05/customising-a-30-ip-camera-for-fun/
>>>
>>>
>>>
>>> Just my $0.02,
>>>
>>> Jean-Paul
>>> N1JPL
>>>
>>>
>>>
>>>> On Mar 7, 2018, at 11:31 PM, Neil <***@narwani.org> wrote:
>>>>
>>>> I discovered that too. Seems that the TTL NTSC means NTSC analog output
>>>> with TTL serial control.
>>>> I'll need to figure out how fast that ADC would need to be.
>>>>
>>>> I now see JPEG camera modules... I need to figure out the protocol for
>> that.
>>>> Cheers,
>>>> -Neil.
>>>>
>>>>
>>>>
>>>> On 3/7/2018 11:00 PM, Jean-Paul Louis wrote:
>>>>> Neil,
>>>>> That camera has only analog output, so you will need a fast ADC to
>> record it.
>>>>>
>>>>>
>>>>>> On Mar 7, 2018, at 9:22 PM, Neil <***@narwani.org> wrote:
>>>>>>
>>>>>> I want to record video of at least 1.0MP to SSD (or other memory) for
>>>>>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>>>>>> because of the OS (and more specifically the boot time), so wondering
>>>>>> what it would take to do this with a microcontroller.
>>>>>> I'm looking at camera modules similar to this...
>>>>>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-
>> FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>>>>> I believe (haven't yet found a clear answer) that these cameras do 24
>>>>>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x
>> 5
>>>>>> mins = 900 MB to store raw data.
>>>>>> That's no prob with an SD card, but I expect bandwidth will be an
>> issue,
>>>>>> so I'd need to compress it. This is where I draw a blank... what does
>>>>>> it take to compress video?
>>>>>>
>>>>>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>>>>>> ARM) would be able to accept TTL NTSC video at this rate and compress
>>>>>> it, and then store it. Or is there a specialized processor I can use
>> to
>>>>>> accept the NTSC video stream and store it to SD?
>>>>>> Should I use some other protocol other than NTSC for this perhaps?
>>>>>>
>>>>>> Cheers,
>>>>>> -Neil.
>>>>>>
>>>>>> --
>>>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>>>>>> View/change your membership options at
>>>>>> http://mailman.mit.edu/mailman/listinfo/piclist
>>>>> Just my $0.02,
>>>>>
>>>>> Jean-Paul
>>>>> N1JPL
>>>>>
>>>>>
>>>>>
>>>>>
>>>> --
>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>>>> View/change your membership options at
>>>> http://mailman.mit.edu/mailman/listinfo/piclist
>> --
>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>> View/change your membership options at
>> http://mailman.mit.edu/mailman/listinfo/piclist
>>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
a***@stfc.ac.uk
2018-03-12 09:24:13 UTC
Permalink
> I don't have WiFi available and I want to DIY this as I want to get my feet wet with video.
>
> Here's more info on what I'm trying to do...
> I have a few warehouses with some of my cars and other stuff, and after a couple break-ins, I want to
> make a device that I can mount on the wall outside to record video once it detects motion.
> I won't have access to power, so it will have to be battery powered.
> This is why I don't want an O.S, because the boot time would miss critical video as soon as it detects
> motion. I don't want to go with canned solution as I want to tie various sensors to it, and some
> specific interfaces.
> I don't need HD video as it seems 600-line video is decent for security systems.

Quite frankly a Raspberry Pi with camera run off a battery is all you need. I would suggest a 6V motorcycle battery float charged off a solar panel if there is no power source available. If you are attending it on a regular basis then such a battery would probably allow the Pi to run 24/7 without a float charge and you have some auxiliary battery to charge it from while in attendance. A switching regulator down to 5/3.3V as required would keep the voltage at the Pi stable. This way you have the Pi to do the smarts for motion detection, buffering and storage to SD/USB. The Pi camera is very small and could be looking through a miniscule hole. There is a Pi Noir camera which has the IR filter removed for night use if that works for you.

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Bob Blick
2018-03-12 13:42:44 UTC
Permalink
Hi Neil,

I have a "wildlife camera" and it's pretty much exactly what you describe. It does video clips or stills, has an automatic IR filter and illumination, time and date stamp, runs on C cells and writes to SD card. And it's in a camo case :)

Bob

________________________________________
From: piclist-***@mit.edu <piclist-***@mit.edu> on behalf of Neil
Sent: Sunday, March 11, 2018 4:12 PM
To: Microcontroller discussion list - Public.
Subject: Re: [EE] What does it take to record video to SD?

I don't have WiFi available and I want to DIY this as I want to get my
feet wet with video.

Here's more info on what I'm trying to do...
I have a few warehouses with some of my cars and other stuff, and after
a couple break-ins, I want to make a device that I can mount on the wall
outside to record video once it detects motion.
I won't have access to power, so it will have to be battery powered.
This is why I don't want an O.S, because the boot time would miss
critical video as soon as it detects motion. I don't want to go with
canned solution as I want to tie various sensors to it, and some
specific interfaces.
I don't need HD video as it seems 600-line video is decent for security
systems.

Cheers,
-Neil.



--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Isaac M. Bavaresco
2018-03-08 14:13:10 UTC
Permalink
Neil,


An  ARM Cortex-M7 like Atmel's ATSAME7, ATSAMS7 or ATSAMV7 should be enough.

They are 32-bit Cortex-M7 @ 300 MHz with 384 KiB SRAM, CIS (CMOS Image
Sensor) interface, HSMCI (High-Speed Multimedia Card Interface),
High-Speed USB and DMA.

The CMOS Image Sensor can capture real-time video and the HSMCI
interface should be able to push the SD-Card on full bandwith.

I don't know if the ADC is fast enough to capture analog video.


Cheers,

Isaac



Em 07/03/2018 23:22, Neil escreveu:
> I want to record video of at least 1.0MP to SSD (or other memory) for
> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> because of the OS (and more specifically the boot time), so wondering
> what it would take to do this with a microcontroller.
> I'm looking at camera modules similar to this...
> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>
> I believe (haven't yet found a clear answer) that these cameras do 24
> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
> mins = 900 MB to store raw data.
> That's no prob with an SD card, but I expect bandwidth will be an issue,
> so I'd need to compress it. This is where I draw a blank... what does
> it take to compress video?
>
> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> ARM) would be able to accept TTL NTSC video at this rate and compress
> it, and then store it. Or is there a specialized processor I can use to
> accept the NTSC video stream and store it to SD?
> Should I use some other protocol other than NTSC for this perhaps?
>
> Cheers,
> -Neil.
>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listin
Neil
2018-03-11 22:55:02 UTC
Permalink
Oh, nice. Found it, and there's a $38 dev board so this should be easy
to tinker with.

Cheers,
-Neil.




On 3/8/2018 9:13 AM, Isaac M. Bavaresco wrote:
> Neil,
>
>
> An ARM Cortex-M7 like Atmel's ATSAME7, ATSAMS7 or ATSAMV7 should be enough.
>
> They are 32-bit Cortex-M7 @ 300 MHz with 384 KiB SRAM, CIS (CMOS Image
> Sensor) interface, HSMCI (High-Speed Multimedia Card Interface),
> High-Speed USB and DMA.
>
> The CMOS Image Sensor can capture real-time video and the HSMCI
> interface should be able to push the SD-Card on full bandwith.
>
> I don't know if the ADC is fast enough to capture analog video.
>
>
> Cheers,
>
> Isaac
>
>
>
> Em 07/03/2018 23:22, Neil escreveu:
>> I want to record video of at least 1.0MP to SSD (or other memory) for
>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>> because of the OS (and more specifically the boot time), so wondering
>> what it would take to do this with a microcontroller.
>> I'm looking at camera modules similar to this...
>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>
>> I believe (haven't yet found a clear answer) that these cameras do 24
>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>> mins = 900 MB to store raw data.
>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>> so I'd need to compress it. This is where I draw a blank... what does
>> it take to compress video?
>>
>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>> ARM) would be able to accept TTL NTSC video at this rate and compress
>> it, and then store it. Or is there a specialized processor I can use to
>> accept the NTSC video stream and store it to SD?
>> Should I use some other protocol other than NTSC for this perhaps?
>>
>> Cheers,
>> -Neil.
>>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Manu Abraham
2018-03-08 14:41:57 UTC
Permalink
Hi Neil,

It's not really clear from your mail ..

If you are looking at an analog camera:

You would first need a digital video decoder to interface that signal
to a CPU, which can eventually send it to an encoder or stream it
elsewhere. Additionally, you need to check whether your CPU is able to
handle the memory bandwidth required to handle the stream.

You did not mention what interface you were looking at, so generally,

Some video decoders that you can look at:

http://www.sacg.com.tw/sacweb/marcom/epaper/images/SAA7136_Sep04.pdf
https://www.akm.com/akm/en/file/datasheet/AK8854VQ.pdf
http://www.ti.com/pdfs/vf/vidimg/tvp5150_pb.pdf
https://www.maximintegrated.com/en/products/analog/video-products/MAX9526.html
https://www.intersil.com/en/products/audiovideo/video-decoders-encoders/video-decoders/TW9960.html

These are some of the standard decoders that comes to my mind. There
are of course quite more of them.
The bitstream rate needs to be calculated from the video decoder
output format. The decoders do allow you set different formats with
them. Eventually, you quickly realize that you need to write a driver
for these video decoders. Of course, I 'am fairly certain that quite a
large number of the ARM microcontrollers can handle them.

If you have a digital camera module, some mid range ARM
microcntrollers they have DCMI, MIPI interfaces to which you can
connect the camera directly to.


Cheers,

Manu


On Thu, Mar 8, 2018 at 7:52 AM, Neil <***@narwani.org> wrote:
> I want to record video of at least 1.0MP to SSD (or other memory) for
> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> because of the OS (and more specifically the boot time), so wondering
> what it would take to do this with a microcontroller.
> I'm looking at camera modules similar to this...
> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>
> I believe (haven't yet found a clear answer) that these cameras do 24
> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
> mins = 900 MB to store raw data.
> That's no prob with an SD card, but I expect bandwidth will be an issue,
> so I'd need to compress it. This is where I draw a blank... what does
> it take to compress video?
>
> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> ARM) would be able to accept TTL NTSC video at this rate and compress
> it, and then store it. Or is there a specialized processor I can use to
> accept the NTSC video stream and store it to SD?
> Should I use some other protocol other than NTSC for this perhaps?
>
> Cheers,
> -Neil.
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-11 23:05:19 UTC
Permalink
No, it does not need to be analog. Anything low cost is fine, and I
thought that would be analog. But since posting the start of this
thread, I've found that there are more interfaces out there.
This is great. I'm still trying to get a high-level feel for what what
the common and low-cost interface formats are, and what are the various
ways to interface with those.
Thanks for the info.

Cheers,
-Neil.




On 3/8/2018 9:41 AM, Manu Abraham wrote:
> Hi Neil,
>
> It's not really clear from your mail ..
>
> If you are looking at an analog camera:
>
> You would first need a digital video decoder to interface that signal
> to a CPU, which can eventually send it to an encoder or stream it
> elsewhere. Additionally, you need to check whether your CPU is able to
> handle the memory bandwidth required to handle the stream.
>
> You did not mention what interface you were looking at, so generally,
>
> Some video decoders that you can look at:
>
> http://www.sacg.com.tw/sacweb/marcom/epaper/images/SAA7136_Sep04.pdf
> https://www.akm.com/akm/en/file/datasheet/AK8854VQ.pdf
> http://www.ti.com/pdfs/vf/vidimg/tvp5150_pb.pdf
> https://www.maximintegrated.com/en/products/analog/video-products/MAX9526.html
> https://www.intersil.com/en/products/audiovideo/video-decoders-encoders/video-decoders/TW9960.html
>
> These are some of the standard decoders that comes to my mind. There
> are of course quite more of them.
> The bitstream rate needs to be calculated from the video decoder
> output format. The decoders do allow you set different formats with
> them. Eventually, you quickly realize that you need to write a driver
> for these video decoders. Of course, I 'am fairly certain that quite a
> large number of the ARM microcontrollers can handle them.
>
> If you have a digital camera module, some mid range ARM
> microcntrollers they have DCMI, MIPI interfaces to which you can
> connect the camera directly to.
>
>
> Cheers,
>
> Manu
>
>
> On Thu, Mar 8, 2018 at 7:52 AM, Neil <***@narwani.org> wrote:
>> I want to record video of at least 1.0MP to SSD (or other memory) for
>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>> because of the OS (and more specifically the boot time), so wondering
>> what it would take to do this with a microcontroller.
>> I'm looking at camera modules similar to this...
>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>
>> I believe (haven't yet found a clear answer) that these cameras do 24
>> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
>> mins = 900 MB to store raw data.
>> That's no prob with an SD card, but I expect bandwidth will be an issue,
>> so I'd need to compress it. This is where I draw a blank... what does
>> it take to compress video?
>>
>> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
>> ARM) would be able to accept TTL NTSC video at this rate and compress
>> it, and then store it. Or is there a specialized processor I can use to
>> accept the NTSC video stream and store it to SD?
>> Should I use some other protocol other than NTSC for this perhaps?
>>
>> Cheers,
>> -Neil.
>>
>> --
>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
>> View/change your membership options at
>> http://mailman.mit.edu/mailman/listinfo/piclist

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
RussellMc
2018-03-08 23:27:43 UTC
Permalink
On 8 March 2018 at 15:22, Neil <***@narwani.org> wrote:

​Peripheral thought: If video data is digital serial (probably not?) and if
you need to "stretch your available data handling bandwidth" (and from the
ARM based answers so far it seems that you probably don't), then the
trivial but useful method of using an external serial to parallel register
and then copying it in parallel directly to your parallel data output may
be of use. The incoming serial clock can be say 8x your available processor
clock rate (not necessarily clock per se) and locked to it in some way.
The register is
​serial ​
loaded then parallel output(ed).

Obviously 'little things' like synchronisation and other timing/coding
signals 'will need work'. If you wanted a REALLY crude but possibly
workable system you could possibly save the incoming data signal date
framing and all to SD and then interpret it latterly when reading the
stored data.

A much easier and common olde use of the inverse of this was used by eg the
Sinclair ZX80 (and numerous other systems) to output video data at bit
rates above the processor capability. (The Z80 was designed to achieve such
methods making life even easier).

Russell
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options a
James Cameron
2018-03-09 00:10:39 UTC
Permalink
I'd look for a USB camera sensor with mpeg built-in, so that the host
CPU would only need;

- a USB controller and stack,

- an SD controller and stack,

- a filesystem stack,

- probing for the USB device and asking for the stream,

- reframing the stream into whatever format is desired.

An RTOS of some sort would be handy.

A complete OS just makes it too easy, no challenge.

For quick hackable prototypes, perhaps BeagleBone or a Raspberry Pi
Zero with camera. The latter would take me about half an hour to
configure for the application described in this thread; camera to
microSD card.

--
James Cameron
http://quozl.netrek.org/
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-12 03:42:22 UTC
Permalink
I mentioned a bit earlier today that I'm avoiding OS'es due to boot time
or even wake time... it will be battery powered. The camera needs to
start recording ASAP after getting a trigger signal from one of a few
sources, and then waking up. USB will introduce another delay..

On the other hand, I did mentally tinker with the idea of just stopping
the clock on an R-Pi and shutting down most peripherals. On power up.a
small PIC or other uC could re-power-up all peripherals on the Pi and
re-start the clock to the R-Pi and it *should* be none the wiser. But I
still want to learn about video, so not pursuing this option currently.

Cheers,
-Neil.


On 3/8/2018 7:10 PM, James Cameron wrote:
> I'd look for a USB camera sensor with mpeg built-in, so that the host
> CPU would only need;
>
> - a USB controller and stack,
>
> - an SD controller and stack,
>
> - a filesystem stack,
>
> - probing for the USB device and asking for the stream,
>
> - reframing the stream into whatever format is desired.
>
> An RTOS of some sort would be handy.
>
> A complete OS just makes it too easy, no challenge.
>
> For quick hackable prototypes, perhaps BeagleBone or a Raspberry Pi
> Zero with camera. The latter would take me about half an hour to
> configure for the application described in this thread; camera to
> microSD card.
>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
James Cameron
2018-03-12 04:05:36 UTC
Permalink
An RTOS should be able to enumerate both buses and start streaming
within half a second.

A non-RTOS can be used to prove the hardware works before writing the
RTOS tasks.

On Sun, Mar 11, 2018 at 11:42:22PM -0400, Neil wrote:
> I mentioned a bit earlier today that I'm avoiding OS'es due to boot time
> or even wake time... it will be battery powered. The camera needs to
> start recording ASAP after getting a trigger signal from one of a few
> sources, and then waking up. USB will introduce another delay..
>
> On the other hand, I did mentally tinker with the idea of just stopping
> the clock on an R-Pi and shutting down most peripherals. On power up.a
> small PIC or other uC could re-power-up all peripherals on the Pi and
> re-start the clock to the R-Pi and it *should* be none the wiser. But I
> still want to learn about video, so not pursuing this option currently.
>
> Cheers,
> -Neil.
>
>
> On 3/8/2018 7:10 PM, James Cameron wrote:
> > I'd look for a USB camera sensor with mpeg built-in, so that the host
> > CPU would only need;
> >
> > - a USB controller and stack,
> >
> > - an SD controller and stack,
> >
> > - a filesystem stack,
> >
> > - probing for the USB device and asking for the stream,
> >
> > - reframing the stream into whatever format is desired.
> >
> > An RTOS of some sort would be handy.
> >
> > A complete OS just makes it too easy, no challenge.
> >
> > For quick hackable prototypes, perhaps BeagleBone or a Raspberry Pi
> > Zero with camera. The latter would take me about half an hour to
> > configure for the application described in this thread; camera to
> > microSD card.
> >
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

--
James Cameron
http://quozl.netrek.org/
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
a***@stfc.ac.uk
2018-03-12 09:56:04 UTC
Permalink
> On the other hand, I did mentally tinker with the idea of just stopping the clock on an R-Pi and
> shutting down most peripherals.

I wouldn't worry, a small SLA should allow it to run continuously.

> On power up.a small PIC or other uC could re-power-up all peripherals on the Pi and re-start the
> clock to the R-Pi and it *should* be none the wiser. But I still want to learn about video, so not
> pursuing this option currently.

The problem there is that you are letting yourself in for dealing with high speed signals that have their own hassles. Depends how much time you want to spend on it to get everything running how you want.

Note that devices like the R-Pi don't have the processor deal with the video, that is done separately in a high speed chip, then dumped to the processor through DMA or dual port memory.

If you do wish to pursue this route I suggest starting with a R-Pi camera and using an FPGA to interface to it.



--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-12 03:29:14 UTC
Permalink
Not bad, though some years ago I got over my seemingly obsessive need to
optimize processor selection so there was no resources left wasted.
Today, I all for spending the 20 cents and throwing more hardware at the
problem. Life's too short ;)

Cheers,
-Neil.



On 3/8/2018 6:27 PM, RussellMc wrote:
> On 8 March 2018 at 15:22, Neil <***@narwani.org> wrote:
>
> ​Peripheral thought: If video data is digital serial (probably not?) and if
> you need to "stretch your available data handling bandwidth" (and from the
> ARM based answers so far it seems that you probably don't), then the
> trivial but useful method of using an external serial to parallel register
> and then copying it in parallel directly to your parallel data output may
> be of use. The incoming serial clock can be say 8x your available processor
> clock rate (not necessarily clock per se) and locked to it in some way.
> The register is
> ​serial ​
> loaded then parallel output(ed).
>
> Obviously 'little things' like synchronisation and other timing/coding
> signals 'will need work'. If you wanted a REALLY crude but possibly
> workable system you could possibly save the incoming data signal date
> framing and all to SD and then interpret it latterly when reading the
> stored data.
>
> A much easier and common olde use of the inverse of this was used by eg the
> Sinclair ZX80 (and numerous other systems) to output video data at bit
> rates above the processor capability. (The Z80 was designed to achieve such
> methods making life even easier).
>
> Russell

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/picli
Bob Blick
2018-03-09 00:01:59 UTC
Permalink
Hi Neil,

Have you seen this document?

http://www.st.com/content/ccc/resource/technical/document/application_note/group0/c0/ef/15/38/d1/d6/49/88/DM00373474/files/DM00373474.pdf/jcr:content/translations/en.DM00373474.pdf

It covers a lot of the details of cameras with digital interfaces.

There are a couple of STM32 Discovery boards that already have the camera connector, so there's demo code for them too.

Friendly regards,

Bob

________________________________________
From: piclist-***@mit.edu <piclist-***@mit.edu> on behalf of Neil
Sent: Wednesday, March 7, 2018 6:22 PM
To: Microcontroller discussion list - Public.; Microcontroller discussion list - Public.
Subject: [EE] What does it take to record video to SD?

I want to record video of at least 1.0MP to SSD (or other memory) for
about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
because of the OS (and more specifically the boot time), so wondering
what it would take to do this with a microcontroller.
I'm looking at camera modules similar to this...
https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html

I believe (haven't yet found a clear answer) that these cameras do 24
bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
mins = 900 MB to store raw data.
That's no prob with an SD card, but I expect bandwidth will be an issue,
so I'd need to compress it. This is where I draw a blank... what does
it take to compress video?

I'm clueless on video, so wondering if a microcontroller (say PIC32 or
ARM) would be able to accept TTL NTSC video at this rate and compress
it, and then store it. Or is there a specialized processor I can use to
accept the NTSC video stream and store it to SD?
Should I use some other protocol other than NTSC for this perhaps?

Cheers,
-Neil.

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-12 03:31:46 UTC
Permalink
No, I had not. This is really what I needed first... and still need.
Awesome!

Thanks,
-Neil.


On 3/8/2018 7:01 PM, Bob Blick wrote:
> Hi Neil,
>
> Have you seen this document?
>
> http://www.st.com/content/ccc/resource/technical/document/application_note/group0/c0/ef/15/38/d1/d6/49/88/DM00373474/files/DM00373474.pdf/jcr:content/translations/en.DM00373474.pdf
>
> It covers a lot of the details of cameras with digital interfaces.
>
> There are a couple of STM32 Discovery boards that already have the camera connector, so there's demo code for them too.
>
> Friendly regards,
>
> Bob
>
> ________________________________________
> From: piclist-***@mit.edu <piclist-***@mit.edu> on behalf of Neil
> Sent: Wednesday, March 7, 2018 6:22 PM
> To: Microcontroller discussion list - Public.; Microcontroller discussion list - Public.
> Subject: [EE] What does it take to record video to SD?
>
> I want to record video of at least 1.0MP to SSD (or other memory) for
> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> because of the OS (and more specifically the boot time), so wondering
> what it would take to do this with a microcontroller.
> I'm looking at camera modules similar to this...
> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>
> I believe (haven't yet found a clear answer) that these cameras do 24
> bpp (Is this correct?), and if so I'd need 1 MP x 3 bytes x 60 secs x 5
> mins = 900 MB to store raw data.
> That's no prob with an SD card, but I expect bandwidth will be an issue,
> so I'd need to compress it. This is where I draw a blank... what does
> it take to compress video?
>
> I'm clueless on video, so wondering if a microcontroller (say PIC32 or
> ARM) would be able to accept TTL NTSC video at this rate and compress
> it, and then store it. Or is there a specialized processor I can use to
> accept the NTSC video stream and store it to SD?
> Should I use some other protocol other than NTSC for this perhaps?
>
> Cheers,
> -Neil.
>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Mike Rigby-Jones
2018-03-09 08:00:54 UTC
Permalink
The easiest, (and cheapest) option would be to buy a basic car dash cam
which appears to be a complete solution for your requirements, and also
includes a li-ion battery and charging circuit and USB connectivity to both
charge/power the camera and transfer video files, which will be in a
standard compressed format.

You can get a basic 720p dash cam for little more than the camera module
you listed if you buy online.

Mike


On Thu, 8 Mar 2018, 02:24 Neil, <***@narwani.org> wrote:

> I want to record video of at least 1.0MP to SSD (or other memory) for
> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
> because of the OS (and more specifically the boot time), so wondering
> what it would take to do this with a microcontroller.
> I'm looking at camera modules similar to this...
>
> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Neil
2018-03-12 03:44:25 UTC
Permalink
How quickly can these start capturing video after power-up or wake-up
from sleep? If it can do so with much less than 1 second, I'm open to it.

Cheers,
-Neil.



On 3/9/2018 3:00 AM, Mike Rigby-Jones wrote:
> The easiest, (and cheapest) option would be to buy a basic car dash cam
> which appears to be a complete solution for your requirements, and also
> includes a li-ion battery and charging circuit and USB connectivity to both
> charge/power the camera and transfer video files, which will be in a
> standard compressed format.
>
> You can get a basic 720p dash cam for little more than the camera module
> you listed if you buy online.
>
> Mike
>
>
> On Thu, 8 Mar 2018, 02:24 Neil, <***@narwani.org> wrote:
>
>> I want to record video of at least 1.0MP to SSD (or other memory) for
>> about 3-5 minutes. 15FPS is fine. But I really want to avoid SBCs
>> because of the OS (and more specifically the boot time), so wondering
>> what it would take to do this with a microcontroller.
>> I'm looking at camera modules similar to this...
>>
>> https://www.aliexpress.com/item/600TVL-1-4-1-8mm-CMOS-FPV-170-Degree-Wide-Angle-Lens-Camera-PAL-NTSC-image/32570417705.html
>>
>>

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
William Bulley
2018-03-12 17:05:34 UTC
Permalink
According to Neil <***@narwani.org> on Sun, 03/11/18 at 19:12:
>
> Here's more info on what I'm trying to do...
> I have a few warehouses with some of my cars and other stuff, and after
> a couple break-ins, I want to make a device that I can mount on the wall
> outside to record video once it detects motion.
> I won't have access to power, so it will have to be battery powered.
> This is why I don't want an O.S, because the boot time would miss
> critical video as soon as it detects motion. I don't want to go with
> canned solution as I want to tie various sensors to it, and some
> specific interfaces.
> I don't need HD video as it seems 600-line video is decent for security
> systems.

Might I suggest this Canadian's surveillance solution?

http://woodgears.ca/farm/mousetrap.html

Regards,

web...

--

/"\ ASCII RIBBON CAMPAIGN / William Bulley
\ / AGAINST HTML E-MAIL /
X AND / E-MAIL: ***@umich.edu
/ \ LISTSERV POSTINGS /
/ \ / UM Computing Center/Merit/ITD/ITS/UMnet (Ret.)

72 characters width template ----------------------------------------->|
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Loading...