Ffmpeg's FFV1 Lossless Video Codec
Total Page:16
File Type:pdf, Size:1020Kb
FFmpeg's FFV1 lossless video codec Peter Bubestinger Intro FUD FFmpeg's FFV1 lossless video codec Challenges FS Super Powers A Free Software 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 codecs: 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 transcoding 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 Freeware, 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/LibAV 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