wiki:TopicExploration

Version 4 (modified by Wout Tankink, 12 years ago) ( diff )

--

=================
Topic Exploration
=================

I did some exhaustive web research after my initial experiments.

First conclusions
=================
#. Moderne video camera's voor de consumentenmarkt zijn in het algemeen voorzien van een HDMI-output (digitaal); moderne camera's voor de professionele markt zijn in het algemeen  voorzien van een digitale IEEE 1394/FireWire/iLink interface.

   Daarnaast kunnen camera's voorzien zijn van analoge interfaces (in het algemeen S-Video en/of composite video resp. component video (YPbPr)).

   Voor de meeste van deze interfaces zijn diverse pluggen gangbaar.

   Andere aansluitingvideo- en/of audiosources die we tegenkomen, zijn:
    - S/PDIF (TosLink, BNC of RCA)
    - stereo analog line in
    - USB 2.0 (toekomst ook USB 3.0 en Thunderbolt)
    - HD-SPI
    - DisplayPort
#. HD-kwaliteit video vergt een digitale interface, hoewel de beschikbaarheid van de `LI-HDI365 <https://www.leopardimaging.com/Leopardboard_368.html>`_ van Leopard Imaging - een HD video component input board - anders doet vermoeden.

   Camera's kunnen in het algemeen een aantal video-formaten aan, waaronder MPEG-TS.

   Voor unencoded video in HD-kwaliteit is een DualLink HD-SPI interface nodig. Deze optie is daarmee in dit geval niet interessant.

#. 1080p (min. 1920×1080 pixels 30 fps) is de tegenwoordig nagestreefde kwaliteit, zowel voor de verwende consument als voor gangbare professionele toepassingen als video presentaties.
#. De prestatie-vereisten aan het systeem dat zorgt draagt voor de video encoding neemt zeer sterk toe met een hogere kwaliteit van het video formaat.

   Voor het encoderen van 1080p video in real-time zijn feitelijk de enige oplossingen die in aanmerking komen:
    a. hardware encodering door specifieke media processoren (als de Texas Instruments DaVinci serie);
    #. hardware encodering door middel van FGPA's;
    #. krachtige general-purpose processor;

   De hardware-vereisten zijn natuurlijk veel minder indien de video source reeds een output in de vereiste encodering levert, zodat transcodering niet nodig is.

   Door gebrek aan inzicht in het toekomstige gebruik en het ontbreken van ervaring in deze is mij niet duidelijk, wat in de praktijk nodig is.

Next Actions
============
Op basis hiervan kom ik tot de volgende acties ten behoeve van het vervolg:

#. Start ontwikkeling op gewone PC en onder Linux.
#. Start met audio en low quality video (via FireWire of USB).
#. Test kwaliteit van audio en encoding power van Raspberry Pi, zodra board beschikbaar. Eventueel ook van Pandaboard (beschikbaar), en van Leopardboard 368.
#. Bepaal rest ontwikkeling aan de hand van behoefte gebruikers.

   Relevante criteria:
    - aansluitmogelijkheden video sources;
    - kwaliteitsvereisten video;
    - draagbaarheid.
#. Documentatie in het bijzonder in de vorm van een handzame HowTo is zeker zo belangrijk als een implementatie in de vorm van een systeem.

   Het uiteindelijke resultaat zowel in kwaliteit van het output signaal als wat betreft de benodigde processing power hangt erg af van de gekozen videoformaten.
   Transcoding moet voorkomen of goed gepland worden:
   encoding van video is alleen 'doable' in hardware of in software op zware machines en het cascaderen van lossy algoritmes leidt tot kwaliteitsverlies.
Note: See TracWiki for help on using the wiki.