Streaming
From Olowiki
Contents |
Status
We want to offer an alternative to archiving and streaming through the use of easy affordable hardware and software solutions based on opensource research. In fact, as part of the network of dyne we started the project research with our own forces and came to solutions we already implemented in installations.
At the moment our research is based on the work of jaromil ( streaming ) which is actively working at montevideo. Not only because we are part of the same networks :) but specially because we retain the research to be the most valid and appropriate to our solution products.
The solutions are based on free/opensource software, therefor they are freely reusable.
Approach
First of all we have to consider the fact that researches in the videostreaming and archiving field are always limited to a certain period of time ( in our case is the actual state as of 2006 ). New technologies are developing and mutating really fast so we will have to keep further researching if we want to offer new possibilities. But really important is for us to pay attention to issues like:
- encoding technologies
- streaming technologies
- archiving solutions
- automated service (server/client)
- security
- licesing
After these considerations we decided to offer a solution which is easy adaptable to the future technology changes, easy to implement in the existing structure, ofcourse the presence of a network ( LAN ) is fundamental ;-) and at a relative low cost of realisation.
encoding technologies
This is a really delicate and important aspect. Codecs are the core part in the use of our technology, they are responsible for the coding/decoding of our digital data into the final video format. In our case is really important to have a format which represents a trade-off between good quality and bandwith. That is why we choose to support different codecs but we suggest the use of certain codecs for their high quality, low bandwith usage and lower storage space request:
Is a codec released under BSD-license which makes it freely adoptable.
Is a codec of really high quality to compare with mpeg4 and it needs less resources and performs better.
Is a proprietary codec under the MPEG-LA as for the mpeg4, is done for high compression and lower bit rates
( as for HDTV and adopted by the European standards ETSI for DVB use ), it request special custom chips on boards or proprietary software solutions
when used for streaming.
Is a codec released under GPL license and freely usable. It is supported also by most Operating Systems and is the "open source"
solution of mpeg4 class.
- Mpeg4
Is a famous proprietary codec done to perform well in streaming but requesting more resources than its counterparts and
the license costs from the MPEG Licensing Authority are to be included.
To not make further confusions, these are the codecs, AVI and QUICKTIME are only the containers respectively built by Micro$oft and Apple Computers. We can encode between all of the codecs listed to deliver the choosen format.
- Still is missing an interface to make these operations "user friendly".
streaming technologies
DVB is a well known standard used for cable (DVB-C) satellite (DVB-S) and terrestrial (DVB-T) video broadcasting. The open source offers some softwares which help us in the process of rendering the data broadcastable to the internet. Even the Apple's Darwin Server is a streaming server based on open source.
Our streaming server is based on the icecast2 server and is able to stream data encoded with theora and mpeg4/mpeg2 codecs. This is a solution based on a strategic decision.
When we are in a LAN environment we can decide to use mpeg4/2 which provide a high resolution and request high bandwith. We wont get in legal troubles as we are not broadcasting to the internet and with a well configured LAN we can provide an high quality solution.
In the WAN environment we use theora because of its high quality and lower bandwith request. In this way we have no legal issues and can offer a very good solution to stream in the internet.
Ofcourse this solution performs really well in the LAN.
The streaming server will have the files locally mounted and serve all the clients. A proper network configuration and LAN structure is a base requisite for the best performance. For this reason we would analize the network and apply changes there where needed.
archiving solutions
First of all I want to clear that the products we offer wont replace professional video archiving systems based on other technologies, in the way that, we cant offer a cost affordable solution when we are supposed to store nTERAbytes of data. Complex video data acquired for video editing is not suitable for interactive presentations or internet distribution. For example DV acquired data ( often over firewire ) take a big amount of space ( 36Mbit/s = 1 Gigabyte data in 4 minutes ). We would need to have huge storage systems which are expensive, big, loud and require maintenance, people acquiring the material and storing it accurately; we would yet need to store our analog material with complex storage systems and still we would need a backup system for our digitalized data. This is a solution which we could offer in a planned project, RAM people could do that, and we could organize the backup system and choose the proper hardware, but this would be another solution product :-).
We need data which is suitable for the internet that means we need possibly small amount of data because the bigger the amount the more the requests are, exponentially will grow our resource needs.
So it is clear, we need to store the data at best quality but still we have to keep it small.
This is where free software shows its quality, because we can easily convert our data in different formats depending on the usage request. In our archiving system we will offer possibilities to archive analog material in digital format:
- ( mpeg2 ) directly from the device over a composite plug.
- Firewire to convert then the data to mpeg4 | h264 | divx | theora.
- The data will be stored directly on the streaming server and be immediatelly reachable to the clients.
- The backup ( to dvd/cd ) solution is a modul which can be included directly on the server.
Interface features request
Use @ at the Gyn-Museum
The Streaming Box is an own made solution built as an embedded system running a Linux Operating System and FLOSS software. The architecture we used is a particular architecture which requires less power consumption and heating dissipation, which fits to our needs of having a device embeddable into the Installation modules of the Museum. The choice of the arch was made in the year 2004 when I did build the first prototype. So we used the arch that was available at that time.
The box is built on the base of our streaming research and follows the same features. In the case of the Museum Installation, it is used as a client machine for visioning the video archive files so it does not actually stream the data but plays them directly from the local HD. This was just a choice and not a limit to its functionalities.
The visitors can interactively view the archived video data through the use of a touchscreen device connected to each box. An easy interface is built, so to give simplicity of use and understanding for who has to interact with the installation. It presents a list of videos which can be selected for playing, and can be easily interrupted by simply touching the touchscreen :-) Nothing more.
At the end we choose also to connect the boxes to the LAN so to be able to administer them also from remote.