All you need it raw compression. Good and fast one. I think you know the answer.
With regard to compression, I-frame only h.264 compression is similar to JPEG. Only difference is that I-frame h.264 would be possibly wavelet-based. H.264 allows for a lossless profile as well.
Hi zcream happy to know you can sync the cameras. Convergence cannot be decided in post, it would require rebuilding part of the scene, only inter axis can be simulated in post. The factors to decide the inter axis distance is not only related to the closer object, but mainly on how much "depth" you would like to give to your scene. However I really suggest you to add a convergence feature to your rig. Sensors are small, so you probably will use a wide lens which helps you to keep a fixed focus. About encoding: I read you are looking for a lossy compression. If you are able to stand a raw format (maybe with some simple compression as RLE) I think it would be important to get a good stereoscopy. Compressing two different images could bring a different result that create disparity in the stereoscopic view. If you are interested in jpeg based comression, take a look at http://www.libjpeg-turbo.org/. It is optimized to use CPU vector instruction sets. This can be enough for your goal, considering also that jpeg encoding and decoding can only be in part parallelized using a GPU. This would avoid the need for a big GPU, just letting you to use a simpler embedded one.
Mini PC recorder options included the Gigabyte Brix, Zotac Nano and Intel NUC. The best option would be a quad core i7 with a HD5000 or higher gpu.
Gigabyte II Brix with Iris Pro - http://www.legitreviews.com/gigabyte-brix-with-iris-pro-graphics-spotted-at-idf-2013_123498
Iris Pro has a much higher TDP than HD5000 and does not offer any QuickSync encoding advantages. Ideally we need a mobile i7 quad core with HD5000 for optimal speed/power balance.
In terms of CPU - Haswell i7 4650U seems like the best option.
@kino The 8-pin GPIO Hirose connector has Sync in and Sync out. The cameras can be genlocked. I confirmed this before buying the cameras. The cameras are small enough to be used side-by-side There will not be any toe-in - I will film parallel. Convergence will be decided in post. I will keep a strict depth budget. Nothing for 3m (10ft) in front of the camera.
@fatpig large DOF is an advantage in 3D. You want to see everything in frame - ideally nothing should be out of focus.
I did not know there was such a thing available.
Sounds great!
So we can look into making our own custom 4K RAW Cameras... :)
Only the sensor size is a drawback.
Hi zcream
with stereoscopy you should be very careful to keep the cameras genlocked as mush as possible. With CMOS this is more strict due to the rolling shutter. I don't know if the USB camera you propose can be genlocked at least at frame level, I suggest you make some research about it because conforming two images that are not synchronized is very difficult. Inter axis and convergence of the cameras are both important, and while you can play a bit with the inter axis in post, I think that your trick of keeping the camera steady and do the rest in post should be used more for reframing the two cameras for conforming reasons. Also cameras are 50% of your job. A good rig (with mirror...) and a conforming software are equally very important. Depending on your budget, I would suggest to hire an equipment right for your project. A couple of Scarlet and a Genius stereo rig are a good combination to hire. A recent firmware update lets you control the focus of both the lens with just one remote controller. I know you are missing the fun of writing your own encoder and experimenting with cameras, but stereoscopy has enough a lot of inherent problems without adding all the technological stuff that can goes wrong.
Intel QM87, Q87, or H81 ?
This one I do not know. You need to make some market research.
Intel QM87, Q87, or H81 ?
I suggest to look for ITX Haswell board with mSATA connector on board. It will be ideal. Very small, low consuming and very powerful.
Any comments on my requirements so far? You suggested a mini-ITX mobo - I went with a laptop.
Otherwise, it seems to boil down to quicksync and quad i7. I will preview with stereoscopic player. Then stop preview and record. Then playback to preview again. The 480GB SSD with some light compression would easily take 2x 4:2:2 10-bit streams.
In theory, it seems to work.
are you concerned that I am posting too much ?
Of course no.
True. But I collected the data in case I need to return to it - or if someone finds it useful. Thus far, I think quicksync and quad i7 is the way to go. qsync allows for i-frame only encoding. And I can put the bitrate slider all the way up or quality. Turn off all the other options.
I used this thread to note down all the options - are you concerned that I am posting too much ?
I think that normal codecs comparisons have little value for you.
As you need high speed and high bitrate encoder. While most comparisons are focused on maximum quality using low bitrates.
Since NvEnc is no longer an option - lets look at Intel Quicksync.
http://babgvant.com/blogs/andyvt/archive/2013/03/18/qstranscode.aspx
From - http://software.intel.com/en-us/articles/harnessing-handbrake
Currently, our experiments using the H.264 Intel® Quick Sync Video codec show Intel HD graphics on Microsoft Windows* 8 utilization approaching 100% while the CPU utilization remains under 20%, allowing for a full speed transcode since the dedicated Intel HD graphics is not affected by the other computing tasks the CPU must always attend to.
http://techreport.com/review/23324/a-look-at-hardware-video-transcoding-on-the-pc/6
For the time being, the best option for quick, high-quality video transcoding is unfortunately to buckle down, get yourself a fast CPU, and run the best software encoder you can find (which may be Handbrake).
From a study at MSU - http://www.compression.ru/video/codec_comparison/h264_2012/
The four best codecs (no codec performs faster with higher quality) in terms of speed/quality are Intel Ivy Bridge QuickSync, MainConcept, Elecard and x264 at average. Absolute speed results are presented in Figure 33 and Figure 34. All the encoders except hardware–based (Intel QuickSync and MainConcept CUDA) have a similar growth rate for encoding time as the bitrate is increased. Intel Ivy Bridge QuickSync is the fastest, followed by DivX H.264.
Haswell includes a hardware MPEG-2 encoder, possibly only 4:2:0 - http://www.anandtech.com/show/6355/intels-haswell-architecture/13
Haswell also adds a hardware motion JPEG decoder, and MPEG2 hardware encoder. With added EUs we'll obviously see QuickSync performance improve, but I don't have data as to how much faster it'll be compared to Ivy Bridge.
qsync - http://tetrachromesoftware.com/index.htm
http://sourceforge.net/projects/qstranscode/
http://www.guru3d.com/files_details/msi_afterburner_beta_download.html
http://www.tomshardware.com/reviews/ivy-bridge-benchmark-core-i7-3770k,3181-7.html
NVEnc is the most promising option ATM
http://arstechnica.com/civis/viewtopic.php?p=23699284&sid=f8468d2429a493c0a426db15b8cfbf63#p23699284
- The NVENC test-output was generated by a custom Win32 console-application. I basically combined two NVIDIA SDK samples: "cudaDecode" (which demonstrates how to use the cuVid API to decode MPEG-2/MPEG-4 bitstreams using the NVidia Purevideo dedicated hardware), and nvEncoder (which demonstrates how to compress raw YUV-frames using the NVENC hardware block.) Basically, I specify the source-file (Bluray M2TS file), NVENC encoder parameters/arguments, then the application performs an accelerated decode of the source-video, followed by a accelerated NVENC-encode.
Looks like earlier versions of NVEnc SDK supported consumer CUDA cards and later versions are locked only to Nvidia approved cards.
Hardware and CUDA encoders are also an option as this will allow tasks to be offloaded from the CPU. NOTE :- The problems listed in these threads are not an issue as we are using lossless or low compression x264 encoding with no B-frames.
https://developer.nvidia.com/nvidia-video-codec-sdk
http://www.codeproject.com/Articles/421869/H-264-CUDA-Encoder-DirectShow-Filter-in-Csharp
http://www.tomshardware.com/news/nvidia-gpu-video-encoding-nvenc,21874.html
http://www.extremetech.com/computing/128681-the-wretched-state-of-gpu-transcoding
NVENC in GTX680 - http://www.guru3d.com/articles-pages/geforce-gtx-680-review,6.html
http://www.extremetech.com/computing/128681-the-wretched-state-of-gpu-transcoding
http://techreport.com/review/23324/a-look-at-hardware-video-transcoding-on-the-pc
http://www.anandtech.com/show/5835/testing-opencl-accelerated-handbrakex264-with-amds-trinity-apu
http://compression.ru/video/codec_comparison/h264_2012/
Unrelated - but shows how fast CoreAVC is - http://forum.doom9.org/showthread.php?t=155441
DGDecNV - http://neuron2.net/dgdecnv/dgdecnv.html
Conclusion :- I can try DGDecNV, CoreAVC and FFMpegSource
A quad core i7 cannot encode 2x 4K streams of either of these codecs.
Among the codec options -
x264 lossless Hi422P with 10-bit
Cineform 4:2:2 10-bit High
FFV1 4:2:2 10-bit
Both AMV and UTVideo are only 8-bit 4:22
What about DPX or JPG2000, they're editable and you're half way to having your film in a showable format or proper DCINE 3D projectors.
Realtime lossless encoding codecs options. Cineform, UTvideo, AMV Codec and x264 lossless
http://stackoverflow.com/questions/6701805/h264-lossless-coding
http://forum.videohelp.com/threads/318382-Lagarith-or-x264-lossless
http://forum.doom9.org/showthread.php?t=158361
http://www.amarectv.com/english/amv2_e.html
https://trac.ffmpeg.org/wiki/x264EncodingGuide
http://forum.doom9.org/showthread.php?t=165745
http://forum.doom9.org/showthread.php?t=165042
http://forum.doom9.org/showthread.php?t=165310
I have used AMV Codec in the past and it works well. x264 lossless is another option.
Freeware MVC video capture programs -
http://www.sharpcap.co.uk/sharpcap
http://firecapture.wonderplanets.de/ - works with flea3
http://noeld.com/programs.asp?cat=video - AmCap used by PGR in their own testing - works with flea3. Trialware costs 12$
http://neuron2.net/LVG/highrescapvdub.html - Virtualdub - if it works, this should be used. Free - regularly updated and has tons of filters.
Yup. And possibly fanless as well. The MBP is more because I needed it anyway as a portable editing grading station. And it saves me spending on other equipment.
If I get this running - I will consider a SFF with a touch screen control.
You understand that latest Haswell based ITX boards are much better and much more powerful?
Soeren Mueller was doing a thread on another forum but he disappeared. This is a description of his approach using the pico ITX Via board.
I do not want to use this board as it only has SATA 3Gbps forcing usage of dual SSDs to record 2 streams. My approach is to use SATA 6Gbps and use a fast SSD for writing dual RAW streams.
http://www.viaembedded.com/en/products/boards/1950/1/EPIA-P910.html
I also intend to shut off preview monitoring as the camera will be locked off on a tripod. This should save lots of CPU as there is no need for unnecessary debayering.
Well I'm using MS Dev Studio 2008, writing everything in C++ and have just finished my own DNG writer/export classes that are optimized for speed. I'm using Point Greys SDK to enumerate (more than 1 possible, hello 3D) and control their camera head, set the sensor parameters and read the sensor data via USB3. The data is "preview debayered" for realtime monitoring and can be written to SSD at the same time. So far no real rocket science involved .. building my own touch based interface a la Cinedeck to control everything. Got a small embedded PC board that will run everything and now have to find a nice little highres touch TFT...
If you can find an old version of Streampix 3 -
http://groups.yahoo.com/neo/groups/Flea3/conversations/topics/429
Here are the steps to activate the Flea3 with StreamPix3:
It looks like you're new here. If you want to get involved, click one of these buttons!