Broadcast Ingest System

As part of a project for a leading broadcast company providing shared storage and workflow collaboration products, bugless designed, implemented, tested and managed releases of a broadcast ingest system.

The ingest system is a client/server system designed to be scalable. The system can have arbitrary numbers of servers and clients; the configuration of clients and servers is unconstrained allowing for flexibility in deployment and use.

As a system designed to interoperate with a number of different broadcast technologies, the system supports real-time multi-channel ingest to a wide range of essences (codecs) and containers (file formats) including DV (25, 50, 100), IMX (30, 40, 50), JFIF, MPEG-2 (XDCAM compatible), MPEG-4, DNxHD, and MOV, MXF (op-atom) and AVI.

Each ingest server is capable of recording up to four channels simultaneously, with each channel being captured to one or two independent codecs along with a low resolution proxy.

While ingest from SD-SDI and HD-SDI was the initial focus, the system was successfully extended to support file based ingest: many modern broadcast cameras record directly to solid state storage and upon return to e.g. a newsroom, this captured media needs to be added to the system. This is file based ingest, and can be as simple as re-wrapping essence (to conform the media to a particular newsroom's editing software of choice) or complete transcoding. Sub-sections of the captured media are available for file based ingest

Files are transferred to the appropriate ingest server using an embedded HTTP server on the client machine, allowing simple data transfer. This transfer is also rate controlled, allowing control over bandwidth allocation to ensure large file based ingests do not overwhelm the rest of the storage and ingest system.

Metadata about an ingest is stored in a relational database (specific database independent). A specialized client application can be used to add metadata to a live or prerecorded feed. As the metadata is stored in a standard relational database, the system can be queried by third party tools or 'glue' code, allowing the system to be integrated into more complex production workflows.

The system also incorporates an edit-while-capture module that was implemented as a virtual filesystem. This allows editors to start working on a file being captured before the capture is finished. A further advantage of the virtual filesystem is that the same essence can be present within multiple edit-while-capture files without having an additional storage overhead.

The system comprises a number of different functional areas including:

Ingest Browse Client

Technical notes:

Locations of visitors to this page