Home Products Sales Support Company Contact

Home     |     Products     |     Contact                                                                                 © 2011 TestVid

 

Broadcasters

Codec developers

 

White Papers and Technical Briefings

 

Real-Time Play-out of YUV Video in a Broadcast Environment

UPDATE: Drastic Technologies now supports direct play-out of all Tvids on HD-SDI using Aja and BlueFish boards - contact TestVid for details (links on YUV viewers page).

 

Introduction

Tvids are provided as uncompressed video files, in ‘YUV’ format.  (See wikipedia http://en.wikipedia.org/wiki/YUV for a general description of YUV format.)

In many instances - for example in broadcast applications - it is required to be able to play video files in real-time for example on an SDI,ASI, HDMI or DVI link, to be used as input to a video server, video encoder, transcoder, set-top box or video transmission chain, or to a display device such as a TV or projector.  Therefore some hardware is required to take the Tvids stored on a disk, and output them on the required link.

This white paper provides information on possible means of playing out the YUV files that comprise Tvids, in real-time, over an SDI, ASI, HDMI or DVI link.

 

Option 1: Using a Video Server - copy the Tvids directly to disk

A ‘video server’ is a specialised computer (usually rack mount) that has been configured in hardware and software to play out video from disk in real-time onto an SDI, ASI or HDMI link, or ‘ingest’ video from an SDI or ASI link in real-time, or do both (often with multiple channels concurrently).  Typically the video data is stored on the video server in compressed format, such as MPEG-2, H.264 (video) within a ‘container file’ such as MPEG-2 Transport Stream or MOV (QuickTime) file.  The container file wraps together or references the video and audio files and provides information on them, to allow the server to play the video/audio correctly.

The container file and/or the video part within that container gives information to the video server about such things as the codec used, frame rate, resolution, bit-depth, etc.

There are two problems to be overcome in playing out the YUV Tvids files on such a video server:

  • Problem 1: how to get the YUV files actually onto the video server disk
  • Problem 2: YUV format includes only the video data itself, with no header, frame rate, resolution or other information, so the video server has to be given this information separately

With the video servers listed below, neither of these is a problem (and likely the same applies with almost all video servers).

All the video servers listed have some form of cabled network connection separate from the video path, such as Gigabit Ethernet or fibre-optic connection, as illustrated schematically below:

Note that the schematic includes the most common ports and for clarity omits some I/O that is often found on such video servers, such as time code I/O (LTC), AES audio via a D25 connector, RS422/RS232, IEEE1394 and increasingly HDMI and DVI.

 

 

 

Problem 1 solved

As illustrated, to load the Tvids onto the video server is straight-forward: the video server would be available as a location on the broadcast network and the Tvids are simply copied to the internal disk of the video server via the Gig-E / fibre port shown in blue (under the control of the video server or asset management software).

 

Problem 2 solved

The next issue is then informing the video server about the details of the YUV files so that it knows how to play them out.

This also is straight-forward, as the software which controls the video server provides for scheduling and association of particular play-out parameters with files or groups of files.  (And the reason that YUV play-out is supported in all video servers is that this is the standard format that is used for input with video encoders.)

From the information available to TestVid, the following vendors provide video servers which will play out the Tvids in real-time as described above (note that this is by no means an exhaustive list, nor an endorsement of any of these vendors/video servers):

 

 

 

 

 

 

Option 2: Using Transcoder / Video Encoder software (or hardware)

‘Transcoder’ software typically reads a video/audio file in one format, decodes it, and then re-encodes it in another format (or possibly multiple other formats).  Well-known vendors of such software are:

  • Anystream
  • Digital Rapids
  • Rhozet (Harmonic)
  • Telestream

Typically this software runs on a powerful PC or multiple PCs, connected on the broadcaster’s Gigabit Ethernet or fibre-channel network, receiving multiple files and producing multiple file outputs under the control of an asset management or automation system which schedules the transcodes.

As these transcoders are working purely on files and doing their I/O over Ethernet or fibre-channel, the ‘play-out’ is not actually real-time or on SDI / ASI / HDMI / DVI.

However, all the above transcoders can take uncompressed YUV files as inputs, and in this way these files can be transferred to a hardware video server for real-time play-out.  In this way, ‘Problem 1’ and ‘Problem 2’ (as described above) are both solved.

In addition to the above list many other vendors offer transcoding capability in their hardware and/or software components, such as Harris, Omneon, Thomson Grass Valley, Sony, Evertz, Harmonic, Snell.

 

 

Option 3: “Roll your own” Video Server Using a ‘Standard’ PC/Mac

Putting the Tvids YUV files onto a PC disk is trivial: just copy them from the USB disk unit provided.

However, the problem then becomes: how to get the video out as a real-time stream on an SDI / ASI / HDMI / DVI port?  This problem has three parts:

  • Part A: how to produce an SDI / ASI / HDMI / DVI output
  • Part B: providing hardware that can support real-time output, taking the video from disk to the output without interruption at the required data rate
  • Part C: software to control the process, that can use the YUV files

 

Part A solved: the right output

This is solved easily by using dedicated boards as follows:

 

 

 

 

 

 

 

 

 

 

(There may well be others)

Note: check the above vendor’s websites for the latest information

 

Part B solved: fast video transfer from disk to output

This has a number of elements:

  •   disk drive array that can provide the required sustained data rate
  •   a disk drive controller for the disk array
  •   a fast enough computer to provide the data transfer to the above output boards

- essentially the items in dark green with white text, in the diagram on the left

 

 

 

 

 

 

 

 

 

 

 

 

The video data rates can be large for HD video, particularly when playing out YUV 4:4:4 (or YUV 4:2:0 which has been converted to RGB for play-out):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1MByte is defined here as 1,000,000 bytes)

 

However, the websites for Aja, BlackMagic Design and Bluefish444 indicate that these data rates are achievable with the correct set up of hard disk, disk controller and PC (HD 1080p60 requires specifically fast hardware).

Information and recommendations for PC systems, disk drives and disk controllers is available from these companies at (all these companies also provide recommendations on suitable Mac-based systems):

The information on these websites is kept up-to-date by the companies concerned, so is not replicated here.

 

Part C solved: software to control the video play-out

There are various options:

  • 1: low level software which plays the YUV files directly, or
  • 2: wrap the YUV files, e.g. in an AVI or QuickTime MOV and use software to play the AVI / MOV or
  • 3: make a conversion of the YUV files e.g. to BMPs / other then use software to play the BMPs / other as a video file

As playing out ‘raw’ YUV files is not a feature that is frequently used for Aja / BlackMagic Design / Bluefish444, the information on their respective websites is not very clear, however there are the following options:

 

Option 1: play-out using low-level software

There are various YUV viewers but these play the YUV video on the main PC screen rather than on an SDI (although it may be possible to configure play-out to an SDI port instead as the primary video output, there will still be the usual Windows menus, scroll bars etc. around the video).

An alternative with the BlackMagic Design DeckLink card is to use DirectShow to play the YUV video, although this is dependent upon the specific codecs loaded and requires various installations - this option is currently under investigation at TestVid.

Overall, Option 1 is not straightforward.

 

Option 2: wrap the YUV in AVI / MOV

This has two stages:

- first wrap the video in an AVI file (wrapping in an MOV file is not straightforward)

- play out the video using one of several software packages

 

To wrap the video in an AVI file there are two straightforward options using freely available software:

I. FFMPEG, downloadable from: http://www.ffmpeg.org/download.html

II. VirtualDub, downloadable from: http://www.virtualdub.org/download.html

 

To use FFMPEG to make an AVI file:

a) download and install FFMPEG

b) open a command prompt window or use a batch file with the following command

   ffmpeg -s 1920x1080 -i T2V001002_Stars_n_Stripes_1920x1080p.yuv -vcodec copy T2V001002_out.avi

(the input and output filenames can be whatever appropriate of course, although the file extensions should be .yuv for input and .avi for output)

FFMPEG has the benefit that (when using the above command line) the YUV video data is inserted into the AVI file with no conversion or changes of any sort.  However, it will not output 10-bit video and although a valid .mov file can be generated, with YUV 4:2:0 in the file it is not correctly interpreted by QuickTime or Adobe Premiere Pro CS4.

 

An alternative is to use VirtualDub to make an AVI file (although using FFMPEG is the recommended method):

a) download and install VirtualDub

b) download and install AviSynth, downloadable from: http://www.avisynth.org/

c) download and install RawSource.dll, downloadable from: http://avisynth.org/warpenterprises/

d) make a text file (e.g. using Notepad) as follows; save it to test.avs (or other filename with .avs extension):

   loadplugin("c:\vidtools\avisynth\rawsource\rawsource.dll")

   RawSource("C:\Temp\T2V001002_Stars_n_Stripes_1920x1080p.yuv", pixel_type="I420", width=1920, height=1080)

   (Note that the above assumes the given installation folders)

e) Open VirtualDub and on the File menu, click ‘Open video file’ and browse to find testsave.avs and click to open it

f) On the File menu, click ‘Save as AVI’: this then saves the AVI (e.g. as test.avi, BUT NOTE that this also converts the video from YUV 4:2:0 to RGB 4:4:4

 

Once the file is in AVI format it can be played out on SDI:

  • using the software application provided with the I/O board (Aja Machina software, BlackMagic Design MediaExpress software, or Bluefish444 software)
  •  Aja’s Machina software application, or
  • using one of the ‘standard’ video editing software packages such as Adobe Premiere Pro / CS4 or Final Cut Pro, both of which are fully supported by the vendors of the I/O boards

 

 

Option 4: .. and finally ..

If you don’t want to do any of the above, TestVid may be able to connect you with a company that can offer a complete packaged solution with the right hardware and software - please contact TestVid for more information.

 

 

 

NOTE: there will be updates to this white paper in June 2010 (and probably later) so please check back, or contact TestVid to be notified when there are updates to this.

 

 

 

  • Omneon (Spectrum; MediaDeck)
  • Quantel
  • Florical
  • Thomson Grass Valley (K2 range)
  • Evertz
  • Abekas
  • Harris (Nexio)
  • Hitachi
  • DVS Digital Video Systems
  • Sony
  • 360 Systems

 

Vendor

URL

Possible product(s)

Real-time video outputs

Aja

http://www.aja.com/products/kona/

Kona 3

Kona LHi

SDI dual-link; analog component & composite

3G SDI; HDMI; analog component & composite

BlackMagic Design

http://www.blackmagic-design.com/products/

DeckLink HD Extreme 3D

DeckLink Studio

2 x SDI (incl. 3 Gb/s), HDMI; analog component & composite

SDI, HDMI; analog component & composite

BlueFish444

http://www.bluefish444.com/products/retail/default.asp

Epoch (various options)

Create

3G SDI; HDMI; DVI; dual link

3G SDI; HDMI; DVI; dual link; with multi-channel

 

Video resolution

Progressive / Interlaced

 

Frame rate (fps)

Sustained data rate required; MBytes/second

YUV 4:2:0

YUV 4:4:4 (or RGB)

SD NTSC 720x480

Interlaced

29.97

16

31

SD PAL 720x576

Interlaced

25

16

31

HD 720p25 1280x720

Progressive

25

35

69

HD 720p30 1280x720

Progressive

29.97

41

83

HD 1080i50 1920X1080

Interlaced

25

78

156

HD 1080i60 1920X1080

Interlaced

29.97

93

186

HD 1080p25 1920X1080

Progressive

25

78

156

HD 1080p30 1920X1080

Progressive

29.97

93

186

HD 1080p60 1920X1080

Progressive

60

187

373

2K D-Cinema 2048x1152

Progressive

24

YUV 4:2:2 10-bit (2 bytes/sample)        113

2K 3D D-Cinema 2048x1152

Progressive

24

YUV 4:2:2 10-bit (2 bytes/sample)        226