Open Source in the Broadcast Environment

45
Open Source in the Broadcast Environment Phillip Blucas Louisiana Public Broadcasting

description

Open Source in the Broadcast Environment Presentation By Phillip Blucas

Transcript of Open Source in the Broadcast Environment

Page 1: Open Source in the Broadcast Environment

Open Source in the Broadcast Environment

Phillip Blucas Louisiana Public Broadcasting

Page 2: Open Source in the Broadcast Environment

Objectives • Briefly explain what open source is • Discuss some projects that are useful for

broadcasters • Q&A

Page 3: Open Source in the Broadcast Environment

What is Open Source? • Software whose source code is available

to the public to copy, modify, or redistribute without royalties or fees

• Not shareware or payware (or necessarily freeware)

Page 4: Open Source in the Broadcast Environment

WinZIP, WinRAR, 7-Zip

Page 5: Open Source in the Broadcast Environment

WinZIP, WinRAR, 7-Zip

Page 6: Open Source in the Broadcast Environment

WinZIP, WinRAR, 7-Zip

Page 7: Open Source in the Broadcast Environment

Process Explorer

Page 8: Open Source in the Broadcast Environment

Copyright and Licensing • Each contributor retains copyright • Various licenses available (GPL, LGPL,

Apache, BSD, MIT) • Dual-licensing (x264, MySQL, Asterisk)

Page 9: Open Source in the Broadcast Environment

Licenses • BSD, MIT, ISC • Apache • GPL • LGPL

Page 10: Open Source in the Broadcast Environment

Revenue Sources • Paid support • Hold newest changes back • Consulting contracts • Damages from license violators • Donations

Page 11: Open Source in the Broadcast Environment

OSS in the IT World • Pervasive - Linux kernel, GNU tools (gcc,

glibc), Apache, MySQL, Perl, PHP, Java, X • Widely accepted • Viable alternative to closed source

Page 12: Open Source in the Broadcast Environment

OSS Advantages • Customization • Transparency • Cost • Quality

Page 13: Open Source in the Broadcast Environment

Barriers for OSS in Broadcast • Large budgets • Dedicated hardware • Support • Documentation and interoperability

Page 14: Open Source in the Broadcast Environment

Who is driving development? • Internet companies • IPTV and non-traditional providers • Some traditional broadcasters • Consumer electronics manufacturers • Video nerds

Page 15: Open Source in the Broadcast Environment

FFmpeg and Libav • Swiss army knife of multimedia • FFmpeg forked for internal reasons • Provides LGPL library and command line

tool

Page 16: Open Source in the Broadcast Environment

FFmbc • FFmpeg fork specifically for broadcast • Support for XDCAM, IMX, ProRes,

DNxHD, AVCIntra • Merge/Split audio tracks

Page 17: Open Source in the Broadcast Environment

FFmbc • Write AFD in MXF files • OP-1a Avid MXF • DPX encoding • DVCPROHD encoder in QT or MXF

Page 18: Open Source in the Broadcast Environment

VLC • Cross

platform media player

Page 19: Open Source in the Broadcast Environment

x264 • Open source MPEG-4/AVC encoder • ISO/IEC 14496-10/ITU-T H.264/AVC • GPL and commercial license

Page 20: Open Source in the Broadcast Environment

x264 • Won the last

five Moscow State University annual codec comparisons

Page 21: Open Source in the Broadcast Environment

x264 • 8-bit and 10-bit • 4:2:0, 4:2:2, and 4:4:4 • Lossless • Low latency tools • Periodic intra refresh

Page 22: Open Source in the Broadcast Environment

x264 • Blu-ray support – GDMX and Criterion • Interlacing – MBAFF • 3D – Frame packing, MVC pending • Some broadcast users • Even more Internet users

Page 23: Open Source in the Broadcast Environment

Open Broadcast Encoder • Already some in-house encoders in use • Use OSS projects to create a high-end

realtime encoder on commodity hardware • OBE for real time and video on demand

use cases

Page 24: Open Source in the Broadcast Environment

Open Broadcast Encoder • libmpegts – MPEG-2 TS mux library • OBE VoD – Fork of the x264 command

line program with audio, captions, and MPEG-2 transport stream support

• OBE RT – Real-time live encoding from (HD)SDI sources to UDP/RTP and ASI

Page 25: Open Source in the Broadcast Environment

Open Broadcast Encoder • LPB – Lottery drawings and legislative

coverage on SES-2 • Frikanalen – OTA DVB channel in Norway • WildTV, Najdi

Page 26: Open Source in the Broadcast Environment

x262 • MPEG-2 encoder based on x264 • Open source ATSC chain • Developed by me (shameless plug)

Page 27: Open Source in the Broadcast Environment

libzvbi • Library to parse VBI pulses • 608/708 Captions, XDS, Teletext • Already existed as part of Zapping TV

viewer

Page 28: Open Source in the Broadcast Environment

biTStream • C headers for reading/writing MPEG and

DVB PSI structures • Potential for ATSC support to create an

open source PSIP generator

Page 29: Open Source in the Broadcast Environment

dvblast • Stream TV channels to a network • Sources could be DVB satellite tuner, ASI,

or IP • Downlink diversity site

Page 30: Open Source in the Broadcast Environment

AviSynth • Powerful scripting language for

manipulating video • Wine support. Also avixsynth for Linux. • Standards conversion, grain removal,

color space conversion, de-banding, editing

Page 31: Open Source in the Broadcast Environment

AviSynth • Tons of 3rd party plugins • Pre-packaged scripts for common

restoration tasks

Page 32: Open Source in the Broadcast Environment

AviSynth • 24p to 30i • 720p and 1080i cross converting • Fix field blending in PAL/NTSC transfers • Botched deinterlacing • Restore 8mm film

Page 33: Open Source in the Broadcast Environment

Handbrake • Tool for

DVD conversion

Page 34: Open Source in the Broadcast Environment

SoX • Sound eXchange • Raw, Amiga, AIFF, Sun, WAV variants • Filtering system for effects • Merge, concatenate, mix

Page 35: Open Source in the Broadcast Environment

AtomicParsley • Tool for editing iTunes metadata with MP4

assets • Episode Number, Season, TV Network

Page 36: Open Source in the Broadcast Environment

Phil 3000 • Set of scripts for transcoding media at LPB • C# frontend talks to a Microsoft HPC

cluster with 4 nodes

Page 37: Open Source in the Broadcast Environment

CasparCG • Live production graphics system created

by SVT (Swedish TV) • Plays Flash content on-air

Page 38: Open Source in the Broadcast Environment

Ingex • Multi-camera tapeless recording • Commodity PC with SDI capture cards • Capture, log, generate EDL • DVCPro50/HD, IMX50, DNxHD, Avid

2:1/10:1/20:1 • Developed by BBC Research

Page 39: Open Source in the Broadcast Environment

Ingex Archive • BBC had 380,000 D3 tapes in 2006 • Archived uncompressed (SMPTE 384M

and 382M) in MXF OP-1A to LTO-3 tape • Simultaneously created viewing proxies

with x264 and FAAC

Page 40: Open Source in the Broadcast Environment

Media Loving Toolkit (MLT) • C framework for controlling media ingest

and playout • Could build playout server that can do

branding (crawls, lower thirds, bugs)

Page 41: Open Source in the Broadcast Environment

Lightworks • Open source

NLE (almost) • Yearly

subscription

Page 42: Open Source in the Broadcast Environment

OpenShot • Linux NLE • Built on

FFmpeg and MLT

Page 43: Open Source in the Broadcast Environment

Blender • 3D

modeling and effects

Page 44: Open Source in the Broadcast Environment

TeleKast • Prompter with

segments

Page 45: Open Source in the Broadcast Environment