CBC Radio Canada’s project to create an open source solution for the integration of the SMPTE ST 2110 suite of standards aims to lower the barriers to entry for smaller software developers and ultimately boost interoperability.
Many of the people who journeyed to IBC to affirm their plans for moving to IP will have been at the EBU’s open source event to extend their ambitions once they had caught wind of CBC Radio Canada’s plan to create an open source solution for the integration of the SMPTE ST 2110 interface.
The many implications of this project include the seeding of a market of software solutions that support the crucial new standard. It also aims to allow application developers to focus on their core competency and match faster time to market with better interoperability.
The key player is François Legrand, Senior Director, Core Systems and Engineering Solutions, CBC Media Technology and Infrastructure Services.
Legrand first addressed project purpose. “Phase one of the project is financed by CBC/Radio-Canada and the work is being done by Savoir-faire Linux, a software development house which focuses on open source software development for multiple industries,” he said. “It is already well aware of the mechanics and politics around contribution and collaboration to OSS (open source software) projects. When we started this project there where many encapsulation proposals on the market, as well as many compression techniques.”
Opting for FFmpeg
“We strongly believe in true open standards and interoperability between multiple vendors. In production, separate multicast streams for video and audio are a must. We also believe that the pace of innovation of Ethernet technologies is such that compression is not required for most of our real-time production requirements,” said Legrand. “Our first objective was to help TR03/ST2110 became the de facto standard by providing the market with an OSS implementation. We chose FFmpeg because it’s an open source media pipeline used in a large number of consumer and professional media products.”
CBC wants to build a new facility to come on air in 2020, and it wants a software-defined infrastructure.
“This project helped us a lot to measure what functionalities can be implemented in pure software today, which density is possible, and what are the tradeoffs. Based on the work done so far we truly believe that video servers are perfectly doable in pure software, and the same for IPTV encoders.”
Watch SMPTE on 2110
An overview of the ST 2110 suite, including insight into how the family of SMPTE standards can be used to achieve agile and flexible solutions for live productions, from experts speaking during IBC2017.
Most IPTV type implementations as seen have just replaced SDI with IP links. Those building new IP facilities are now betting heavily on 2110, an environment made for an open source solution, and that impetus will encourage many others.
“This is what we hope,” said Legrand. “The first generation just replaced AES/SDI with IP links, used a single large format IP switch dedicated to real-time traffic, and kept the rest as-is. The second generation did about the same but used spine and leaf architecture. The third generation will add software-defined hardware plus some software solutions, and generation four will create a converged network. Then comes the software defined-infrastructure.”
CBC is planning to come swinging in just after the fourth generation. This complex open source ambition started with a four–phase strategy, starting with basic RX (audio and video, but no ancillary) capabilities.
“It’s already merged into FFmpeg main code branch available on GitHub.
This runs on off-the shelf hardware, using a standard Linux operating system without any special NIC card, special drivers or kernel bypass, and it allows a single video stream and a single audio stream to be received,” said Legrand.
The next phase, finishing by Christmas, improves support of ANC data such as closed captions into FFmpeg, and this work is being done in parallel by the developer Baptiste Courdurier. Then the basic RX will be raised to production quality by improving synchronisation and adding support of multiple video streams to fully saturate the Ethernet interface.
“We are looking at other popular OSS projects such as FD.io and DPDK to help us there, and this phase should be completed by NAB 2018. Then we work on the transmission side,” said Legrand.
At IBC, project consultant Michel Proulx, a media industry advisor, had mentioned a second tranche of funding, and at the open source event CBC had highlighted the need for funding to accelerate development.
“We are OK to finance the development of phase two (by NAB) and hopefully a large chunk of phase three for IBC 18,” said Legrand. “I travelled to IBC last year with the objective of find partners for this project. I was looking for a small software development house that’s well connected with the OSS community.”
It was Jean-Baptiste Kempf, president of VideoLAN, VLC, who pointed Legrand at Savoir-faire Linux.
“We are using an agile development methodology with two-week sprints. So far this worked well for us,” he said. “As we might add more partners - sponsors and developers to the project - we are having discussions with the EBU to explore if it would be well positioned to offer a collaboration framework and to coordinate actions.”
Michel Proulx added: “Work has been done with 1920x1080 60p, which results in a fairly high data rate of just under 3Gbps. The receiver software was integrated into FFMPEG because many software based video products already use FFPMPEG as their core.”
Proulx is consulting for CBC in the transition to IP and software at the CBC Montreal HQ. He has no direct role in the development of the open source 2110 stack, but followed it closely because it involves IP and software.
“We are hoping the open source implementation of 2110 will remove the barrier to entry to younger and smaller application developers” - Michel Proulx
“The reason for asking for additional funding sources is so that we sponsor more open source developers and have the project move along more quickly,” he said. “The goal is to deal with .10, .20 and .30 from SMPTE-2110: one of the beauties of open source development is that the code is a living thing. As people use the source code and fix problems or make additions they are bound to re-submit their changes and additions back into the community, via the GitHub repository.”
Whilst the CBC project is independent of things like the Advanced Media Workflow Association’s Networked Media Open Specifications project the two share the open source approach.
So how does the coming era of specifications sit?
“The notion of open source development is different from the notion of specifications or standards. It is simply about people writing code, which they then share with others. The code could be to implement a standard or a specification or in other cases it can just be to implement something that is not standardised such as FFmpeg,” said Proulx. “I agree that as an industry we will increasingly need to rely on specifications rather than standards, because things are evolving quickly and the standards process is not quick enough.
“We see IP as being in its teenage years. It’s everywhere, not fully matured, but almost.
”SMPTE-2110 has helped because it has become the common way for implementing professional media over IP. Prior to this there were too many parallel initiatives from individual groups that caused hesitation and confusion,” he added.
“We are hoping the open source implementation of 2110 will remove the barrier to entry to younger and smaller application developers. It will also help with Interoperability because it is a shared implementation and it will mean many will be working from the same code base.
“It will save a lot of heavy lifting because it will allow application software developers to focus on their applications not on the ST2110: it is difficult to achieve in software because it has very tight constraints timing and pacing of packets. It requires that senders be able to send packets using a fast and very consistent cadence,” he continued.
“Frankly ST2110 was conceived by hardware engineers for hardware implementations. What is easy to do in hardware is not always easy to do in software.”