Things Developers Believe About Video Files (Proven Wrong by User Uploads)Derek Buitenhuis
These are the slides from my Demuxed 2017 talk. VOD will be available in a few weeks.
Original description:
Think you know all there is to know about different video formats, codecs, and containers? Your users are here to prove you wrong! Let's take a quick dive the insanity of petabytes of user uploads on a top video website.
Let's Be HAV1ng You - London Video Tech October 2019Derek Buitenhuis
Talk I have at the October 2019 London Video Tech meetup covering a few of the many AV1 coding tools (old and new), a small rant on some AV1 tests, and some graphs.
Video: <upload pending>
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.
A short talk I gave to R&D department in Digimax, Inc. It's dedicated to briefly describe how to parallelize your routine work in animation industry by making use of some tools.
The slides for the "Fuzzing Janus for fun and profit" paper I presented at IPTComm 2019, in Chicago. Simon (Romano) came up with the title, as a homage to the famous "Smashing the stack for fun and profit" article.
Things Developers Believe About Video Files (Proven Wrong by User Uploads)Derek Buitenhuis
These are the slides from my Demuxed 2017 talk. VOD will be available in a few weeks.
Original description:
Think you know all there is to know about different video formats, codecs, and containers? Your users are here to prove you wrong! Let's take a quick dive the insanity of petabytes of user uploads on a top video website.
Let's Be HAV1ng You - London Video Tech October 2019Derek Buitenhuis
Talk I have at the October 2019 London Video Tech meetup covering a few of the many AV1 coding tools (old and new), a small rant on some AV1 tests, and some graphs.
Video: <upload pending>
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.
A short talk I gave to R&D department in Digimax, Inc. It's dedicated to briefly describe how to parallelize your routine work in animation industry by making use of some tools.
The slides for the "Fuzzing Janus for fun and profit" paper I presented at IPTComm 2019, in Chicago. Simon (Romano) came up with the title, as a homage to the famous "Smashing the stack for fun and profit" article.
My talk on the excellent work Alessandro Toppi did at Meetecho on investigating the different code fuzzing options, and how it was eventually integrated in Janus for improving the robustness of the WebRTC stack (RTP, RTCP and SDP currently). It includes considerations on sharing corpora files and making this all distributed via OSS-Fuzz.
Slides for the presentation on Insertable Streams and E2EE in WebRTC I presented at the virtual edition of ClueCon 2020. After an introduction on the past and recent E2EE efforts, the slides also present some efforts to integrate the technology in the Janus WebRTC server as well.
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
Slides for my "WebRTC-to-SIP and back: it's not all about audio and video" presentation at the OpenSIPS Summit 2024.
They describe my prototype efforts to add gatewaying support for a few SIP application protocols (T.140 for real-time text and MSRP) to Janus via data channels, with the related implementation challenges and the interesting opportunities they open.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SJ7PSV.
Alex Blewitt talks about Swift, the open source released in December 2015 and available on Linux as well as OSX and iOS. He looks at the open-source project, how applications and libraries can be built for both platforms, the differences between the different builds and how Swift works under the hood. Filmed at qconlondon.com.
Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He currently works for a financial company in London and writes for the online technology news site InfoQ, as well as other books for Packt Publishing. He also has a number of apps on the App Store through Bandlem Limited.
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)Chris Adamson
The iPhone is the best iPod Apple's ever made, and the iPad has replaced the TV for many users. And while developers can use documentation and books master the media frameworks (AV Foundation, Core Audio, and the rest), there's nothing in Xcode that will keep your audio from dropping out, fix artifacting on video with a lot of motion, or properly balance performance on the most-capable new Retina devices with backwards-compatibility with older ones. This session offers a ground-level intro to what's actually in your iTunes songs and streaming videos, and how to best encode them for the realities of iOS devices, their storage capacities and the networks they live on. We'll shoot, compress, and stream, all from a MacBook Air, and take a close look and listen to the results.
Slides for the 60 minutes workshop I presented at the virtual edition of ClueCon 2020 (ClueCon Deconstructed). The many slides cover different aspects in Janus, ranging from configuration, to plugins, how to write your own plugin, core features, recording, monitoring, and so on. Unfortunately I didn't have enough time to talk about everything, but slides should be easy to follow anyway.
Slides for the presentation I did remotely at Open Source World, to talk about audio-only WebRTC applications, and what we've done in Janus to improve and cover the requirements so far.
Workshop on SIP/WebRTC load testing, as presented at Kamailio World 2017. May make less sense without the live demos to support it, but can still contain info some might find useful.
Slides for the talk I made at the virtual edition of FOSDEM 2022, on how to use WHIP for WebRTC broadcasting ingestion, and how the distribution process could be done via WebRTC as well, e.g., via Janus (and the SOLEIL architecture).
DPFManager workshop in Barcelona with members of the Official Association of at the Librarians (Col·legi Oficial de Bibliotecaris i Documentalistes de Catalunya – COBDC), to show the functionalities offered by the DPF Manager to check TIFF files.
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Chris Adamson
Apple TV offers a friendly SDK, full of familiar view controllers and Foundation classes, with everything an iOS developer needs to develop their own streaming channel. Except for… you know… the streaming part. In this session, we'll look at how Apple's HTTP Live Streaming video works -- from flat files or live sources -- and how to get it from your computer to a streaming server and then to an Apple TV. We'll also look at common challenges for building streaming channel apps, like serving metadata, protecting content, and supporting single sign-on.
Webinar gravado: Programando Microcontroladores ARM da Microchip usando MPLAB...Embarcados
Cada vez mais é cobrado dos desenvolvedores rapidez na execução de um firmware e a cada dia as aplicações se tornam mais complexas, com intuito de facilitar o desenvolvimento e consequentemente diminuir o tempo de desenvolvimento a Microchip deseja mostrar a mais nova ferramenta Microchip Harmony 3.0, onde é possível configurar os periféricos dos microcontroladores ARM, assim como adicionar RTOS e middlewares de maneira simples aos projetos.
mais detalhes em: https://www.embarcados.com.br/webinars/webinar-arm-da-microchip-usando-mplabx-e-harmony/
From the Fast Feather Track at ApacheCon NA 2010 in Atlanta
This quick talk provides an overview of Apache Tika, looks at a new features and supported file formats. It then shows how to create a new parser, and finishes with using Tika from your own application.
Esta charla es acerca de las lecciones aprendidas operando el servicio SIP2SIP.info, una oferta para cuentas SIP gratuitas creada en el año 2004 usando software y estándares abiertos, incluye: Direccionamiento y numeración, Proxy SIP frente a diseño B2B, Aplicaciones más allá de VoIP, NAT: mejores prácticas, Mejores prácticas anti-fraude, Datos y Almacenamiento de contraseñas.
Conferencista: Adrian Georgescu
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
My talk on the excellent work Alessandro Toppi did at Meetecho on investigating the different code fuzzing options, and how it was eventually integrated in Janus for improving the robustness of the WebRTC stack (RTP, RTCP and SDP currently). It includes considerations on sharing corpora files and making this all distributed via OSS-Fuzz.
Slides for the presentation on Insertable Streams and E2EE in WebRTC I presented at the virtual edition of ClueCon 2020. After an introduction on the past and recent E2EE efforts, the slides also present some efforts to integrate the technology in the Janus WebRTC server as well.
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
Slides for my "WebRTC-to-SIP and back: it's not all about audio and video" presentation at the OpenSIPS Summit 2024.
They describe my prototype efforts to add gatewaying support for a few SIP application protocols (T.140 for real-time text and MSRP) to Janus via data channels, with the related implementation challenges and the interesting opportunities they open.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1SJ7PSV.
Alex Blewitt talks about Swift, the open source released in December 2015 and available on Linux as well as OSX and iOS. He looks at the open-source project, how applications and libraries can be built for both platforms, the differences between the different builds and how Swift works under the hood. Filmed at qconlondon.com.
Alex Blewitt has over 20 years of experience in Objective-C and has been using Apple frameworks since NeXTSTEP 3.0. He currently works for a financial company in London and writes for the online technology news site InfoQ, as well as other books for Packt Publishing. He also has a number of apps on the App Store through Bandlem Limited.
Glitch-Free A/V Encoding (CocoaConf Boston, October 2013)Chris Adamson
The iPhone is the best iPod Apple's ever made, and the iPad has replaced the TV for many users. And while developers can use documentation and books master the media frameworks (AV Foundation, Core Audio, and the rest), there's nothing in Xcode that will keep your audio from dropping out, fix artifacting on video with a lot of motion, or properly balance performance on the most-capable new Retina devices with backwards-compatibility with older ones. This session offers a ground-level intro to what's actually in your iTunes songs and streaming videos, and how to best encode them for the realities of iOS devices, their storage capacities and the networks they live on. We'll shoot, compress, and stream, all from a MacBook Air, and take a close look and listen to the results.
Slides for the 60 minutes workshop I presented at the virtual edition of ClueCon 2020 (ClueCon Deconstructed). The many slides cover different aspects in Janus, ranging from configuration, to plugins, how to write your own plugin, core features, recording, monitoring, and so on. Unfortunately I didn't have enough time to talk about everything, but slides should be easy to follow anyway.
Slides for the presentation I did remotely at Open Source World, to talk about audio-only WebRTC applications, and what we've done in Janus to improve and cover the requirements so far.
Workshop on SIP/WebRTC load testing, as presented at Kamailio World 2017. May make less sense without the live demos to support it, but can still contain info some might find useful.
Slides for the talk I made at the virtual edition of FOSDEM 2022, on how to use WHIP for WebRTC broadcasting ingestion, and how the distribution process could be done via WebRTC as well, e.g., via Janus (and the SOLEIL architecture).
DPFManager workshop in Barcelona with members of the Official Association of at the Librarians (Col·legi Oficial de Bibliotecaris i Documentalistes de Catalunya – COBDC), to show the functionalities offered by the DPF Manager to check TIFF files.
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Chris Adamson
Apple TV offers a friendly SDK, full of familiar view controllers and Foundation classes, with everything an iOS developer needs to develop their own streaming channel. Except for… you know… the streaming part. In this session, we'll look at how Apple's HTTP Live Streaming video works -- from flat files or live sources -- and how to get it from your computer to a streaming server and then to an Apple TV. We'll also look at common challenges for building streaming channel apps, like serving metadata, protecting content, and supporting single sign-on.
Webinar gravado: Programando Microcontroladores ARM da Microchip usando MPLAB...Embarcados
Cada vez mais é cobrado dos desenvolvedores rapidez na execução de um firmware e a cada dia as aplicações se tornam mais complexas, com intuito de facilitar o desenvolvimento e consequentemente diminuir o tempo de desenvolvimento a Microchip deseja mostrar a mais nova ferramenta Microchip Harmony 3.0, onde é possível configurar os periféricos dos microcontroladores ARM, assim como adicionar RTOS e middlewares de maneira simples aos projetos.
mais detalhes em: https://www.embarcados.com.br/webinars/webinar-arm-da-microchip-usando-mplabx-e-harmony/
From the Fast Feather Track at ApacheCon NA 2010 in Atlanta
This quick talk provides an overview of Apache Tika, looks at a new features and supported file formats. It then shows how to create a new parser, and finishes with using Tika from your own application.
Esta charla es acerca de las lecciones aprendidas operando el servicio SIP2SIP.info, una oferta para cuentas SIP gratuitas creada en el año 2004 usando software y estándares abiertos, incluye: Direccionamiento y numeración, Proxy SIP frente a diseño B2B, Aplicaciones más allá de VoIP, NAT: mejores prácticas, Mejores prácticas anti-fraude, Datos y Almacenamiento de contraseñas.
Conferencista: Adrian Georgescu
Similar to FFMS2: Indexing, Edge Cases, and Insanity (20)
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
FFMS2: Indexing, Edge Cases, and Insanity
1. FFMS2: Indexing, Edge Cases, and Insanity
Hiding the Complexity of Frame-Accurate Seeking
derek@videolan.org
@daemon404
Derek Buitenhuis
15 September 2018
Amsterdam, NL
2. $ whoami
115 September 2018
• Senior Video Encoding Engineer at Vimeo
• Distributed transcoder
• On-the-fly image service (before it was cool)
• HLS/DASH on-the-fly packager
• Subtitles / captions ingest and output
• Open Source Multimedia Developer
• FFmpeg, L-SMASH, FFMS2, etc.
• Daemon404 on freenode
• VideoLAN Non-Profit Association Member
EBU OPEN SOURCE MEETUP
3. Frame / Sample Accurate Seeking is Hard
215 September 2018
• Not everyone is lucky enough to get known-format deliverables (iTunes, IMF, DPP, etc.)
• User-generated content can, and will by anything
EBU OPEN SOURCE MEETUP
4. Frame / Sample Accurate Seeking is Hard
215 September 2018
• Not everyone is lucky enough to get known-format deliverables (iTunes, IMF, DPP, etc.)
• User-generated content can, and will by anything
• Streams can be (extremely non-exhaustive):
• Non-indexed (MPEG-TS, MPEG-PS, etc.)
• Corrupt
• Contain virtual timelines (edit lists, ordered chapters)
• Have invisible frames
• Crazy timestamps
EBU OPEN SOURCE MEETUP
5. Frame / Sample Accurate Seeking is Hard
215 September 2018
• Not everyone is lucky enough to get known-format deliverables (iTunes, IMF, DPP, etc.)
• User-generated content can, and will by anything
• Streams can be (extremely non-exhaustive):
• Non-indexed (MPEG-TS, MPEG-PS, etc.)
• Corrupt
• Contain virtual timelines (edit lists, ordered chapters)
• Have invisible frames
• Crazy timestamps
• Only feasible solution is FFmpeg (libavcodec / libavformat)
• Doesn’t seek frame accurately out of the box
• Unstable, verbose, massive API (much of which is missing, and actually in ffmpeg.c)
EBU OPEN SOURCE MEETUP
6. FFMS2: We Go Crazy So You Don’t Have To
315 September 2018
• Indexes files or streams and builds packet-to-frame map
• Non-trivial due to things like NVOPs, alt-refs, PAFF, libavformat’s implementation of edit lists, etc.
• Proper concept of timestamps (each frame has multiple types!)
EBU OPEN SOURCE MEETUP
7. FFMS2: We Go Crazy So You Don’t Have To
315 September 2018
• Indexes files or streams and builds packet-to-frame map
• Non-trivial due to things like NVOPs, alt-refs, PAFF, libavformat’s implementation of edit lists, etc.
• Proper concept of timestamps (each frame has multiple types!)
• Stable, mature, threadsafe, easy to use C API
• Fully documented (whack me if not!)
• Stable ABI (10 years!)
• AviSynth and VapourSynth plugins; built into x264
• Proper support for mid-stream changes, real colorspace info (HDR included), etc.
• Proper / useful error handling
• MIT licensed
EBU OPEN SOURCE MEETUP
8. FFMS2: Coming Soon
415 September 2018
EBU OPEN SOURCE MEETUP
• Custom I/O Callbacks
• Caller-owned Frame Buffers
• Mid-stream codec changes (“soon”)
• Virtual Timeline Metadata Export (need to finish upstreaming new APIs to FFmpeg first)
9. Links and Info!
515 September 2018
EBU OPEN SOURCE MEETUP
• FFMS2 (source, docs, binaries): https://github.com/ffms/ffms2/
• FFMS2 Index Parsing in Go (and JSON dump util): https://github.com/dwbuiten/dumpindex/
• VapourSynth: https://vapoursynth.com / https://github.com/vapoursynth/vapoursynth/
• avformat Timeline API RFC v1: http://ffmpeg.org/pipermail/ffmpeg-devel/2018-March/227437.html
• v2 + implementation in the works