SlideShare a Scribd company logo
Vimeo and Open Source (SMPTE Forum 2015)
Tools & Techniques
of the web at
Vimeo
2
Summary
1. Introduction
2. Architecture & Tools
3. Future
4. Conclusions
Contact
Derek Buitenhuis
Video Encoding Engineer
derekb@vimeo.com
http://github.com/dwbuiten
daemon404
FOSS
3
Introduction
4
Vimeo – About us
Who are we?
• Top 5 Video Site.
• Content Creators.
• Multimedia Hackers.
• Creative Innovators.
Introduction
5
Vimeo – About us
What do we do?
• Transcoding and video
hosting at a high level of
quality, at a
• Create educational and
entertaining content.
• Video On Demand and
tools for professionals.
Introduction
6
Vimeo – About us
Who uses us?
• Independent artists.
• Small to Large Pros.
• Businesses.
• Regular people!
Introduction
7
Architecture & Tools
8Architecture
Transcoding Pipeline
Server
1
Gearman
Daemon 1
Video Worker 1
Video Worker 2
Video Worker N
Audio Worker
Mux/Combine
Worker
Server
2
Video Worker 1
Video Worker 2
Video Worker M
Audio Worker
…
Server
N
Gearman
Daemon M
Video Worker 1
Video Worker 2
Audio Worker
Video Upload
Metadata
Collector
(Caching)
Job Scheduler
Gearman
Daemon 1
Audio Encode
Chunk 1
Chunk 2
Combine and
Multiplex
…
Chunk N
Gearman
Daemon 2
…
Gearman
Daemon N
9
Tools of the Trade
A Few Awesome Media Projects
•Gearman – Great distributed job server with
a simple protocol usable from any language.
•FFmpeg/Libav – First class multimedia
toolkit.
•x264 – The Best H.264 encoder around.
•L-SMASH – Our preferred library for MP4
creation and demuxing/info. Rigidly strict to
the specs, nice upstream developers,
practical and realistic, has fewer LoC than
the space shuttle.
Architecture
10
Tools of the Trade Cont’d
A Few Awesome Media Projects
•ffms2 – Offers frame-accurate, and pre-
indexed seeking using the libav* libraries,
and has an easy-to-use API.
•FDK-AAC – Fraunhofer AAC encoder.
•MediaInfo – Very good probe tool.
•Many packages for Go.
•Many more!
Architecture
11
Open Source Policies
Long Term Maintainability and Benefits
• Going against the trend in the US, we do
not use Open Source software in bad faith;
we contribute bug fixes, features, and at-
scale-testing back, and do not violate
licenses.
• 3 of 5 members of the transcode team are
or were upstream FFmpeg developers, and
all are active open source contributors. All
are members of Open Source projects we
use.
• It is not viable in the long term to fork
internally, maintenance-wise, or feature-
wise.
• You’re probably already using it without
even realizing you are.
FOSS
12
European View
Open Source Media Lives in Europe
• The majority of FOSS multimedia
developers are Europe-based (FFmpeg,
VideoLAN, OBE, upipe, GPAC).
• Much of the skilled US-based multimedia
knowledge emigrated from Europe.
Personal theory is that European investors
are too risk-averse (old-style “pay it safe”
thinking). e.g. VideoLAN people thinking of
USA for VC funding.
• EBU has Open Source initiatives. Nothing
similar in USA? Hopefully leading to more
uptake.
• Unfortunately still a lot of FUD from
European Big Corps about Open Source.
Particularly in the UK.
FOSS
13
Current Situation
• VP9 – Legitimate quality gains,
library too slow to use without
ridiculous amounts of hardware.
Rate control utterly broken. No
hardware support.
• DASH – Makes streaming and
GOP-distributed encoding easier
than ever. Reasonable spec and
implementations available server-
side, not great libraries client-
side. Stupid XML playlist;
everyone is using MSE instead.
• HEVC – No encoding library
currently beats best-in-class AVC
encoder (x264). Some hardware
support.
• AAC – Same old, same old.
Architecture
Bandwidth – Internet pipes aren’t
getting better fast enough to support
4k. We either need to force change
or workaround it with codecs.
14
Future
• Daala – Doing interesting things.
Definitely worth keeping an eye
on.
• DASH – There’s always more to
do, such as device support.
• x265 – Shaping up well, still not
useful in production yet.
Confusing competing patent
pools (WTF).
• Opus – Soon available in
ISOMBFF. Currently available in
WebM/Matroska, MPEG-TS, and
Ogg.
Architecture
15
Conclusions
16
Conclusions
• Do not be shy of admitting you use Open Source software or interacting with the
community.
• GOP-Distributed Encoding: Everyone’s been doing it for years, but it is easier
than ever with DASH.
• Still no real viable alternative to H.264 for mass consumption in 2015 for non-
Google-like entities. Do we wait for slow change (devices, hardware support) or
try and force it?
• Internet pipes need to get better in many counties
• Europe is well ahead of the North America in many of these aspects (Internet
pipes, new tech adoption, etc.), but behind in keeping innovators in Europe.
Conclusions
17
Questions?

More Related Content

PPTX
FFMS2: Indexing, Edge Cases, and Insanity
PDF
Every Solution is Wrong: Normalizing Ambiguous, Broken, and Pants-on-Head Cra...
PDF
Opening up Open Source
PDF
Multimedia Buzzword Bingo: Translating to English
PDF
PDF
Dev opsdays scriptcode
PDF
Unknown features of PHP
PDF
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
FFMS2: Indexing, Edge Cases, and Insanity
Every Solution is Wrong: Normalizing Ambiguous, Broken, and Pants-on-Head Cra...
Opening up Open Source
Multimedia Buzzword Bingo: Translating to English
Dev opsdays scriptcode
Unknown features of PHP
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm

What's hot (14)

PPTX
Intermediate Language Design of High-level Language VMs: Towards Comprehensiv...
PDF
PHP Frameworks Review - Mar 19 2015
PPTX
Shooting clay pidgins
PDF
Open source 101 for students
PDF
Janus: an open source and general purpose WebRTC (gateway) server
PPTX
2014 01-21-mpi-community-feedback
PDF
The Ultimate Debian Database
PPT
03 the c language
PDF
HKG15-901: Upstreaming 101
PPTX
Introduction of dotnet
PPT
C programming
PPTX
What's the "right" PHP Framework?
PPT
DITA for Localization
PDF
FOSDEM2017 - Janus Event Handlers
Intermediate Language Design of High-level Language VMs: Towards Comprehensiv...
PHP Frameworks Review - Mar 19 2015
Shooting clay pidgins
Open source 101 for students
Janus: an open source and general purpose WebRTC (gateway) server
2014 01-21-mpi-community-feedback
The Ultimate Debian Database
03 the c language
HKG15-901: Upstreaming 101
Introduction of dotnet
C programming
What's the "right" PHP Framework?
DITA for Localization
FOSDEM2017 - Janus Event Handlers
Ad

Similar to Vimeo and Open Source (SMPTE Forum 2015) (20)

PPTX
Intro to open source - 101 presentation
PPTX
PPTX
How to get started in Open Source!
PPTX
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
PDF
How to create/improve OSS product and its community (revised)
PDF
But we're already open source! Why would I want to bring my code to Apache?
PDF
Best practices for using open source software in the enterprise
PDF
Turning huge ships - Open Source and Microsoft
PDF
Open Source & What It Means For Self-Sovereign Identity (SSI)
PPTX
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
ODP
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
PDF
LCA14: LCA14-110: FLOSS Training
PDF
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
PDF
Leverage the power of Open Source in your company
PDF
GoOpen 2010: David Elboth
KEY
Mobeers waterloo-2011
PDF
“State of the Tooling” in Open Source Automation
PDF
CPSeis & GeoCraft
PPT
Case study
PDF
WebRTC, RED and Janus @ ClueCon21
Intro to open source - 101 presentation
How to get started in Open Source!
EMC World 2016 - code.10 Jumpstart your Open Source Presence through new Coll...
How to create/improve OSS product and its community (revised)
But we're already open source! Why would I want to bring my code to Apache?
Best practices for using open source software in the enterprise
Turning huge ships - Open Source and Microsoft
Open Source & What It Means For Self-Sovereign Identity (SSI)
EMC World 2016 - code.11 Intimidate me not - How to Contribute to Large Open ...
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
LCA14: LCA14-110: FLOSS Training
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
Leverage the power of Open Source in your company
GoOpen 2010: David Elboth
Mobeers waterloo-2011
“State of the Tooling” in Open Source Automation
CPSeis & GeoCraft
Case study
WebRTC, RED and Janus @ ClueCon21
Ad

More from Derek Buitenhuis (7)

PDF
Are Video Codecs... Done?
PDF
Colorspace: Useful For More Than Just Color? - SF Video Tech Meetup - 27 May ...
PDF
A Progressive Approach to the Past: Ensuring Backwards Compatability Through ...
PDF
I Wrote an FFV1 Decoder in Go for Fun: What I Learned Going from Spec to Impl...
PDF
Let's Be HAV1ng You - London Video Tech October 2019
PPTX
Let's Write a JPEG Decoder (Vimeo Lunch Talks)
PPTX
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Are Video Codecs... Done?
Colorspace: Useful For More Than Just Color? - SF Video Tech Meetup - 27 May ...
A Progressive Approach to the Past: Ensuring Backwards Compatability Through ...
I Wrote an FFV1 Decoder in Go for Fun: What I Learned Going from Spec to Impl...
Let's Be HAV1ng You - London Video Tech October 2019
Let's Write a JPEG Decoder (Vimeo Lunch Talks)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Empathic Computing: Creating Shared Understanding
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Empathic Computing: Creating Shared Understanding
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
“AI and Expert System Decision Support & Business Intelligence Systems”

Vimeo and Open Source (SMPTE Forum 2015)

  • 2. Tools & Techniques of the web at Vimeo
  • 3. 2 Summary 1. Introduction 2. Architecture & Tools 3. Future 4. Conclusions Contact Derek Buitenhuis Video Encoding Engineer derekb@vimeo.com http://github.com/dwbuiten daemon404 FOSS
  • 5. 4 Vimeo – About us Who are we? • Top 5 Video Site. • Content Creators. • Multimedia Hackers. • Creative Innovators. Introduction
  • 6. 5 Vimeo – About us What do we do? • Transcoding and video hosting at a high level of quality, at a • Create educational and entertaining content. • Video On Demand and tools for professionals. Introduction
  • 7. 6 Vimeo – About us Who uses us? • Independent artists. • Small to Large Pros. • Businesses. • Regular people! Introduction
  • 9. 8Architecture Transcoding Pipeline Server 1 Gearman Daemon 1 Video Worker 1 Video Worker 2 Video Worker N Audio Worker Mux/Combine Worker Server 2 Video Worker 1 Video Worker 2 Video Worker M Audio Worker … Server N Gearman Daemon M Video Worker 1 Video Worker 2 Audio Worker Video Upload Metadata Collector (Caching) Job Scheduler Gearman Daemon 1 Audio Encode Chunk 1 Chunk 2 Combine and Multiplex … Chunk N Gearman Daemon 2 … Gearman Daemon N
  • 10. 9 Tools of the Trade A Few Awesome Media Projects •Gearman – Great distributed job server with a simple protocol usable from any language. •FFmpeg/Libav – First class multimedia toolkit. •x264 – The Best H.264 encoder around. •L-SMASH – Our preferred library for MP4 creation and demuxing/info. Rigidly strict to the specs, nice upstream developers, practical and realistic, has fewer LoC than the space shuttle. Architecture
  • 11. 10 Tools of the Trade Cont’d A Few Awesome Media Projects •ffms2 – Offers frame-accurate, and pre- indexed seeking using the libav* libraries, and has an easy-to-use API. •FDK-AAC – Fraunhofer AAC encoder. •MediaInfo – Very good probe tool. •Many packages for Go. •Many more! Architecture
  • 12. 11 Open Source Policies Long Term Maintainability and Benefits • Going against the trend in the US, we do not use Open Source software in bad faith; we contribute bug fixes, features, and at- scale-testing back, and do not violate licenses. • 3 of 5 members of the transcode team are or were upstream FFmpeg developers, and all are active open source contributors. All are members of Open Source projects we use. • It is not viable in the long term to fork internally, maintenance-wise, or feature- wise. • You’re probably already using it without even realizing you are. FOSS
  • 13. 12 European View Open Source Media Lives in Europe • The majority of FOSS multimedia developers are Europe-based (FFmpeg, VideoLAN, OBE, upipe, GPAC). • Much of the skilled US-based multimedia knowledge emigrated from Europe. Personal theory is that European investors are too risk-averse (old-style “pay it safe” thinking). e.g. VideoLAN people thinking of USA for VC funding. • EBU has Open Source initiatives. Nothing similar in USA? Hopefully leading to more uptake. • Unfortunately still a lot of FUD from European Big Corps about Open Source. Particularly in the UK. FOSS
  • 14. 13 Current Situation • VP9 – Legitimate quality gains, library too slow to use without ridiculous amounts of hardware. Rate control utterly broken. No hardware support. • DASH – Makes streaming and GOP-distributed encoding easier than ever. Reasonable spec and implementations available server- side, not great libraries client- side. Stupid XML playlist; everyone is using MSE instead. • HEVC – No encoding library currently beats best-in-class AVC encoder (x264). Some hardware support. • AAC – Same old, same old. Architecture Bandwidth – Internet pipes aren’t getting better fast enough to support 4k. We either need to force change or workaround it with codecs.
  • 15. 14 Future • Daala – Doing interesting things. Definitely worth keeping an eye on. • DASH – There’s always more to do, such as device support. • x265 – Shaping up well, still not useful in production yet. Confusing competing patent pools (WTF). • Opus – Soon available in ISOMBFF. Currently available in WebM/Matroska, MPEG-TS, and Ogg. Architecture
  • 17. 16 Conclusions • Do not be shy of admitting you use Open Source software or interacting with the community. • GOP-Distributed Encoding: Everyone’s been doing it for years, but it is easier than ever with DASH. • Still no real viable alternative to H.264 for mass consumption in 2015 for non- Google-like entities. Do we wait for slow change (devices, hardware support) or try and force it? • Internet pipes need to get better in many counties • Europe is well ahead of the North America in many of these aspects (Internet pipes, new tech adoption, etc.), but behind in keeping innovators in Europe. Conclusions