Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

FFV1

From Wikipedia, the free encyclopedia
Lossless intra-frame video codec
FFV1
Internet media type
video/FFV1
Developed by
  • Michael Niedermayer
  • IETF
Initial release9 June 2003; 22 years ago (2003-06-09)
Latest release
1.3
3 August 2013; 12 years ago (2013-08-03)
Type of formatVideo coding format
Contained by
StandardRFC 9043
Open format?Yes
Websitegithub.com/FFmpeg/FFV1/

FFV1 (short forFF Video 1)[1] is alosslessintra-framevideo coding format. FFV1 is particularly popular for its performance regarding speed and size, compared to other lossless preservation codecs, such asMotion JPEG 2000.[2][3][4]

The encoder and decoder have been part of the free, open-source librarylibavcodec in theFFmpeg project since June 2003.[5] FFV1 is also included inffdshow andLAV Filters,[6] which makes the video codec available toMicrosoft Windows applications that support system-wide codecs overVideo for Windows (VfW) orDirectShow.

FFV1 has been standardized at the IETF under RFC 9043.[7] TheEuropean Broadcasting Union (EBU) lists FFV1 under the codec-family index "31" in their combined list of video codec references.[8]

Video archiving

[edit]

For long-term preservation of digital video sustainablecontainer formats as well as audio/video codecs are necessary. There is no consensus as of 2013[needs update] among the archival community as to which file format or codecs should be used for preservation purposes for digital video.[9] The previously proclaimed encodings wereMotion JPEG 2000[10] and uncompressed video.[11]

FFV1 proved to be a viable archival encoding and theU.S. Library of Congress began regarding it as a suitable option for preservation encoding in 2014.[2][12] Compared to lossless JPEG 2000, FFV1 features comparable compression ratios and lower computing requirements. As of 2014,[needs update] it is being used by archives, particularly where the collections do not feature extensive broadcast materials and instead consist of oral history and the like.[13][14]

Since around 2015, the European PREFORMA Project started working on the standardisation of FFV1 through theInternet Engineering Task Force (IETF).[15] It was standardised in August 2021 as RFC 9043.[7] The PERFORMA Project also implemented a conformance checker for FFV1 in theMatroska container.[16] Details of FFV1's standardization plan[17] have been prepared by MediaArea (authors ofMediaInfo) as part of their conformance checking tool Media CONCH.[18]

It is also listed as a format option for long-term preservation of moving images on sites of theLibrary of Congress[12][19] and theState Records Authority of New South Wales.[9] TheSociety of American Archivists published a paper in August 2014, suggesting only FFV1 as preservation codec for video.[20]

TheLibrary of Congress identifiedAVI andMatroska as common container formats for FFV1.[21][22]

Use as a preservation codec

[edit]

Within the video archiving domain, interest in FFV1 is increasing.[23][24][25][26][excessive citations][needs update] Companies are also picking up FFV1 support. For example, NOA announced support for the FFV1 in their product line in July 2013[27] and KEM-Studiotechnik released a film-scanner with FFV1 output in November 2013.[28]

In an interview forThe New York Times Magazine,[29] Bertram Lyons from theLibrary of Congress says:

"[...] for video, there are many choices when it comes to codecs (the way the bits are encoded/decoded to represent the visual data, e.g., ffv1, H.264, Apple ProRes) [...]"

In January 2013, the possible use and adoption of FFV1 as an archiving codec was addressed in the issue of PrestoCentre's[30]AV Insider magazine:[31]

"FFV1 has many beneficial technical features [...], but adoption rates are relatively low compared with alternatives, for example JPEG2000. [...] But holding back too long only serves to self-perpetuate the status of FFV1.

The adoption by Archivematica and the Austrian Mediathek with their active promotion of FFV1 along with others may start to break this vicious circle. This could lead to a virtuous circle of wider take-up, to shared development, to incorporation into commercial products and a host of other benefits for the community."

PACKED - the "Centre of Expertise in Digital Heritage" in Belgium, say in an article about video formats for archiving:[32]

"When removing the proprietary codecs from this list, only a few are left. [...] This basically leaves heritage institutions that want to use a lossless codec, with only two options: Jpeg2000 and FFV1."

In 2015, theInternational Federation of Television Archives (FIAT/IFTA) mentioned FFV1 explicitly in theircall-for-presentations for their annualWorld Conference, asking "Is FFV1 the newJPEG2000"?.[33] A workshop titled "FFV1 for Preservation" is also featured.[34]

List of institutions known to use FFV1

[edit]
Austria
Australia
Belgium
  • meemoo [nl], the Flemish Institute for Archives announced in June 2020 that they would start a major operation transcoding and rewrapping their MXF wrapped JPEG2000 files resulting from digitisation projects for the cultural heritage sector material to MKV wrapped FFV1 files. In 2019 they had already announced that MKV-FFV1 would be the mezzanine format of their migration project for DV, DVCAM and DVCPRO cassettes.
Canada
France
Germany
  • SMIDAK Filmproduktion[42]
Ireland
Slovakia
Slovenia
Switzerland
United Arab Emirates
  • Sharjah Media Corporation (SMC).[46]
United Kingdom
United States

Development and improvements

[edit]

The "Österreichische Mediathek" has also developed DVA-Profession aFree Software solution for archive-suitable mass video digitization, mainly using FFV1 as video encoding throughout the whole workflow, without transcoding.[52] Additionally, they have initiated the development of "FFV1.3" (=version 3 of FFV1) together with Michael Niedermayer (FFmpeg), Peter Bubestinger-Steindl and Dave Rice; see#Versions below.[53]

Applications supporting FFV1

[edit]

Here is a list of applications known to be able to read and/or write FFV1 video files, either natively or by installing codec packages.

Entries marked with "-" means that they generally only support either encodingor decoding.

The term"built-in" means that the application can handle FFV1 without the necessity to install additional codec packages.Applications that come with FFV1 supportout of the box, usually useFFmpeg's orLibav's libraries in order to do so.

The list is far from being complete, and will be augmented over time:

ApplicationEncodingDecodingMethod
Adobe PremiereYesYesDirectShow[54][55]
Archivematica[56]YesYesbuilt-in
AVIDUnknownYesTheir transcoder can handle FFV1
AvidemuxYesYesbuilt-in
Davinci Resolve[57]YesYesbuilt-in
BlenderYes[58]Yesbuilt-in
DVA-Profession[59]YesYesbuilt-in
ffdshow-tryoutsYesYesbuilt-in
FFmpegYesYesbuilt-in
HandBrakeYesYesbuilt-in
Harris Broadcast VelocityYesYesVideo for Windows[54]
kdenliveYesYesbuilt-in
KEM Scan (motion picture film scanner)[28][60]Yes-built-in
"Lasergraphics".YesNobuilt-in
LAV Filters[55]YesYesbuilt-in
MediaInfo-Yesbuilt-in
Media Lovin' Toolkit[61]YesYesbuilt-in
Media Player Classic-Yesbuilt-in
MPlayer/MEncoderYesYesbuilt-in
NOA MediaButler[62]YesYesbuilt-in
QUADRIGA Video[63]Yes[64]UnknownUnknown
Shotcut[65]YesYesbuilt-in
Sorenson SqueezeUnknownYesbuilt-in
Vegas ProNoNoDecoding possible after installing K-Lite codec pack; encoding possible after installing the Voukoder plugin
VirtualDubYesYesbuilt-in from version 2.0
VLC media playerNoYesbuilt-in
Windows Media PlayerUnknownYesDirectShow[54][55]
DIAMANT-Film RestorationYesYesbuilt-in

Compression details

[edit]

FFV1 is not strictly an intra-frame format; despite not using inter-frame prediction, it allows the context model to adapt over multiple frames. This can be useful for compression due to the very large size of the context table, but can be disabled to force the encoder to generate a strictly intra-frame bitstream. As the gained compression seems to decrease[66] with later versions of FFV1 (version 2,3), the use of GOP size greater than "1" might disappear in the future.

Prediction process

[edit]

During progressive scanning of a frame, the difference between a current pixel and its predicted value, judging by neighboring pixels, is sent to the entropy-coding process. The prediction is done as follows:

prediction = Median(Top,Left,Top +Left -TopLeft)

The third value,Top + Left - TopLeft, is effectively equivalent to applying the "top" predictor to the current and the left sample, followed by applying the left predictor to the prediction residual of the top predictor. This method, also known as the gradient, exploits both horizontal and vertical redundancy. So in simple terms the prediction is themedian of the top, left, and gradient prediction methods. For improved performance and simplicity, the edges of the frame are assumed to be zero to avoid special cases. The prediction in encoding and decoding is managed using aring buffer.[67]

Entropy coding process

[edit]

The residuals are coded using eitherGolomb-Rice coding[68] orrange coding. Both options use a very large context model. The "small" context model uses(11×11×11+1)/2=666 contexts based on the neighboring values of(LeftTopLeft),(TopLeft-Top), and(TopTopRight). The "large" context model uses(11×11×5×5×5+1)/2=7563 contexts based on the same values as before, but also(TopTopTop) and(LeftLeftLeft), whereTopTop is the pixel two above the current one vertically, andLeftLeft is the pixel two to the left of the current one. In range coding, each "context" actually has 32 sub-contexts used for various portions of coding each residual, resulting in a grand total of 242,016 contexts for the "large" model.

Early experimental versions of FFV1 used the CABAC Arithmetic coder from H.264, but due to the uncertain patent/royalty situation, as well as its slightly worse performance, CABAC was replaced by range coding.[69]

Status

[edit]

On April 16, 2006, a commit-message by Michael Niedermayer confirmed that the bitstream of FFV1 (version 1) is frozen:[70]

"ffv1 and ffvhuff haven't changed since a long time and no one proposed any changes within 1 month after my warning so they are officially no longerexperimental and we will guarantee decodability of files encoded with the current ffv1/ffvhuff in the future"

Versions

[edit]
Version 1 (FFV1.1)
The bitstream of version 1 is frozen and has been considered stable for production use since April 2006.[70]
The remark "experimental" in the source code was overlooked back then and removed in March 2010.[71]
Version 2 (FFV1.2)
Version 2 was an intermediate version that was never officially released and should not be used for production purposes.
Version 3 (FFV1.3)
The bitstream of version 3 is frozen since August 3, 2013.[72] The final commit marking this version as officially released for production usage was on August 26, 2013.[53]
FFV1.3 contains improvements and new features such as support for multi-threaded encoding/decoding, error resilience and integrity validation by CRC checksums, storing of display aspect ratio (DAR) and field order. It was tested for over 1 year,[73] and officially released stable for production in August 2013.[53]
In August 2016, support for48bit/16bpc (=bits per component) inRGB was added to the reference codec.[74] Before that, 16bpc in FFV1 were only supported inYCbCr and RGB was limited to 14bpc.
There is still no VFW multithreaded encoder of FFV1.3 for Windows in 2017. FFdshow can encode only an FFV1.1 stream with a single CPU core.
Version 4 (FFV1.4)
Improvements beyond FFV1.3 are works in progress and being discussed on the IETF "CELLAR" mailing list.[75]
Planned are additional support for color-handling, especially non-linear/logarithmiccolor spaces.
The Draft standard is hosted on GitHub[1] and IETF Datatracker.[76]

Documentation

[edit]

The current authoritative documentation was started in April 2012, and stayed in a very basic state until 2015.[77]In 2015, as part of the IETF standardization process, the documentation is now improved and reviewed by theCELLAR working group in close cooperation with Michael Niedermayer.[1]

See also

[edit]

References

[edit]
  1. ^abcMichael Niedermayer (2016-07-31)."The FFV1 Video Codec Specification (Development Draft)".GitHub. Retrieved2016-08-19.
  2. ^abBubestinger, Peter."Comparing video codecs and containers for archives". Österreichische Mediathek. Retrieved8 October 2014.
  3. ^"MSU Lossless Video Codecs Comparison"(PDF). MSU Graphics & Media Lab (Video Group). March 2014. Retrieved8 October 2014.
  4. ^"Graphs about FFV1 performance (transcoding, retrieval)". NOA GmbH. Retrieved8 October 2014.[permanent dead link]
  5. ^"Repository history of FFV1's sourcecode in FFMPEG repository". Michael Niedermayer. Archived fromthe original on 23 March 2012. Retrieved21 October 2010.
  6. ^"Nevcairiel/LAVFilters". June 26, 2021 – via GitHub.
  7. ^ab"FFV1 Video Coding Format Versions 0, 1, and 3".IETF. August 2021.doi:10.17487/RFC9043.RFC9043.
  8. ^Evain, Jean-Pierre (15 August 2016)."Video Compression Code (A combined list of video codecs inc. EBU, DVB and MPEG)".European Broadcasting Union. Retrieved19 September 2016.
  9. ^ab"Formats and codecs for digital video preservation (Guideline 22)". NSW State Records. August 2013. Archived fromthe original on 10 November 2013. Retrieved10 November 2013.
  10. ^"Motion JPEG 2000 at digitalpreservation.gov".U.S. Library of Congress. 11 January 2012. Retrieved6 March 2013.
  11. ^Fleischhauer, Carl; Frost, Hannah; Beard, Isaiah (November 2010)."AMIA/IASA 2010 - Wrappers and Codecs: A Survey of Selection Strategies".AMIA/IASA. Retrieved6 October 2013.
  12. ^abFleischhauer, Carl; Egan, Courtney (8 September 2014)."Digital File Formats for Videotape Reformatting".FADGI (U.S. Library of Congress). Retrieved8 October 2014.
  13. ^"About - Federal Agencies Digitization Guidelines Initiative".www.digitizationguidelines.gov.
  14. ^Fleischhauer, Carl; Murray, Kate (3 December 2014)."Comparing Formats for Video Digitization".FADGI (U.S. Library of Congress). Retrieved8 September 2015.
  15. ^"PREservation FORMAts for culture information/e-archives (PREFORMA)". Retrieved2015-09-24.
  16. ^abMurray, Kate; Rice, Dave; Blewer, Ashley (September 23, 2015)."Improving Technical Options for Audiovisual Collections Through the PREFORMA Project".U.S. Library of Congress. Retrieved2015-09-24.
  17. ^Fallon, Tessa; Rice, Dave; Blewer, Ashley (March 3, 2015).Conch – Appendix on Standardization Exercises(PDF) (Report).MediaArea. Retrieved2015-09-24.
  18. ^"CONformance CHecking for audiovisual files (CONCH)". Archived fromthe original on 2015-09-24. Retrieved2015-09-24.
  19. ^"FFV1 at digitalpreservation.gov".U.S. Library of Congress. 29 May 2012. Retrieved10 November 2013.
  20. ^Austen, Barbara; Bowling, Melissa; Deakyne, Holly; Evans, Ryan (7 August 2013)."Electronic Records Project"(PDF). Society of American Archivists. Retrieved21 October 2014.
  21. ^"AVI File Format with FFV1 video encoding".AVI_FFV1. Digital Preservation.LoC. 2012-07-20. fdd000349. Retrieved2015-04-22.
  22. ^"Matroska File Format with FFV1 video encoding".Matroska_FFV1. Digital Preservation.LoC. 2012-05-29. fdd000343. Retrieved2015-04-22.
  23. ^"FFV1 discussion on AMIA-L mailing list".AMIA. December 2012. Retrieved6 March 2013.
  24. ^"Digital master archive format". PrestoCentre Forums. 26 October 2012. Archived fromthe original on 15 April 2013. Retrieved6 March 2013.
  25. ^"FFV1 vs other formats for preservation". Archivematica mailing list. 24 September 2012. Retrieved6 March 2013.
  26. ^"Digital film archiving in big scale". Archivematica mailing list. 29 January 2013. Retrieved6 March 2013.
  27. ^"Company announcement confirming FFV1 support". NOA Audio Solutions. 10 July 2013. Archived fromthe original on 13 April 2016. Retrieved29 August 2013.
  28. ^abKober, Helmfried (14 November 2013)."KEM SCAN Film Scanner Data Sheet"(PDF). KEM-Studiotechnik. Archived fromthe original(PDF) on 4 March 2016. Retrieved30 April 2015.
  29. ^Lyons, Bertram (2013)."Ask an Expert: Tips on Archiving Family History, Part 3".The New York Times Magazine (online).
  30. ^"prestocentre.org". Archived fromthe original on 2016-12-02. Retrieved2013-03-06.
  31. ^Addis, Matthew (2013)."Crossing the Chasm (From Research Results to Sustainable Tools and Services for AV)".AV Insider Magazine. No. #3. PrestoCentre. pp. 14–15.
  32. ^Emanuel Lorrain (March 2014)."A short guide to choosing a digital format for video archiving masters". PACKED, Belgium. Retrieved2 June 2014.
  33. ^"Conference Call for Presentations, FIAT/IFTA World Conference Vienna 7-10 October 2015"(PDF).International Federation of Television Archives. 13 May 2015. Archived fromthe original(PDF) on 2015-10-10. Retrieved2015-09-01.
  34. ^"FIAT/IFTA World Conference 2015, Programme Day 1".International Federation of Television Archives. Aug 2015. Archived fromthe original on 2015-09-10. Retrieved2015-09-01.
  35. ^"Willkommen im Landesmuseum Niederösterreich! — Landesmuseum Niederösterreich".www.best-istanbul-hotels.com.
  36. ^"Onlinearchiv | Österreichische Mediathek".www.mediathek.at.
  37. ^Lewetz, Hermann (30 August 2011)."DVA-Profession used at the Austrian Mediathek: Codec". Österreichische Mediathek. Archived fromthe original on 14 October 2014. Retrieved8 October 2014.
  38. ^"City of Vancouver Archives - Home Page".vancouver.ca. Archived fromthe original on 2005-04-03.
  39. ^"Matroska video container information at digitalpreservation.gov".U.S. Library of Congress. Archived fromthe original on 27 June 2013. Retrieved10 May 2012.
  40. ^"A City of Vancouver Archives' blog post mentioning their use of FFV1". City of Vancouver Archives. Archived fromthe original on 26 November 2011. Retrieved10 May 2012.
  41. ^"Home".MAC Montréal.
  42. ^"SMIDAK Filmproduktion". Archived fromthe original on 2016-01-10. Retrieved2016-03-31.
  43. ^"RTVS Slovakia: Complete Video Archive System from NOA". NOA GmbH. 1 September 2014. Retrieved10 May 2017.
  44. ^"National Broadcaster of Slovenia is first in successfully deploying Complete Video Archive Solutions from NOA". NOA GmbH. 2014. Retrieved10 May 2017.
  45. ^"Image sequence into Matroska/FFV1". AV Preservation by reto.ch. 11 December 2016. Retrieved10 May 2017.
  46. ^"Installation at SMC: United Arab Emirates First for NOA". NOA Archive GmbH. March 2018. Retrieved15 March 2017.
  47. ^"Format Description of FF Video Codec 1, Version 0, 1 and 3".Library of Congress. 2023-10-10. Retrieved2025-07-09.
  48. ^"Media micro-services and archival workflows at CUNY Television". 10 November 2015. Retrieved19 August 2016.
  49. ^Marsh, Alex (2021-03-12)."FFV1: The Gains of Lossless".Bitstreams: Notes from the digital collections team. Duke University Libraries.Archived from the original on 2021-04-06. Retrieved6 April 2021.
  50. ^"FF Video Codec 1, Version 0, 1 and 3".Library of Congress. 2021-11-24. Retrieved2023-01-15.
  51. ^Esteva, Maria; Vega, Karla; Henriksen, Vandy; Lee, Jennifer; Martin, Wendy (May 2013)."Automated Archiving of DVD Content (Presentation at TCDL 2013)".Texas Advanced Computing Center (TACC) andUniversity of Texas at Austin - Libraries. Archived fromthe original on 3 June 2015. Retrieved21 October 2014.
  52. ^"dva-profession.mediathek.at". Archived fromthe original on 2012-05-25. Retrieved2012-05-10.
  53. ^abcNiedermayer, Michael (26 August 2013)."Repository commit message: FFV1.3 released as stable".FFmpeg. Archived fromthe original on 4 March 2016. Retrieved29 August 2013.
  54. ^abc"ffdshow tryouts". Retrieved27 April 2015.
  55. ^abc"LAVFilters (Open-Source DirectShow Media Splitter and Decoders)". Hendrik Leppkes. Retrieved27 April 2015.
  56. ^"Archivematica - Format policies". Artefactual Systems Inc. Archived fromthe original on 2014-04-17. Retrieved2015-04-30.
  57. ^"Support Center | Blackmagic Design".
  58. ^"Blender v2.6 Manual: Render/Output/Video".Blender Foundation. 18 November 2011. Archived fromthe original on 29 June 2013. Retrieved4 August 2013.
  59. ^"DVA-Profession used at the Austrian Mediathek: Codec". Österreichische Mediathek. Archived fromthe original on 2016-04-17. Retrieved2016-03-31.
  60. ^"KEM Scan". KEM Studiotechnik GmbH. Archived fromthe original on 2016-04-24. Retrieved2015-04-30.
  61. ^"Media Lovin Toolkit (MLT/melt)". Dan Dennedy. Retrieved2015-04-27.
  62. ^"NOA MediaButler". NOA Audio Solutions GmbH. Retrieved2015-04-27.
  63. ^"Video Tape Migration with Quadriga". CubeTec International. Retrieved2016-03-31.
  64. ^"QUADRIGA Video Specifications". CubeTec International. Retrieved2016-03-31.
  65. ^"Shotcut". Dan Dennedy. Retrieved2015-04-27.
  66. ^"Message on FFmpeg developer mailing list about the impact of GOP size parameter of FFV1". 8 April 2012. Retrieved10 May 2012.
  67. ^Michael Niedermayer (2013-09-05)."FFV1 Video Codec Specification".FFmpeg. Retrieved2015-03-18.
  68. ^"FFV1 Specification, Golomb Rice Mode".FFmpeg GitHub. Retrieved2024-06-06.
  69. ^"FFV1 Specification, Range Coding Mode".FFmpeg GitHub. Retrieved2024-06-06.
  70. ^ab"Repository commit message: Bitstream FFV1.1 frozen". Michael Niedermayer. 14 April 2006. Archived fromthe original on 4 March 2016. Retrieved8 May 2012.
  71. ^"Repository commit message". Michael Niedermayer. 22 March 2010. Archived fromthe original on 23 March 2012. Retrieved21 October 2010.
  72. ^"Mailing list post: Bitstream FFV1.3 frozen". Michael Niedermayer. 3 August 2013. Retrieved29 August 2013.
  73. ^Bubestinger, Peter (6 February 2014)."FFV1 performance statistics". Österreichische Mediathek. Retrieved8 October 2014.
  74. ^Niedermayer, Michael (16 August 2016)."Repository commit message: avcodec/ffv1enc: Add RGB48 support".FFmpeg. Retrieved18 August 2016.
  75. ^"Discussion thread on FFV1 version 4 (on IETF CELLAR mailing list)". 2016-01-05. Retrieved2016-08-18.
  76. ^"draft-ietf-cellar-ffv1-v4-22 - FFV1 Video Coding Format Version 4".IETF Datatracker.
  77. ^Michael Niedermayer (2013-11-03)."The FFV1 Video Codec Specification (2013)". Retrieved2016-08-19.

External links

[edit]
The goals of the specification effort are defined within the charter of the cellar working group of IETF.
Video
compression
ISO,IEC,
MPEG
ITU-T,VCEG
SMPTE
TrueMotion and AOMedia
Chinese Standard
  • AVS1 P2/AVS+(GB/T 20090.2/16)
  • AVS2 P2(GB/T 33475.2,GY/T 299.1)
    • HDR Vivid(GY/T 358)
  • AVS3 P2(GY/T 368)
Others
Audio
compression
ISO,IEC,
MPEG
ITU-T
IETF
3GPP
ETSI
Bluetooth SIG
Chinese Standard
Others
Image
compression
IEC,ISO,IETF,
W3C,ITU-T,JPEG
Others
Containers
ISO,IEC
ITU-T
IETF
SMPTE
Others
Collaborations
Methods
Lists
SeeCompression methods for techniques andCompression software for codecs
Archivers with
compression
(comparison)
Free and
open-source
Freeware
Commercial
Non-archiving
compressors
Generic
For code
Audio
compression

(comparison)
Lossy
Lossless
Video
compression

(comparison)
Lossy
MPEG-4 ASP
H.264
HEVC
Others
Lossless
Retrieved from "https://en.wikipedia.org/w/index.php?title=FFV1&oldid=1312146485"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp