{{Multiple issues| {{more citations needed|date=February 2011}} {{tone|date=February 2011}} }} {{Infobox software | name = OpenCaster | logo = OpenCasterLogo.png | logo size = 40px | screenshot = <!-- Deleted image removed: [[File:OpenCaster broadcasting big buck bunny.png|250px]] --> | developer = Avalpa Digital Engineering s.r.l. | released = 2008 | repo = https://github.com/aventuri/opencaster | programming language = [[C (programming language)|C]], [[Python (programming language)|Python]] | operating system = [[Debian]] | language = Multilingual with English manual | genre = [[multiplexing]] | license = [[GNU General Public License]] v2 or later | website = {{URL|http://www.avalpa.com/the-key-values/15-free-software/33-opencaster}} }}

'''OpenCaster''' is a collection of [[open-source software|open-source]] and [[free software]] for the [[Debian GNU/Linux]] system to play out and multiplex [[MPEG transport stream]]s. OpenCaster generates most of the non audio/video data present into transport streams and handles playout of pre-encoded audio/video files or can be integrated with third parties audio/video encoders.

==Common use cases== * Table generator (PSI/SI and [[Electronic program guide|EPG]]) * Interactive TV standards [[DSMCC]] object carousel broadcast ([[Multimedia Home Platform|MHP]], [[MHEG5]], [[Hybrid Broadcast Broadband TV|HbbTv]], ...) * Multiplexing of input [[multicast]] UDP [[MPEG transport stream]] to output [[multicast]] UDP transport stream * Playout of locally stored, offline encoded audio and video for non-live TV and/or radio stations * VOD system based on mpeg2 transport stream over IP or over DVB-* for walled garden network like hotels with coax * DVB-SSU update for decoders [[Over-the-air programming|OTA]] * [[Teletext]] generator

==Design principles== OpenCaster supports [[Interprocess communication]] among its different tools using [[Named pipes]] and enabling a high level of customization with [[shell script|shell scripts]]. The pipe paradigm has been criticized for performance,<ref name="performance_paper">{{cite web | url =http://osnet.cs.binghamton.edu/publications/TR-20070820.pdf | title =Performance Analysis of Various Mechanisms for Inter-process Communication | publisher =Operating Systems and Networks Lab, Dept. of Computer Science, Binghamton University | year =2007 }}</ref> but the performance loss may be accepted for the ability to customize.

Table generation is performed with [[serialization]] of a [[natural language]] description in [[Python (programming language)|Python]] and already features a large number of descriptors from different digital television standards. Adding new descriptors to the library is simple, and only requires knowledge of how the packet is specified bit by bit.

==History== Originally tests were done in [[Cineca]] as part of a research project under a different name targeting broadcast of [[DSMCC]] file system for [[Multimedia Home Platform|MHP]] [[interactive television]] but the project was already started from works by German National Research Center for Information Technology. The first service featuring OpenCaster [[DSMCC]] was broadcast on air in Italy in 2003. The first non-live DVB service 100% generated by OpenCaster and open source mpeg2 encoders is operating on air since 2004. OpenCaster was presented at the 16th ACM international conference on Multimedia <ref name="acm_paper">{{cite book | url =http://portal.acm.org/citation.cfm?id=1459579 | title ="An open source software framework for DVB-* transmission" Acm paper presented jointly with ftw. Telecommunications Research Center Vienna, Vienna, Austria at 16th ACM international conference on Multimedia Vancouver, British Columbia, Canada | publisher =ACM | year =2008 | pages =1093–1096 | doi =10.1145/1459359.1459579 | isbn =9781605583037 | s2cid =99579 }}</ref> since then has been used also in other researches: DVB-T DIGITAL TV TANSMITTER BASED SOFTWARE,<ref name="dvbt_ind">{{cite web | url =http://digilib.its.ac.id/ITS-Undergraduate-3100010039894/12839 | title =PEMANCAR TV DIGITAL DVB-T BERBASIS SOFTWARE | publisher =ITS Library | year =2010 | access-date =2011-01-29 | archive-date =2011-07-21 | archive-url =https://web.archive.org/web/20110721121226/http://digilib.its.ac.id/ITS-Undergraduate-3100010039894/12839 | url-status =dead }}</ref> MHP Conformance test,<ref name="mhp_test">{{cite web | url =https://doks.khlim.be/do/files/FiSe40288a2221861a2201218628db2200df/E09_MP_ELO_14_SmeetsRob.pdf?recordId=SIWT40288a2221861a2201218628db2200de | title =UITBOUWEN VAN EEN TESTOPSTELLING VOOR TESTEN VAN MHP-FUNCTIES VOOR DIGITALE TELEVISIEONTVANGERS | publisher =Katholieke Hogeschool Limburg | year =2009 | access-date =2011-01-29 | archive-date =2012-03-17 | archive-url =https://web.archive.org/web/20120317183459/https://doks.khlim.be/do/files/FiSe40288a2221861a2201218628db2200df/E09_MP_ELO_14_SmeetsRob.pdf?recordId=SIWT40288a2221861a2201218628db2200de | url-status =dead }}</ref> Building of an HbbTV demonstrator<ref name="hbbtv_demo">{{cite web | url =https://uti.eig.ch/dipl/2010/TE-Ohana-Revuelta-M.pdf | title =Building of an HbbTV demonstrator | publisher =hepia – Haute école du paysage, d’ingénierie et d’architecture | year =2010 | access-date =2011-01-29 | archive-date =2011-07-06 | archive-url =https://web.archive.org/web/20110706225020/https://uti.eig.ch/dipl/2010/TE-Ohana-Revuelta-M.pdf | url-status =dead }}</ref> a project in collaboration with [[European Broadcasting Union]], Open Source End-2-End DVB-H Mobile TV services and network infrastructure — The DVB-H pilot in Denmark.<ref name="dvb-h_trial">{{cite book | title =Open Source End-2-End DVB-H Mobile TV services and network infrastructure — The DVB-H pilot in Denmark | publisher =IEEE | year =2009 | doi =10.1109/WIRELESSVITAE.2009.5172522 | isbn =978-1-4244-4066-5 | last1 =Hammershoj | first1 =Allan | last2 =Pedersen | first2 =Gil | last3 =Tadayoni | first3 =Reza | pages =644–648 | s2cid =16434816 }}</ref> OpenCaster was used in the [[HbbTV]] Test suite in 2014 <ref name="hbbtv_test_suite">{{cite web | url =https://www.hbbtv.org/pages/about_hbbtv/HbbTV_V1%202%201_Test_Spec%20v1_2.pdf | title =Test Specification for HbbTV Version 1.2.1 | publisher =HbbTV Association | year =2014 | access-date =2015-02-18 | archive-date =2015-02-18 | archive-url =https://web.archive.org/web/20150218204555/https://www.hbbtv.org/pages/about_hbbtv/HbbTV_V1%202%201_Test_Spec%20v1_2.pdf | url-status =dead }}</ref> and has been cited as tool in From the Aether to the Ethernet – Attacking the Internet using Broadcast Digital Television <ref name="aether_to_ethernet">{{cite web | url =https://www.cs.columbia.edu/~angelos/Papers/2014/redbutton-usenix-sec14.pdf | title =From the Aether to the Ethernet – Attacking the Internet using Broadcast Digital Television | publisher =Columbia University | year =2014 }}</ref>

==Integration== OpenCaster has been integrated with a long list of broadcasting products, among them there are products by Adtec, [[Cisco]]/[[Scientific Atlanta]], Deltacast, Dektec, [[Ericsson]]/[[Tandberg Television]], Eurotek, Harmonic/Scopus, [[MainConcept]], Mitan, Screen Service, Sr-Systems, Wellav, ...

==Testing== OpenCaster has been tested with [[Rohde & Schwarz]] DVM100L and DVM 400 and it is continuously tested with Dektec StreamXpert<ref>{{Cite web |title=Debian -- Details of package opencaster in buster |url=https://packages.debian.org/buster/opencaster |access-date=2024-03-28 |website=packages.debian.org}}</ref>

==References== {{Reflist|colwidth=30em}}

[[Category:Streaming software]]