Re: CPU recommendations for tc

Carl Karsten <[email protected]>
Newsgroups gmane.comp.video.transcode.devel
Message-ID <[email protected]>
Francesco Romani wrote:
> On Sun, 2008-03-02 at 19:55 -0600, Carl Karsten wrote:
>> It looks like I need way more CPU power than I expected.  I was hoping to just 
>> stream to external usb disk using P3 laptops and encode later, but then usb/disk 
>> IO becomes a bottleneck.  (I think it is the usb, might be the drives I am 
>> currently using.)
> 
> Please try this recipe before acquiring new hardware:
> 
> [other options] -y ffmpeg -F mjpeg -N 0x1 -w 3000 -o something.avi
> 

Hmm, this is looking pretty good.

>> So I want to ask my local hardware guy to build me a box (5 actually) 
>> specifically for usb->transcode->local sata.  As long as I am doing this, I may 
>> as well get enough CPU to encode on the fly.
>>
>> The hope is to capture:
>> /dev/video 1024x768 x24-bit @ 12 fps
>> /dev/dsp mono voice, so low bandwidth is fine.
>>
>> I want the video saved in a lossless format.  (jpeg screenshots are ugly.)
> 
> Something to try, in not a particular order:
> - the command line above (give it a spin at least, ffmpeg usually gives
> good surprises ;) )
> It's lossy, yes, but with a sufficiently high bitrate you will not
> notify artifacts, and it is pretty good for later processing.
> - -y ffmpeg -F huffyuv
> lossless, will eat A LOT of bandwith
> - -y lzo
> roughly the same as above
> - -y ffmpeg -F ffv1
> lossless, fairly good compression, HIGHLY cpu intensive, suited only for
> temporary storage
> 
> Always use constant sized/rated audio -N 0x1 (PCM, uncompressed) unless
> you are forced to do othwerwise, this will save A LOT of sync problems,
> even all of them.
> Always prefer an intra-only codec (MJPEG,...) if you plan to do later
> processing (even just cutting!)
> 
>> If I can, I want the video compressed on the fly.
>> I want the audio saved in the same file, and hopefully with no sync issues.
> 
> All above suggestions should satisfy this requisite.
> Avoid h264 as storage format, this will eat your cpu.
> 

good to know.


>> Anyone know what kind of hardware will or won't do this?
> 
> I've a pretty old (for this kinds of tasks) athlon64 3200+ single core,
> it's ultra-low end in march 2008 and it can still handle this task just
> fine (see video4linux examples in the wiki for details). I guess any
> modern dual core, saving maybe the hyper-cut-down chepaes
> semprons/celerons will handle this kind of this just fine.
> 
> Speaking about old hardware, I guess you'll need a P4 2.8 GHz or better
> and any athlon64, single/multicore. 1 GB ram will be enough, but do not
> understimate hard disks and the I/O controller on the chipset.
> 
>> Anyone have the math to support that I can't stream that much uncompressed A/V 
>> over a USB2 connection?
> 
> uncompressed is mostly out of business because it will eat storage (and
> bandwith of course, but do not understimate the storage problems) space
> way too fast, unless you have terabytes of spare storage you'll need
> some kind of compression.
> 
> Anyway, for the record:
> 1024x768x24 (frame) x 10 (fps) = 23592960 BYTES/second ~= 22.5
> MegaBytes/second
> + audio: 44100 samples/second * 16 bits/sample * 1 channel ~= 86
> KILOBytes/second (negligeable)
> 
> 8 hours storage (very likely for a conference) = 28800 seconds
> 
> 22.5 MiBps * 28800s ~= 648000.0 MiB ~= 632 gigabytes at DAY.
> 

Sounds about right.  I do have 6tb of storage space.  but that has to be enough 
for 4 rooms * 3 days * 8 hours, so more than 6gb.  ouch.

Carl K
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.