SlideShare a Scribd company logo
1 of 11
Download to read offline
Multimedia Buzzword Bingo:
Translating 🐂💩 to English
derek@videolan.org
@daemon404
Derek Buitenhuis
23 September 2018
Paris, France
VideoLAN Dev Days
Who Am I?
123 September 2018
• This guy:
VideoLAN Dev Days
Preface
223 September 2018
• All of these terms are, by nature, vague and have multiple definitions.
• All of the examples in this talk are things I’ve seen in real life marketing.
• There are some good/useful implementations of some of these buzzwords.
• This talk is not about those.
VideoLAN Dev Days
Marketing Ruins Everything
323 September 2018
• You’re probably tired of getting e-mails asking about $service which has Cyborg Assisted Bit
Twiddling, or why we haven’t yet deployed the hot new codec with the encoder someone found in the
dumpster out back.
• You’re probably tired of looking into exactly what this specific iteration of that buzzword means.
• You’re probably tired of having to defend not buying into the hype, or a different server, etc.
VideoLAN Dev Days
The Simple Ones
423 September 2018
• Cloud-optimized:
• Too slow to run on a normal server or workstation so throw infinite CPUs at it instead of optimizing.
• Probably FFmpeg / x264 / etc., running via exec in Python / Node / Ruby on EC2 or GCE.
• Expensive.
• Low latency or Realtime:
• Not low latency by broadcast standards. Not low latency enough for sports (e.g betting).
• Otherwise: Outsourced to WebRTC, implemented by others.
• “30% Better Compression”:
• Not 30% for any real or widely applicable application.
• Likely not compared via PQ and not against competing encoders/methods with psy enabled.
• Engineers working on these products tend to get really antsy when you ask them about this.
VideoLAN Dev Days
Per-Title Encoding / Content-Adaptive Encoding
523 September 2018
• Simple explanation: It’s rate control. Usually built on top of libraries with really, really bad rate control.
• Possible meanings, depending on who is using the word:
• Worst case (yes this is a thing people do): Encode in a loop and until some metric versus the
reference is met (VMAF, PSNR, whatever).
• CRF + VBV + Some concept of tracking chunks. People did this long before this was a buzzword.
• Pick parameters to encode en masse and pick the one with the best resulting metric.
• Apply machine learning (NNs) or Viterbi to the above.
• For some reason, the concept that different media can be coded more or less efficiently is
groundbreaking and interesting. A few approaches to dealing with bad rate control are, but the
concept itself is not.
VideoLAN Dev Days
Shot-based Encoding / Per-scene Adaptation
623 September 2018
• Simple explanation: Scene changes are a thing! Different scenes can be coded more or less efficiently!
• Possible meanings, depending on who uses the word:
• “We figured out that only allowing the encoder to put intra frames at exactly N second boundaries
was bad for coding efficiency.”
• Apply all from the previous slide, but per scene. Maybe group similar shots. Maybe use Viterbi or NNs.
• If doing chunked encoding, split at scene changes instead of N seconds.
• GOP-size limited lowest cost placements for intra frames (aka max kf distance + Dijkstra on costs)
• Neither new nor novel. Some implementations can be interesting in the context of global rate control.
• Many people seem to not understand that what a human defines as a shot / scene change, while similar,
is not the same as where it is most efficient, cost-wise, to code an intra frame.
VideoLAN Dev Days
Blockchain
723 September 2018
• Simple explanation: A solution in search of a problem. Nobody has ever created a legitimately
useful multimedia product with this.
• There’s nothing useful to verify / provide proof for.
• There’s no implementation of anything multimedia related using blockchain that is actually better than
the non-blockchain implementation.
• Prove me wrong.
• Otherwerise: Don’t talk to me or my son ever again.
VideoLAN Dev Days
AI AI AI AI AI AI AI AI AI AI AI AI AI AI OMGAI AI AI AI AI AI AI AI AI A
823 September 2018
• Simple explanation: Depends too much on who is uses it. Ranges anywhere from “literally nothing”
to “Robin Williams”.
• Possible meanings:
• We trained a thing. We swear we didn’t imprint our biases or use bad metrics as a base.
• Literally just applied statistics, no machine intelligence or learning at all.
• We used VMAF as a metric. No, we didn’t train it for our use case. We used the existing Netflix stuff.
• Generic programming. Probably Viterbi.
• A marketing person was accidentally given a keyboard or pen.
VideoLAN Dev Days
Bonus
923 September 2018
• CMAF:
• A 101 page specification that is mostly defining a subset of other specifications. Nobody knows
why it is so massive. People only care because Apple does.
VideoLAN Dev Days
Further Reading
1023 September 2018
• You, too, can be a jaded Debbie Downer!
• The classic x264 “testing encoders” blog post:
https://web.archive.org/web/20140822041755/http://x264dev.multimedia.cx/archives/472
• My own rambling from some time in… 2013? 2014?:
https://gist.github.com/dwbuiten/d324e7c58cd36696eca11b70aaf4ba22
VideoLAN Dev Days

More Related Content

What's hot

FFMS2: Indexing, Edge Cases, and Insanity
FFMS2: Indexing, Edge Cases, and InsanityFFMS2: Indexing, Edge Cases, and Insanity
FFMS2: Indexing, Edge Cases, and InsanityDerek Buitenhuis
 
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)Derek Buitenhuis
 
mnNOG 3: IP technology adoption in Mongolia
mnNOG 3: IP technology adoption in MongoliamnNOG 3: IP technology adoption in Mongolia
mnNOG 3: IP technology adoption in MongoliaAPNIC
 
btNOG 8: IP technology adoption in Bhutan
btNOG 8: IP technology adoption in Bhutan btNOG 8: IP technology adoption in Bhutan
btNOG 8: IP technology adoption in Bhutan APNIC
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieESUG
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011Mike Long
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsMike Long
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life SoftwareMike Long
 
Why Python In Entertainment Industry?
Why Python In Entertainment Industry?Why Python In Entertainment Industry?
Why Python In Entertainment Industry?Shuen-Huei Guan
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven ProgrammingEthan Herdrick
 

What's hot (10)

FFMS2: Indexing, Edge Cases, and Insanity
FFMS2: Indexing, Edge Cases, and InsanityFFMS2: Indexing, Edge Cases, and Insanity
FFMS2: Indexing, Edge Cases, and Insanity
 
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
 
mnNOG 3: IP technology adoption in Mongolia
mnNOG 3: IP technology adoption in MongoliamnNOG 3: IP technology adoption in Mongolia
mnNOG 3: IP technology adoption in Mongolia
 
btNOG 8: IP technology adoption in Bhutan
btNOG 8: IP technology adoption in Bhutan btNOG 8: IP technology adoption in Bhutan
btNOG 8: IP technology adoption in Bhutan
 
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry Pie
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
 
Why Python In Entertainment Industry?
Why Python In Entertainment Industry?Why Python In Entertainment Industry?
Why Python In Entertainment Industry?
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven Programming
 

Similar to Multimedia Buzzword Bingo: Translating to English

Kernel Con 2022: Securing Cloud Native Workloads
Kernel Con 2022: Securing Cloud Native WorkloadsKernel Con 2022: Securing Cloud Native Workloads
Kernel Con 2022: Securing Cloud Native WorkloadsGabriel Schuyler
 
Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Brian LeRoux
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thingBelsoft
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical ApproachJeremy Brown
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012Nick Galbreath
 
How to Lose a Dev In 3 Ways
How to Lose a Dev In 3 WaysHow to Lose a Dev In 3 Ways
How to Lose a Dev In 3 WaysJamie Wittenberg
 
AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018Chad Hart
 
Introduction to GluonCV
Introduction to GluonCVIntroduction to GluonCV
Introduction to GluonCVApache MXNet
 
What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingCamille Bell
 
“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...Edge AI and Vision Alliance
 
Bridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the CloudBridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the CloudInside Analysis
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsDynatrace
 
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a WalkthroughKCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a WalkthroughNico Meisenzahl
 
examkiller 000-938
examkiller 000-938examkiller 000-938
examkiller 000-938jimenoon
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Looker
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 
MetaGeek Chanalyzer & inSSIDer Product Explanation.
MetaGeek Chanalyzer & inSSIDer Product Explanation. MetaGeek Chanalyzer & inSSIDer Product Explanation.
MetaGeek Chanalyzer & inSSIDer Product Explanation. MetaGeek
 
Whats Next for Machine Learning
Whats Next for Machine LearningWhats Next for Machine Learning
Whats Next for Machine LearningOgilvy Consulting
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaSteve Poole
 

Similar to Multimedia Buzzword Bingo: Translating to English (20)

Kernel Con 2022: Securing Cloud Native Workloads
Kernel Con 2022: Securing Cloud Native WorkloadsKernel Con 2022: Securing Cloud Native Workloads
Kernel Con 2022: Securing Cloud Native Workloads
 
Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011Nitobi/PhoneGap at Bootup 2011
Nitobi/PhoneGap at Bootup 2011
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical Approach
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 
How to Lose a Dev In 3 Ways
How to Lose a Dev In 3 WaysHow to Lose a Dev In 3 Ways
How to Lose a Dev In 3 Ways
 
AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018AI in RTC - RTC Korea 2018
AI in RTC - RTC Korea 2018
 
Introduction to GluonCV
Introduction to GluonCVIntroduction to GluonCV
Introduction to GluonCV
 
What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About Testing
 
“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...
 
Bridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the CloudBridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the Cloud
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a WalkthroughKCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
KCD Munich 2022: Hijack a Kubernetes Cluster - a Walkthrough
 
examkiller 000-938
examkiller 000-938examkiller 000-938
examkiller 000-938
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 
MetaGeek Chanalyzer & inSSIDer Product Explanation.
MetaGeek Chanalyzer & inSSIDer Product Explanation. MetaGeek Chanalyzer & inSSIDer Product Explanation.
MetaGeek Chanalyzer & inSSIDer Product Explanation.
 
Whats Next for Machine Learning
Whats Next for Machine LearningWhats Next for Machine Learning
Whats Next for Machine Learning
 
Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about Java
 

Recently uploaded

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

Multimedia Buzzword Bingo: Translating to English

  • 1. Multimedia Buzzword Bingo: Translating 🐂💩 to English derek@videolan.org @daemon404 Derek Buitenhuis 23 September 2018 Paris, France VideoLAN Dev Days
  • 2. Who Am I? 123 September 2018 • This guy: VideoLAN Dev Days
  • 3. Preface 223 September 2018 • All of these terms are, by nature, vague and have multiple definitions. • All of the examples in this talk are things I’ve seen in real life marketing. • There are some good/useful implementations of some of these buzzwords. • This talk is not about those. VideoLAN Dev Days
  • 4. Marketing Ruins Everything 323 September 2018 • You’re probably tired of getting e-mails asking about $service which has Cyborg Assisted Bit Twiddling, or why we haven’t yet deployed the hot new codec with the encoder someone found in the dumpster out back. • You’re probably tired of looking into exactly what this specific iteration of that buzzword means. • You’re probably tired of having to defend not buying into the hype, or a different server, etc. VideoLAN Dev Days
  • 5. The Simple Ones 423 September 2018 • Cloud-optimized: • Too slow to run on a normal server or workstation so throw infinite CPUs at it instead of optimizing. • Probably FFmpeg / x264 / etc., running via exec in Python / Node / Ruby on EC2 or GCE. • Expensive. • Low latency or Realtime: • Not low latency by broadcast standards. Not low latency enough for sports (e.g betting). • Otherwise: Outsourced to WebRTC, implemented by others. • “30% Better Compression”: • Not 30% for any real or widely applicable application. • Likely not compared via PQ and not against competing encoders/methods with psy enabled. • Engineers working on these products tend to get really antsy when you ask them about this. VideoLAN Dev Days
  • 6. Per-Title Encoding / Content-Adaptive Encoding 523 September 2018 • Simple explanation: It’s rate control. Usually built on top of libraries with really, really bad rate control. • Possible meanings, depending on who is using the word: • Worst case (yes this is a thing people do): Encode in a loop and until some metric versus the reference is met (VMAF, PSNR, whatever). • CRF + VBV + Some concept of tracking chunks. People did this long before this was a buzzword. • Pick parameters to encode en masse and pick the one with the best resulting metric. • Apply machine learning (NNs) or Viterbi to the above. • For some reason, the concept that different media can be coded more or less efficiently is groundbreaking and interesting. A few approaches to dealing with bad rate control are, but the concept itself is not. VideoLAN Dev Days
  • 7. Shot-based Encoding / Per-scene Adaptation 623 September 2018 • Simple explanation: Scene changes are a thing! Different scenes can be coded more or less efficiently! • Possible meanings, depending on who uses the word: • “We figured out that only allowing the encoder to put intra frames at exactly N second boundaries was bad for coding efficiency.” • Apply all from the previous slide, but per scene. Maybe group similar shots. Maybe use Viterbi or NNs. • If doing chunked encoding, split at scene changes instead of N seconds. • GOP-size limited lowest cost placements for intra frames (aka max kf distance + Dijkstra on costs) • Neither new nor novel. Some implementations can be interesting in the context of global rate control. • Many people seem to not understand that what a human defines as a shot / scene change, while similar, is not the same as where it is most efficient, cost-wise, to code an intra frame. VideoLAN Dev Days
  • 8. Blockchain 723 September 2018 • Simple explanation: A solution in search of a problem. Nobody has ever created a legitimately useful multimedia product with this. • There’s nothing useful to verify / provide proof for. • There’s no implementation of anything multimedia related using blockchain that is actually better than the non-blockchain implementation. • Prove me wrong. • Otherwerise: Don’t talk to me or my son ever again. VideoLAN Dev Days
  • 9. AI AI AI AI AI AI AI AI AI AI AI AI AI AI OMGAI AI AI AI AI AI AI AI AI A 823 September 2018 • Simple explanation: Depends too much on who is uses it. Ranges anywhere from “literally nothing” to “Robin Williams”. • Possible meanings: • We trained a thing. We swear we didn’t imprint our biases or use bad metrics as a base. • Literally just applied statistics, no machine intelligence or learning at all. • We used VMAF as a metric. No, we didn’t train it for our use case. We used the existing Netflix stuff. • Generic programming. Probably Viterbi. • A marketing person was accidentally given a keyboard or pen. VideoLAN Dev Days
  • 10. Bonus 923 September 2018 • CMAF: • A 101 page specification that is mostly defining a subset of other specifications. Nobody knows why it is so massive. People only care because Apple does. VideoLAN Dev Days
  • 11. Further Reading 1023 September 2018 • You, too, can be a jaded Debbie Downer! • The classic x264 “testing encoders” blog post: https://web.archive.org/web/20140822041755/http://x264dev.multimedia.cx/archives/472 • My own rambling from some time in… 2013? 2014?: https://gist.github.com/dwbuiten/d324e7c58cd36696eca11b70aaf4ba22 VideoLAN Dev Days