Software-update: FFmpeg 6.0

FFmpeg logo (79 pix)FFmpeg is een verzameling van programma's waarmee audio- en videobestanden en ook streams kunnen worden geconverteerd. Het wordt veel gebruikt voor transcoding en dient als basis voor diverse programma's, zoals Blender, HandBrake, Kodi, MPC-HC, Plex en Shotcut. Enkele dagen geleden is versie 6.0 uitgekomen, die Von Neumann als codenaam draagt. De releasenotes voor die uitgave kunnen hieronder worden gevonden.

FFmpeg 6.0 "Von Neumann"

A new major release, FFmpeg 6.0 "Von Neumann", is now available for download. This release has many new encoders and decoders, filters, ffmpeg CLI tool improvements, and also, changes the way releases are done. All major releases will now bump the version of the ABI. We plan to have a new major release each year. Another release-specific change is that deprecated APIs will be removed after 3 releases, upon the next major bump. This means that releases will be done more often and will be more organized.

New decoders featured are Bonk, RKA, Radiance, SC-4, APAC, VQC, WavArc and a few ADPCM formats. QSV and NVenc now support AV1 encoding. The FFmpeg CLI (we usually reffer to it as ffmpeg.c to avoid confusion) has speed-up improvements due to threading, as well as statistics options, and the ability to pass option values for filters from a file. There are quite a few new audio and video filters, such as adrc, showcwt, backgroundkey and ssim360, with a few hardware ones too. Finally, the release features many behind-the-scenes changes, including a new FFT and MDCT implementation used in codecs (expect a blog post about this soon), numerous bugfixes, better ICC profile handling and colorspace signalling improvement, introduction of a number of RISC-V vector and scalar assembly optimized routines, and a few new improved APIs, which can be viewed in the doc/APIchanges file in our tree. A few submitted features, such as the Vulkan improvements and more FFT optimizations will be in the next minor release, 6.1, which we plan to release soon, in line with our new release schedule. Some highlights are:

  • Radiance HDR image support
  • ddagrab (Desktop Duplication) video capture filter
  • ffmpeg -shortest_buf_duration option
  • ffmpeg now requires threading to be built
  • ffmpeg now runs every muxer in a separate thread
  • Add new mode to cropdetect filter to detect crop-area based on motion vectors and edges
  • VAAPI decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9
  • WBMP (Wireless Application Protocol Bitmap) image format
  • a3dscope filter
  • bonk decoder and demuxer
  • Micronas SC-4 audio decoder
  • LAF demuxer
  • APAC decoder and demuxer
  • Media 100i decoders
  • DTS to PTS reorder bsf
  • ViewQuest VQC decoder
  • backgroundkey filter
  • nvenc AV1 encoding support
  • MediaCodec decoder via NDKMediaCodec
  • MediaCodec encoder
  • oneVPL support for QSV
  • QSV AV1 encoder
  • QSV decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9
  • showcwt multimedia filter
  • corr video filter
  • adrc audio filter
  • afdelaysrc audio filter
  • WADY DPCM decoder and demuxer
  • CBD2 DPCM decoder
  • ssim360 video filter
  • ffmpeg CLI new options: -stats_enc_pre[_fmt], -stats_enc_post[_fmt], -stats_mux_pre[_fmt]
  • hstack_vaapi, vstack_vaapi and xstack_vaapi filters
  • XMD ADPCM decoder and demuxer
  • media100 to mjpegb bsf
  • ffmpeg CLI new option: -fix_sub_duration_heartbeat
  • WavArc decoder and demuxer
  • CrystalHD decoders deprecated
  • SDNS demuxer
  • RKA decoder and demuxer
  • filtergraph syntax in ffmpeg CLI now supports passing file contents as option values
  • hstack_qsv, vstack_qsv and xstack_qsv filters

FFmpeg

Versienummer 6.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, macOS, Windows 8, Windows 10, Windows 11
Website FFmpeg
Download https://ffmpeg.org/download.html#release_6.0
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

03-03-2023 • 23:06

49

Submitter: Motion2

Bron: FFmpeg

Update-historie

23-08 FFmpeg 8.0 33
09-'24 FFmpeg 7.1 6
04-'24 FFmpeg 7.0 6
11-'23 FFmpeg 6.1 18
03-'23 FFmpeg 6.0 49

Reacties (49)

49
49
20
1
0
25
Wijzig sortering
Blijft bizar dat dit gratis / open source is. Elk bestand wat ik er naartoe gooi pakt ie zelfs de meest lugubere formaten. Laatst nog de hele dvd collectie van oude familiebeelden omgezet naar h265. Gewoon even scripten en ffmpeg gaat zonder problemen een dag stampen.

De hoeveelheid software die gebouwd is op de schouders van ffmpeg is ook niet te tellen. Niets meer dan lof voor de developers. _/-\o_
Ik gebruik FFmpeg om een DTS stream te kopiëren naar AC3, zodat er bij DTS-only films ook een stream is waardoor er geluid uit m'n LG tv komt.

Voor de 'dagelijkse' gebruiker zal FFmpeg misschien een prachtige tool zijn, voor mij ( een FFmpeg noob ) is het een verschrikking.

Vraag : heeft FFmpeg niet een GUI, zoals b.v. MkvToolNix die heeft, want dat werkt prima. En zo ja, wil dan iemand hiervan een link plaatsen ?
Ik vind handbrake erg prettig!
Maar Handbrake ondersteunt geen video-passthrough (en dat willen ze blijkbaar ook niet ondersteunen). Daar heeft PsiTweaker in z’n gebruiksscenario dus niet zoveel aan.
Niet te vergeten, het gratis en open source Avidemux. Oud, maar nog steeds goud en levend. Gebruikt geen externe ffmpeg, maar heeft een eigen versie van ffmpegs's libavcodec aan boord. Gebruik het nog steeds voor zaken waar ik passthrough wil gebruiken. Bijv DTS naar AC3 5.1 met video passthrough, repacken van AV om andere containers, croppen op key frames zonder reencoding enz.
Avidemux gebruik ik ook weleens, maar dan raak je de ondertitels weer kwijt.
https://fastflix.org/ heeft een mooie GUI en ondersteunt ook video pass-through
Ik gebruikte ook eerst Handbrake. Lekker makkelijk in gebruik.

Daarna Shutter Encoder. Kan je net wat meer mee, maar is even wennen.

[Reactie gewijzigd door Fairy op 22 juli 2024 13:20]

Er zijn heel veel gui-s rond ffmpeg. Elk met hun eigen doel. Zie ffmpeg als de library waar andere tools op bouwen.

Kijk bijvoorbeeld op (de engelse) wikipedia https://en.wikipedia.org/wiki/FFmpeg helemaal onderaan de tools die ffmpeg gebruiken: https://en.wikipedia.org/...Software_that_uses_FFmpeg
Deze is mij ooit hier aangeraden voor dat soort conversies: XMedia Recode. Die kan wel video gewoon zonder conversie kopiëren.
Ik gebruik daar HandBrake voor, die onderwater FFmpeg gebruikt. Is er een voordeel om direct FFmpeg te gebruiken? De presets van HandBrake vind ik handig, dan hoef je dat zelf niet uit te zoeken.
Op zich in die situatie geen probleem, maar ik heb laatst oude DVD's geript met MakeMKV en wilde deze graag in DaVinci Resolve deinterlacen en upscalen met de Neural Engine filters en verder de kleurruimtes omzetten van Rec. 601 naar Rec. 709 en verder wat opknappen zodat ze ook op moderne apparaten beter tot hun recht komen. Veel montageprogramma's pakken geen MKV bestanden, maar ondersteunen wel de DVD codec (MPEG-2). Met FFmpeg heb ik de MKV-bestanden opnieuw verpakt in MXF-bestanden zonder de videostream opnieuw te encoderen (ffmpeg -i input.mkv -c:v copy -c:a pcm_s16le output.mxf) zodat ik niet eerst nog een stap encoderen met Handbrake er tussen had, want dat zou kwaliteitsverlies opleveren.
Dat is interessant. Ik heb nog steeds een aantal DVD's, als ISO, die ik wil omzetten naar MP4, maar ik weet nog niet wat de beste aanpak is om geen kwaliteitsverlies te hebben en niet onnodig grote bestanden. Het gaat om eigen familie videos, destijds analoog opgenomen.

De DVD's (ISO's) hebben hoofdstukken, het liefst heb ik dan een MP4 per hoofdstuk. Ik wilde dit met HandBrake gaan doen, maar direct met FFmpeg is misschien beter? Heb je tips voor de juiste settings?
Ik weet niet zeker of een met Windows gemount iso-bestand door handbrake als dvd gelezen kan worden. Lijkt me wel. Binnen Handbrake heb je ook deinterlace filters zitten en kun je prima upscalen naar moderne resoluties, zoals 720p. Ik vind alleen de deinterlacer en upscaler in Resolve mooier werken (is dan ook niet gratis als je de Neural Engine wilt gebruiken) en ben zelf ook colorist van beroep, dus geef het beeld graag wat herstelwerk daar waar nodig. Dat is dan vooral als het al een DVD is die ooit van een VHS-bron is gemaakt.

Een belangrijke setting is de beeldverhouding van de pixels die je liefst op 1:1 wilt zetten zodat elk apparaat het bestand normaal uitleest. Een (PAL) DVD heeft namelijk een resolutie van 720x576, of het nou als breedbeeld wordt getoond of niet. De videospeler zou in principe moeten uitlezen wat de beeldverhouding voor weergave is. Een breedbeeld-dvd zou dan als 1024x576 moeten worden weergegeven, maar mijn ervaring is dat dit niet 100% van de tijd gebeurt.

Handbrake heeft daarvoor een Anamorphic optie die ik zelf eigenlijk altijd uitzet zodat er wordt gewerkt met "vierkante" pixels, en dus de beeldverhouding van de weergave gelijk is aan de beeldverhouding van het bestand.

Verder zet ik de snelheid meestal op slow en de constant quality optie op 17, voor zowel SD als HD beeld. Met UHD heb ik nog geen Handbrake gebruikt.

Ik ben opzich geen intensief FFmpeg gebruiker. Ik heb het alleen gebruikt voor het zogenaamd remuxen van MKV naar MXF en omzetten van H264/H265 camerabestanden naar ProRes voor montage.

[Reactie gewijzigd door sdelange99 op 22 juli 2024 13:20]

Bedankt voor de uitgebreide info. Dan ga ik het met Handbrake proberen. Het gaat inderdaad om een originele VHS bron.
Ik denk dat er twee hoofdredenen voor zijn dat het kan, uitgerekend in een project als FFmpeg.

Het is een gratis Open Source project
In een commercieel/Closed Source project had er ergens een Product Manager moeten zijn die het commercieel nut in ziet van een paar developers aan het werk zetten om een importfilter voor filmpjes van een obscure game console uit de jaren '90 te maken.
In een gratis Open Source project heb je alleen één fanatieke enthousiasteling/obsessieve idioot nodig die maandenlang alle vrije tijd stopt in het reverse engineeren van een obscuur formaat en er een filter voor ontwikkelt.

Dit is ook een beetje dezelfde reden dat als je bijvoorbeeld een MS Word bestand uit 1988 wil openen je weinig zult hebben aan een moderne MS Word en je juist bij LibreOffice moet zijn. Omdat er ooit enkele vrijwilligers heel veel energie hebben gestoken in reverse engineeren en import filters ontwikkelen voor oude formaten is LibreOffice een allesvreter en vaak beter dan MS producten in het lezen van oude MS formaten.

Het is een Europees project
FFmpeg is van oorsprong Frans (net als VLC) en dat is geen toeval. In de Verenigde Staten zullen weinig developers zich wagen aan gesloten of gepatenteerde algoritmes omdat dat juridisch veel meer beperkt is. In Europa heeft een ontwikkelaar veel meer juridische vrijheid. In Europa is het patenteren van algoritmes bijvoorbeeld veel lastiger. Je moet voor de lol eens de 'legal' pagina van FFmpeg lezen om te lezen wanneer je moet gaan oppassen met het gebruik van FFmpeg. Voor eigen gebruik is het geen probleem, het gebruik in een commercieel product zonder licenties af te sluiten is riskant.

[Reactie gewijzigd door Maurits van Baerle op 22 juli 2024 13:20]

Inderdaad. En vergeet ook niet de enorme hoeveelheid audio- en video hardware die onder de motorkap ffmpeg gebruikt. Het wordt zelden expliciet vermeld, maar in de meeste gevallen kun je er gewoon vanuit gaan.
FFmpeg levert in de regel NIET de beste resultaten,
maar het is wel de BESTE allrounder en het is gratis met goede resultaten.
FFMpeg is slechts een bundel van demuxers, encoders, muxers etc, het heeft geen invloed op de kwaliteit die door de encoder bepaald wordt. Ja, als je niks opgeeft bij ffmpeg -i videofile_in videofile_out dan krijg je default settings en gaat er niet beter op worden, maar dat is een kwestie van handleiding lezen en de kwaliteit instellen die je verwacht.
Verklaar je nader?
Ben ook groot fan van deze tool, maar kwam laatst toch 'eindelijk' een bestand tegen wat hij niet wilde lezen; DNxHR MXF OP-Atom bestanden geëxporteerd vanuit Nucoda. Maar die bestanden kreeg ik überhaupt nergens geopend danwel geïmporteerd behalve Nucoda zelf en Avid Media Composer.
Heeft deze perse nvenc of quicksync nodig? Was me niet helemaal duidelijk geworden. Ik heb namelijk geen van beiden.
Volgens mij niet, maar transcoden kan behoorlijk cpu heavy zijn. Hou daar rekening mee.
Bij mijn tests met NVEnc en H264 kreeg ik middelmatige kwaliteit beelden met een enorm hoge bitrate. Ik weet niet of dat met AV1 en de nieuwste kaarten beter gaat?
Transcoden on-the-fly is soms onmisbaar bij incompatibele afspeelapparaten, maar voor archivering bleek voor mij software-encoding een veel betere optie.
Software encoding was al mogelijk in eerdere versies.
Je hebt gelijk, ik moet de documentatie beter lezen https://trac.ffmpeg.org/wiki/Encode/AV1
Even geprobeerd en libsvtav1 is verreweg de snelste op mijn systeem. (ongeveer 2x zo langzaam op een test video als H.264 )
Ja, heel leuk.. maar net zoals VP9 duurt het omzetten van een ander formaat naar deze ontzettend lang.

Je kunt wellicht GPU encoding/transcoding gebruiken, maar die heeft weer kwaliteitsverlies.

Vind het erg fijn dat er nieuwe en open standaarden bijkomen, maar bij de meeste midrange PC's kan dit gewoon dagen in beslag nemen.
Correctie in de inleiding: MPC-HC draait niet op FFMPEG maar op Microsoft Directshow en LAV!
En LAV is uiteindelijk een Directshow wrapper rond ffmpeg...
Ik zie het, libavcodec. Got it!
Ik heb een aantal filmpjes van een trouwerij waar ik geen beeld meer bij heb, alleen geluid.
Voorheen had ik wel beeld, weet dus niet wat er gebeurt is.
Heb filmpjes geconverteerd naar een ander bestand maar zelfde probleem.
Weet iemand hoe ik dit kan fixen, zou het met FFmpeg kunnen?
Ik heb niet veel kaas van video editing gegeten.
Kun je ze met VLC Media Player afspelen?
Ja maar alleen geluid.
Andere PC/telefoon geprobeerd, om uit te sluiten dat het ligt aan een missende codec?

Dat zou het ook kunnen zijn trouwens, maar dan zul je zoals @Mercurion al aangeeft even moeten checken welke codecs hij rapporteert.
Ja ook gedaan zelfs op de telefoon waarmee ik het opgenomen heb. Het is een filmpje van ong 25 min.
Dan vrees ik dat het bestand corrupt is geraakt.

Maar je kunt beter een topic voor open in het Forum, aangezien het niet veel te maken heeft met FFmpeg releases, wellicht kunnen andere je daar ook andere oplossingen aandragen.
Ja goed idee, thanks :)
En met mpv? Anders inderdaad ffprobe runnen.
Ga ik proberen, thanks.
Ik heb een aantal filmpjes van een trouwerij waar ik geen beeld meer bij heb, alleen geluid.
Voorheen had ik wel beeld, weet dus niet wat er gebeurt is.
Heb filmpjes geconverteerd naar een ander bestand maar zelfde probleem.
Wellicht heb je niet alle streams geconverteerd en werd enkel de videostream geconverteerd/geexporteerd.
Weet iemand hoe ik dit kan fixen, zou het met FFmpeg kunnen?
Met FFmpeg kan je met ffprobe nagaan welke streams er in het bestand zitten. Zodra je dat weet kan je met ffmpeg alle streams converteren naar het gewenste formaat.
Streams zijn o.a. video, audio maar ook ondertiteling.
Ik heb niet veel kaas van video editing gegeten.
FFmpeg kan niet alleen mediabestanden converteren maar je kan ook de streams wijzigen zoals knippen, filters toepassen waaronder effecten, je kan er zelfs audio en video mee opnemen en zelfs streamen.

FFmpeg zelf is een verzameling van CLI-programma's die vooral handig zijn wanneer je zaken wil automatiseren via scripting. Vertrouwd zijn met een opdrachtprompt zoals cmd/PowerShell/Bash,... is wel aan te raden. Er bestaan genoeg grafische programma's die dergelijke taken eenvoudiger maken zoals Handbrake, OBS, VLC,...
Mocht het via de commandline te moeilijk zijn, dan zijn er zelfs GUI tools, zelfs iets als VLC zou dit moeten rapporteren.

Als het geen video meer afspeelt, dan ben ik bang dat het file corrupt is, zeker als deze niet meer afspeelt op een ander device.
Thanks ik ga het proberen, cmd en powershell is geen probleem IT'er hier.

Denk dat ik weet waarom het beeld weg is.
Ooit opgenomen met een Windows telefoon, opgenomen in 4K formaat maar de mircosd kon tot FHD aan. Kwam pas later achter dat ik 4K had aangevinkt. Omdat ik meerde kaartjes bij me had en de rest al vol zat.
Daarna filmpjes op m'n laptop gezet, eerste paar keer had ik beeld, daarna haperend beeld omdat SD kaart te traag was.
En later alleen maar geluid ook toen ik het via de Windows telefoon afspeelde. SD kaart is de boesdoener geweest denk ik.

[Reactie gewijzigd door Jay47 op 22 juli 2024 13:20]

Wat je eventueel zou kunnen doen is een probleembestand beschikbaar maken, zodat anderen er naar kunnen kijken of ze het kunnen fixen...? Misschien is dat een optie?

Met dropbox of wetransfer.

Vaak kan je aan de bestandsgrootte ook wel zien of het beeld er nog wel in zit.
Grappig, had deze toevallig gisteren gedownload omdat ik een mp4-bestand kreeg van bijna 4GB die niet te lezen was door diverse programma's. Maar helaas ging ie ook met ffmpeg de mist in. Met Untrunc en een referentiefile kon ie een minuut beeld uit het grote bestand halen. Gevraagd aan degene waar ie vandaan komt of ze willen verifiëren of het ook daadwerkelijk een minuut moet zijn of dat er toch iets enorm mis is gegaan bij het op USBstick zetten.
Mogelijk is het niet bijna 4 GB maar net iets meer dan 4GB... Dan moet je heel goed opletten dat je niet ergens 32 bits libraries of programma's gebruikt. Die willen nog wel eens problemen hebben met de 4 GB grens.

Je zou met rauwe ffmpeg eens kunnen proberen om expliciet een blok uit het bestand te pakken, bijvoorbeeld in blokken van 10 minuten of zo. Volgens mij heeft ffmpeg op de commandline de mogelijkheid om met een stream te werken en dan per aantal minuten daar een los bestand van te maken. Toegegeven, het is al een tijdje geleden dat ik met een rauwe ffmpeg heb zitten hakken.
Het bestand is 3.852.407.112 bytes groot, dus nog keurig onder de 4GB.
knip: reactie moest niet hier.

[Reactie gewijzigd door DikkieDick op 22 juli 2024 13:20]

Op dit item kan niet meer gereageerd worden.