FFmpeg’s FFV1 lossless video

Peter Bubestinger

Intro FUD FFmpeg’s FFV1 lossless Challenges

FS Super Powers A success story

Romance

Conclusions Happy End Peter Bubestinger

09. May, 2015

1 / 40 We needed something that works. . .

How did all this begin. . . ?

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers

Romance

Conclusions

Happy End

2 / 40 How did all this begin. . . ?

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers Romance We needed something Conclusions Happy End that works. . .

3 / 40 At the end of 2009

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Who is “we”? Intro The Austrian National A/V Archive (Osterreichische¨ Mediathek) a FUD wanted to digitize video for long-term preservation. Challenges a FS Super Powers http://www.mediathek.at/

Romance Conclusions For audio it’s clear: Happy End Format is uncompressed(=lossless) PCM (WAV). We just applied the same requirements to video. But uncompressed was not an option (too huge!)

4 / 40 At the end of 2009

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro So how do others archive video professionally?

FUD The situation we found: Challenges

FS Super Powers Majority uses lossy : Romance IMX, ProRes, MPEG-2, MPEG-4 Conclusions Industry proposed format: JPEG2000-lossless/PCM in MXF Happy End One existing product: FrontPorch Digital ”Samma” Issues with: Access, interoperabilty and of produced files (Even between different versions of same vendor)

5 / 40 JPEG2000 A jack-of-all-trades video codec

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger The industry proposed format: Intro Official ISO standard (lossy and lossless) FUD

Challenges Very few, but “maybe-compatible” implementations. FS Super Powers (Except for ”libopenjpeg” all are proprietary) Romance Industry focus on “lossy” mode Conclusions

Happy End Required special hardware for realtime with SD (Imagine HD-and-beyond...) Very small userbase Very few transcoder options: expensive, limited and slow Difficult to open/use/transcode the videos. Even now.

6 / 40 FFV1 Something that works. . . ?

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro FUD What we found “on the street”: Challenges Similar compression to JPEG2000-lossless. FS Super Powers

Romance Faster than JPEG2000-lossless. Conclusions Only lossless. By design. Happy End Reference implementation as Free Software. Included in any application using FFmpeg by default.

7 / 40 FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro FFV1’s properties in 2009: FUD Marked as “experimental” Challenges FS Super Powers Only single-threading Romance No bit-error tolerance/awareness Conclusions

Happy End Not standardized or documented Not known at all by professionals in A/V industry Even worse: It originated in the “Open Source community”. Yikes!

8 / 40 Only single-threading: We funded improvement No bit-error tolerance/awareness: We funded improvement Not standardized or documented: Funded work in progress. . . (PREFORMA/MediaArea/IETF) It originated in the “Open Source community”: Actually, that’s a feature :)

FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger So the Mediathek got active: Intro Marked as “experimental”: FUD Contacting developer: He simply forgot to remove that remark :) Challenges

FS Super Powers

Romance

Conclusions

Happy End

9 / 40 No bit-error tolerance/awareness: We funded improvement Not standardized or documented: Funded work in progress. . . (PREFORMA/MediaArea/IETF) It originated in the “Open Source community”: Actually, that’s a feature :)

FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger So the Mediathek got active: Intro Marked as “experimental”: FUD Contacting developer: He simply forgot to remove that remark :) Challenges

FS Super Powers Only single-threading:

Romance We funded improvement

Conclusions

Happy End

10 / 40 Not standardized or documented: Funded work in progress. . . (PREFORMA/MediaArea/IETF) It originated in the “Open Source community”: Actually, that’s a feature :)

FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger So the Mediathek got active: Intro Marked as “experimental”: FUD Contacting developer: He simply forgot to remove that remark :) Challenges

FS Super Powers Only single-threading:

Romance We funded improvement Conclusions No bit-error tolerance/awareness: Happy End We funded improvement

11 / 40 It originated in the “Open Source community”: Actually, that’s a feature :)

FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger So the Mediathek got active: Intro Marked as “experimental”: FUD Contacting developer: He simply forgot to remove that remark :) Challenges

FS Super Powers Only single-threading:

Romance We funded improvement Conclusions No bit-error tolerance/awareness: Happy End We funded improvement Not standardized or documented: Funded work in progress. . . (PREFORMA/MediaArea/IETF)

12 / 40 FFV1 Almost perfect. Almost. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger So the Mediathek got active: Intro Marked as “experimental”: FUD Contacting developer: He simply forgot to remove that remark :) Challenges

FS Super Powers Only single-threading:

Romance We funded improvement Conclusions No bit-error tolerance/awareness: Happy End We funded improvement Not standardized or documented: Funded work in progress. . . (PREFORMA/MediaArea/IETF) It originated in the “Open Source community”: Actually, that’s a feature :)

13 / 40 FFV1 as preservation codec Are we alone. . . ?

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Of course, we had fears, uncertainties and doubts ourselves. . . FUD

Challenges So, here’s what we did: FS Super Powers Double checked FFV1’s long-term sustainability Romance Tested its implementation. Big time! Conclusions Happy End Documented its usage Organized and funded improvement Started using it in-house

14 / 40 FFV1 So we “outed” ourselves and told others. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers

Romance What we encountered was:

Conclusions Happy End Fear, Uncertainty and Doubt. . .

15 / 40 FUD Fear, Uncertainty and Doubt.

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges Fear: FS Super Powers Can it be any good if no professionals are using it yet? Romance Is it really mathematically lossless? Conclusions

Happy End Will I be able to open it in the future? Will we be alone when we use it?

16 / 40 FUD Fear, Uncertainty and Doubt.

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges Uncertainty: FS Super Powers Why didn’t the “big players” pick it up? Romance It’s not an official standard. Conclusions

Happy End Which applications support it - now and in the future? OpenSource is nice , but what about its quality?

17 / 40 FUD Fear, Uncertainty and Doubt.

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD Doubt: Challenges Open Source community can’t come up with something FS Super Powers as-good-as, or even better than “The Industry”. Romance Most production- and broadcasting facilities do lossy (IMX, Conclusions

Happy End ProRes, etc) - or use JPEG2000-lossless. “If it’s free, it can’t be any good” It’s too cheap. We want the expensive/limited stuff!

18 / 40 Challenges

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Perception and politics: FUD Image and “word on the street” more important for Challenges decision-makers than technical proof/properties. FS Super Powers

Romance Any proprietary solution preferred if professional, big institutions

Conclusions use it - even if “problematic”. Happy End Preservability “promised” by paper more important than “guaranteed” by Free Software licensing. Preferred to have companies behind it. “Nobody ever got fired for buying IBM”

19 / 40 Challenges

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro FUD The FFmpeg/ fork: Challenges

FS Super Powers FFV1 originated as in FFmpeg, invented by its project leader

Romance ”Michael Niedermayer”. Conclusions Slight ”stress” between these 2 projects. Happy End Support of new versions of FFV1 in LibAV? Disastrous if FFmpeg/LibAV had been proprietary competitors.

20 / 40 Free Software Giving super-powers to ordinary human beings since 1989!

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Classical user perception: Intro Use as-is and wait/hope for vendor to implement things. . . FUD Challenges The “4 Freedoms”: to use, study, share and improve: FS Super Powers

Romance Picked up FFV1, nourished and charished it:

Conclusions Mediathek using FFV1.1 for preservation/production since 2011

Happy End FFV1.3 released in August 2013 Solved our problem = Result is free for everyone else to use! Collaboration rather than competition FFV1: Another proof what Free Software makes possible

21 / 40 Free Software Giving super-powers to ordinary human beings since 1989!

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Incredibly effective use of resources: Intro FUD Now anyone is able to digitize and archive video at same (or Challenges better) quality, previously only available to large-budget FS Super Powers institutions. Romance A handful of decentralized developers created a solution Conclusions

Happy End matching or outperforming a million-dollar industry. Pay for what you actually need. No business investment overhead. Now, lossless video playback/editing possible on off-the-shelf consumer PC hardware.

22 / 40 Free Software 4 freedoms = virtual immortality

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Free Software guarantees access and preservability: FUD

Challenges No forced format obsolescence FS Super Powers Preserving actual source code of tools used to open/create Romance formats Conclusions = archiving schematics and parts of recording/replayer unit. Happy End (Interoperability) issues can be fixed. No black-box reverse-engineering + workarounds necessary. Tech-internals and development transparent and accountable

23 / 40 TM Even with “Unknown Future Technology 3000 ” Or alien hardware ;) Or just other CPU-architectures, compilers or programming languages.

Free Software 4 freedoms = virtual immortality

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Even if source won’t compile “as-is” in the future, making it work is

FUD possible without artificial restrictions.

Challenges Access/transcode formats: FS Super Powers Romance Regardless of user-base size or market interests. Conclusions

Happy End

24 / 40 Or alien hardware ;) Or just other CPU-architectures, compilers or programming languages.

Free Software 4 freedoms = virtual immortality

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Even if source won’t compile “as-is” in the future, making it work is

FUD possible without artificial restrictions.

Challenges Access/transcode formats: FS Super Powers Romance Regardless of user-base size or market interests. Conclusions TM Even with “Unknown Future Technology 3000 ” Happy End

25 / 40 Or just other CPU-architectures, compilers or programming languages.

Free Software 4 freedoms = virtual immortality

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Even if source won’t compile “as-is” in the future, making it work is

FUD possible without artificial restrictions.

Challenges Access/transcode formats: FS Super Powers Romance Regardless of user-base size or market interests. Conclusions TM Even with “Unknown Future Technology 3000 ” Happy End Or alien hardware ;)

26 / 40 Free Software 4 freedoms = virtual immortality

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro Even if source won’t compile “as-is” in the future, making it work is

FUD possible without artificial restrictions.

Challenges Access/transcode formats: FS Super Powers Romance Regardless of user-base size or market interests. Conclusions TM Even with “Unknown Future Technology 3000 ” Happy End Or alien hardware ;) Or just other CPU-architectures, compilers or programming languages.

27 / 40 btw: Even proprietary vendors can benefit from that.

FFV1 success story How Free Software made this possible

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger To name just a few:

Intro Without the “4 freedoms”, using FFV1 for preservation would FUD be a no-go. Challenges Improvements and usage possible without artificial restrictions. FS Super Powers

Romance No vendor dependence. Free choice of (local) developers. Conclusions Automatically supported by other applications using Free Happy End Software libraries (FFmpeg, LibAV) Adaptations to local environment possible. . . . and many more!

28 / 40 FFV1 success story How Free Software made this possible

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger To name just a few:

Intro Without the “4 freedoms”, using FFV1 for preservation would FUD be a no-go. Challenges Improvements and usage possible without artificial restrictions. FS Super Powers

Romance No vendor dependence. Free choice of (local) developers. Conclusions Automatically supported by other applications using Free Happy End Software libraries (FFmpeg, LibAV) Adaptations to local environment possible. . . . and many more!

btw: Even proprietary vendors can benefit from that.

29 / 40 So far, so good. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers

Romance Conclusions But: Where’s the romance? Happy End

30 / 40 Well, I’d say that’s pretty romantic ;)

Romantic aspects Just like in the good old days. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Developers are proud of their work: Intro

FUD Personal engagement in supporting and improving their creation. Challenges Creating solutions for people, rather than “the market”. FS Super Powers

Romance You can talk with the actual persons creating the product. Conclusions It makes using and dealing with software products more personal. Happy End Professional, handmade quality

31 / 40 Romantic aspects Just like in the good old days. . .

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Developers are proud of their work: Intro

FUD Personal engagement in supporting and improving their creation. Challenges Creating solutions for people, rather than “the market”. FS Super Powers

Romance You can talk with the actual persons creating the product. Conclusions It makes using and dealing with software products more personal. Happy End Professional, handmade quality

Well, I’d say that’s pretty romantic ;)

32 / 40 Romantic aspects Open collaboration rather than competition

FFmpeg’s FFV1 lossless video codec Innovation powered by humans, rather than faceless corporations. Peter Bubestinger Who made lossless video as awesome as it is now: Intro Michael Niedermayer FUD Challenges Hermann Lewetz FS Super Powers Dave Rice Romance

Conclusions Carl-Eugen Hoyos Happy End J´erˆomeMartinez Luca Barbato Georg Lippitsch Christophe Kummer Christoph Gerstbauer and others of course. . .

33 / 40 FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers Romance Lessons learned Conclusions

Happy End

34 / 40 Things we’ve learned That also apply to other Free Software solutions

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger User perception is of great importance: Intro Graphical UI tools / Fear of commandline FUD Challenges Noone wants to be “The First” FS Super Powers Layout/sexyness of a website is important: Romance Cheap looking website = impression of low quality product Conclusions

Happy End Documentation: “Use the force, read the source” equals “No documentation” Ease of access (Make a huge ”Download!” button :)) Option of support and setup as paid service. Public funding: Commercially focused innovation preferred.

35 / 40 FFmpeg’s FFV1 lossless video codec A Free Software success story

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD Success of FFV1 contributed to: Challenges Improved image of Free Software (Open Source) for professional FS Super Powers use-cases. Romance Increased awareness of benefits of Free Software. Conclusions Happy End Increased sensibility for vendor lock-in. Less FUD when choosing Free and Open solutions. And many more. . .

36 / 40 This is just one example. . . The role of the FSFE

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro The FSFE is enabling others to do the same, by: FUD Challenges . . . decreasing FUD regarding Free Software. FS Super Powers . . . encouraging others to develop and use Free Software. Romance

Conclusions . . . talking to decision makers. Happy End . . . providing legal advice. . . . promoting importance of Free Software & Open Formats. . . . etc.

37 / 40 FFmpeg’s FFV1 lossless video codec

Peter Bubestinger

Intro

FUD

Challenges

FS Super Powers Romance - Fin - Conclusions

Happy End

38 / 40 About FSFE

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger The “Free Software Foundation Europe” is an independent, non-profit organisation which is actively Intro

FUD supporting Free Software mainly in Europe, but also worldwide.

Challenges FS Super Powers In order to secure fair and equal access for anyone to the Romance information-society, it is important that everyone has the freedom to Conclusions

Happy End use, study, share and improve software.

FSFE’s goal is, to improve the understanding and support for Free Software by being getting active in public, politics and laws.

www.fsfeurope.org

39 / 40 License

FFmpeg’s FFV1 lossless video codec

Peter Bubestinger Thanks a lot for your attention! Intro

FUD

Challenges This presentation is available under a Free license:

FS Super Powers Romance Some rights reserved... Conclusions

Happy End Creative Commons Attribution Share-Alike (CC-BY-SA)

. . . so, you can use, study, share and improve this presentation, if you want to ;)

40 / 40