Here we collect ideas for building Mini-ITX PCs (mainly RAW recording possibilities).
ps: I put my first base post to my next post, because this topic will be more, then I thought.
Here we collect ideas for building Mini-ITX PCs (mainly RAW recording possibilities).
ps: I put my first base post to my next post, because this topic will be more, then I thought.
I like the idea but I have a lot of questions and remarks.
About the scope
We have a good initial requirement for storage. I think the same applies for bandwidth. But...
What is the total length of the footage to be stored and how "active" that storage should be ?
What is the target price ?
Amount of development ?
What are the dimensions and weight of the product ?
Definition of Portable
For me a portable product is something like a laptop : 2-3 kg, and I can fit it in a handbag easily.
A media-center PC (ATX power supply, HDD, Graphics card Miti-ITX/mini-ATX motherboard) is transportable but not portable. I can carry that in a flight-case but not in an handbag.
This rules out a lot of Intel based solutions that are not laptops.
Target price
This is something we will have to own, so I assume there will be a maximum price tag.
It has also to be of good quality, so there is also a minimum price tag.
This will rule out both expensive solutions like Fusion-IO boards but also cheap things like raspberry Pi.
Amount of development
Are we going for a best of breed solution with of the self components that can be bought from our local PC dealer or are we going to do custom development ?
The best of breed solution can look like what has been proposed. (I have another proposal thought).
Examples:
With the custom solution we have a lot more freedom but it make sense only if we can build enough of them.
Storage
Fast storage is small and expensive, slow storage is big and cheap. So it make sense to split storage between fast PCIe storage card/modules(SSD or PCIe card) and slower Sata disks. Using Sata Disks in parallel model gives you more bandwidth.
Before making a choice, we must know exactly what is the maximum bandwidth required.
At one end of the product range (read servers) you have Fusion-IO boards :
On the other side, you can use for example an Odroid XU3 board:
Power consumption
ARM based system tends to have a low consumption 5/10 Watts and may run on USB power or battery , Intel systems are way more power hungry.
HDD drives are very power hungry because there are mechanical parts. Those parts can be damaged by shocks. Fully solid state integrated system can be a lot less power hungry and most of them have LCD/touch screen interfaces.
Summary
That are my toughts, Feel free to comment
This was my topic starting post:
"I have an idea about to build a portable Mini-ITX multifunctional PC, which could get the big amount of RAW data from the Beta, store it on HDD + maybe it could work as a system which could process/encode the files and as a workstation too.
So we have 2 functions, recordingstation (A) and workstation (B).
I started to count with DCI 4K RAW data amount:
1 frame is: 4096 x 2160 x 12bit / 8 / 1024000 = 12,96 MB
So a 50fps 1 second long footage is: 12,96 x 50 = 648 MB
We need to transfer this data-amount and write it to somewhere. There is a relative "fresh" option for high speed SSD speeds, the M.2 connector with M key (PCIe x4 and SATA):
Till now the best M.2 SSD is the Samsung XP941 (review, test), it has a "Peak Read Sequential Performance: Up to 1170 MB/s, Peak Write Sequential Performance: Up to 930 MB/s" in that case if the host interface is a PCIe 2.0 x4 port.
The next question is, that which Mini-ITX motherboard has a support for this PCIe 2.0 x4 speed, till now I could find the Asus Maximus VII Impact (manual pdf)
Note: "The M.2 slot shares bandwidth with PCIe 3.0/2.0 X16 slot. Bandwidth on the PCIe 3.0/2.0 x16 slot becomes x8 when M.2 device is inserted."
It doesn't count too much in the point of graphic card performance, if the PCIe port runs only in x8 mode.
So this 256GB M.2 SSD could be a buffer (it's enough for 6-7 minutes DCI 4K 50fps RAW data) in recording mode (A) and could be a cache + storage for actual video datas in the workstation mode (B).
The Mini-ITX setup could look like this:
In the recordingstation mode, there is no need for powerfull graphic performance, so the onboard graphic function of the motherboard/processor could be used.
We have to power the system and till now I think so, that there is need for 2 separete power supplies.
Additional stuffs:
If you are interested in this please write your toughts, this is only an idea, I don't have any electricity and 3D design knowledge."
The second post:
Well, I started to think on SBCs at first, but there aren't any, which has a wide input bandwidth for 4K RAW data recording. So till now there are standalone portable recorders like Atomos Shogun, Odyssey7Q, etc.. For me the price of them is too much for "only" a recording solution and why not build a multifunctional portable PC, which later could be used for postproduction too? Of course it's a heavy thing and eats more power (this is the 1st worst point):
This is a very powerfull Mini-ITX system and the price of the assemblies without the body is around: £1900 (this is the 2nd worst point, but multifunctional :) )
Maybe I should forget this whole multifunctional line and just build the cheapest solution only for recording, I don't know.
Please stay at topic, here I would like to speak only about Mini-ITX PC systems. But I'm also interested in any other solutions, so open more topics. :)
I'm not engineer or something technical guy, so I can only think on that way, what I can buy online or local shop etc.. If something new could be developed by the folk I'm very open for it.
I will stay on topic.
But I think that if you compare it with the Odyssey and Atomos Shogun, your solution cannot be compared to those soltutions
Shogun :196mm x 110mm x 47mm and 645g 6.8W-11W
Odyssey : 200mmx155mmx25mm, 560g 8W
Personally, If I want to build a system myself, I would go the way you propose because I can buy it easily.
But If I want to use it daily I won't be a system like that because of the weight and the dimensions (and the price). I don't need a workstation because I have my PC and a portable recording system need to be portable not something I will carry in a big suitcase.
Going low cost for a PC based system make sense like you said.
Starting to build a bulky and expensive system from off the self components does not make sense. That is my experience as an engineer working in a related field.
And if at all possible, bypass the need for a "conventional" (x86) cpu and find a way to provide filesystem and sata protocol support from an fpga / arm system for lower power consumption. Pipe dream ?
Off-topic for Mini-ITX but...
@benoit.callebaut
I see your points. So how do you think, what would be the best solution to get the RAW data (as high fps as we can) from the AXIOM Beta and save it in an affordable price at low power consumption and light weight?
I don't know yet, that the 4K RAW data how will come out from the Beta, but if we count, then the numbers are this:
1 DCI 4K RAW frame: 4096 x 2160 x 12bit / 8 / 1024000 = 12,96 MB
50fps: 12,96 x 50 = 648 MB
or
1 UHD 4K RAW frame: 3840 x 2160 x 12bit / 8 / 1024000 = 12,15 MB
50fps: 12,15 x 50 = 607,50 MB
or
1 1080p RAW frame: 1920 x 1080 x 12bit / 8 / 1024000 = 3,04 MB
200fps: 3,04 x 200 = 607,50 MB
As I think and as I read (I don't know, but correct me if it isn't right) if on FPGA side there is debayering, so the frames will have the color information (in the example only 8bit not 10bit), then the data amount is much more:
1 uncompressed DCI 4K RGB 444 8bit debayered frame: 4096 x 2160 x 8 (bit) x 3 (colors) / 8 / 1024000 = 25,92 MB
50fps: 25,92 x 50 = 1296 MB
or
1 uncompressed UHD 4K RGB 444 8bit debayered frame: 3840 x 2160 x 8 (bit) x 3 (colors) / 8 / 1024000 = 24,30 MB
50fps: 24,30 x 50 = 1215 MB
or
1 uncompressed 1080p RGB 444 8bit debayered frame: 1920 x 1080 x 8 (bit) x 3 (colors) / 8 / 1024000 = 6,08 MB
200fps: 6,08 x 200 = 1215 MB
Of course there are compression possibilities and chroma subsampling "reductions" if we want, but it will reduce the picture quality.
Virtual filesystems, RAW viewers, converters, encoders are already there from the Magic Lantern developers. Look at this awsome jobs (respect for them!) and think: MlRawViewer, MLVFS.
@philippej
I don't know what are the possibilities on FPGA side, but as I see till now we are bounded... standalone recorder or conventional :) PC.
I am not sure its possible to combine the two use cases:
-) recording footage
-) editing footage (workstation)
together without them contradicting themselves.
For recording you want something lightweight, small with minimal power requirements, ultimately with passive cooling and a sealed enclosure for the field (no airflow). All this is exactly the opposite of what a workstation does/requires :)
I am in contact with someone who built this custom mobile computer solution for mobile live broadcast encoding:
It could be a great form factor/foundation for building the mobile recording solution PC.
My contribution and I hope I haven’t missed the point.
Given the camera is fundamentally running Linux, would it not be more sensible to look at the wealth of tools which are supported by the environment, and then work from there.
A small server (ITX or otherwise) running FreeNas would allow the setup and mounting of raided disk which can then be accessed with standard utilities like NFS (Network File System).
If the unit was raided (to whatever level required) resilience is provided, with no overhead in terms of speed assuming fast disks are utilised.
If cost is the issue then FreeNas can still be used with a single disk system, but obviously without the security.
The likes of Ordroid and Cubbietruck are good (more powerful than the Raspberry Pi), but only support a single disk.
These could however provide good portable solutions if packaged well.
The separate function of editing/viewing files could then be provided for by a PC/Laptop employing the users preferred environment, which simply connects over the network.
For simply viewing, a tablet on the same network using VLC could provide a quick method of reviewing.
My thoughts
I thought of 2 ways of doing things without reinventing the wheel:
Good thing about theses two project is that they have also software for these projects.
It looks like sebastian has the best contacts at the moment for such a solution
My belly feeling is that we are more in need of a input/processing board than a full system.
I would go in the direction of a PCIe/mPCI card based on an FPGA (Zynq) that can be used also in standalone mode. So that we can integrate it in third party systems (PC or tablet or laptop...)
@sebastian
Yes, it is also a possible solution. It is very similar to the idea of this HD-PLEX case with passive cooling, maybe he customized it.
For me the layout isn't good, it's too flat.
I thought that multifunctional system something like this, sorry for my free-handed drawing knowledge, this is my first sketch about this:
1 recording:
1/1 AXIOM Beta + lens (1 wire for monitoring and 2 wires for RAW data transfer)
1/2 7" HDMI TFT screen for live monitoring
1/3 sealed enclosure, with heatsink (as much as possible) and wired out ATX (female) connection to the backside of the body
1/4 on the other side another 7" HDMI TFT, but with capacitivie touch possibilities to control Ubuntu
1/5 detechable/attachable and openable (to change the batteries) 160W powersupply enclosure with battery (with rubber edge [weather proofness] at the connection to the big body)
1/6 detechable/attachable sidepanel
1/7 adjustable arm to hold the body
2 workstation:
2/1 AXIOM Beta holding plate
2/2 displays
2/3 enclosure with wired out ATX (female) connection to the backside of the body
2/4 mouse, keyboard
2/5 500W powersupply with ATX wires to the camera body
2/6 detechable/attachable open sidepanel with fans
2/7 adjustable arm to hold the body
2/8 usb 3 raid storage
It's too complex, as I see now "fully" drawn, a docking solution would be fine and inside a PCIe x16 -> dual PCIe x16 switchable riser card (something like this, but another layout in Mini-ITX format) is also needed for capture and video card switch option.
Of course only a recorder solution is more simple and cheaper. We need to design one, what is not so flat and the Beta can have a place on it. What do you think?
@elvis_preseli
I think the single board computers out there aren't enough powerfull to get 600-700 MB/s, they have (if they have) only mPCIe or single/dual SATA II or single SATA III, it's simple not enough bandwidth and how would you connect the Beta to them and how do you save the dataamount, take a look at this comparison list.
I speak about RAW data now, to view it we need software debayering, MlRawViewer, read please.
I don't know this FreeNAS and networking solution, is this somethink like dslrdashboard?
Please provide to us links always, if you speak about something, so we can get the information quite quick and we can learn quicker.
@benoit.callebaut
I thought about that, that maybe a Magewell PCIe card could be reprogrammed/reflashed with a custom firmware (if possible) to only a function (transfer the RAW data, whitout any conversion) in theory it's upgradeable, but I don't know about the possibilities. We aleardy collected some capturing solutions on the wiki site.
Staying within the realms that make for what the axiom beta is, i dont think the recorder solution should be too heavy or loud to handle along with it.
Making a case for the novena board is doable, and it could attach to the underside of the camera and still be fairly portable. Battery solution is already figured out.
Staying with things that can be done sans fans, intel NUC is an option. It does sport a m.2 port.
@allan
You have right, a Mini-ITX PC is very heavy and makes some noise, if it has fans.
As I read that Novena board hasn't got enough input bandwith to get so much data amount.
Intel NUCs have USB 3.0 inputs, so maybe it could be comined with Inogeni HDMI to USB 3.0 and store the data temporarily on M.2 SSD card + transpose it to an external USB 3.0 connected HDD storage. But this wouldn't be RAW data at the end...
how would it be possible to connect the 2 6gbit connectors of the beta to a pci express 3.0 controller, which should be connected to a M.2 slot?
ideally one could just stick a m.2 ssd directly into the beta, like the expresscard-slot on the sony camcorders (e.g. ex 1)
update: usefull?
http://www.xilinx.com/products/technology/high-speed-serial.html
http://www.xilinx.com/products/technology/pci-express.html
possible to have a module board, which connects to both module slots,
and routes the gpio lanes of the zync to an fpga/pcie 3.0 host controller,
who then connects to a M.2 slot, where one could just connect something
like this: http://www.samsung.com/global/business/semiconductor/minisite/SSD/global/html/ssd950pro/overview.html
as prices are decreasing over time, i hope this could be an affordable option?
sebastian, you have more experience with prices and development work :)