FFmpeg

ffmpeg.org
FFmpeg

A complete, cross-platform solution to record, convert, and stream audio and video. It's the industry standard multimedia framework, handling a vast range of formats. As a command-line tool, it guarantees that all processing is done locally on your machine.

Open Source

FFmpeg Source Code

Author

FFmpeg

Description

Mirror of https://git.ffmpeg.org/ffmpeg.git

#audio#c#ffmpeg#fft#hevc#hls#matroska#mp4#mpeg#multimedia#rtmp#rtsp#streaming#video#webm

Homepage

https://ffmpeg.org/

License

NOASSERTION

Created

14 Apr 11

Last Updated

06 Jun 26

Latest version

v0.6.1

Primary Language

C

Size

480,639 KB

Stars

60,806

Forks

13,881

Watchers

60,806

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Michael Niedermayer (04 Jun 26)

    avcodec/mjpegdec: require progress in AVRn interlaced field loop Fixes: Timeout Fixes: 500554625/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MEDIA100_fuzzer-5094103347167232 Fixes: 511253447/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMVJPEG_fuzzer-5780722463080448 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Martin Storsjö (04 Jun 26)

    checkasm: Fix defining CHECKASM_HAVE_GENERATED_H Commit 4569ab7eaa0d709fa9b578bc86d703212638a16c tried to set this only on the object files for the checkasm library itself, but missed that EXT_CHECKASMOBJS lacks the path prefix, thus this wasn't set at all. Alternatively, for simplicity, we could keep passing this for all checkasm object files, not only the checkasm library objects; the other object files don't use it in any case.

  • Martin Storsjö (04 Jun 26)

    configure: Include stdbit_h in the checkasm config header

  • Michael Niedermayer (31 May 26)

    tools/target_dec_fuzzer: reduce BMP max pixels to avoid RLE timeout a valid RLE bitmap can decompress to far more than its input size, an early end-of-picture code leaves the rest of the canvas blank, thus we cannot add a check in bmp decode Fixes: Timeout Fixes: 510821718/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BMP_DEC_fuzzer-5011979420106752 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Hendrik Leppkes (28 May 26)

    configure: filter out -D options from msvc link The linker does not understand or require -D (define) options, and unknown options are treated as errors. Fixes building with MSVC and SChannel, which regressed after 1e031d4af713168259ea3fd82c54a25f30b7bada

  • Hendrik Leppkes (05 Jun 26)

    build: ignore checkasm_header_config_generated.h

  • Kacper Michajłow (05 Jun 26)

    tests/checkasm/vvc_mc: prevent function inline to avoid stack overflow Fixes stack overflow on Windows when by default we have 1 MB. Individually those functions fit, but when they are all inlined, it's too much. Signed-off-by: Kacper Michajłow <[email protected]>

  • Kacper Michajłow (05 Jun 26)

    tests/checkasm/rv34dsp: pass correct buffer to bench function The test can negate stride, in which case we have to use adjusted `dst_newp`. Signed-off-by: Kacper Michajłow <[email protected]>

  • Andreas Rheinhardt (04 Jun 26)

    avcodec/exif: Remove version_major.h inclusion Forgotten in d151d3aecbe2a478c44be7faca56caae1848ca87. Signed-off-by: Andreas Rheinhardt <[email protected]>

  • Andreas Rheinhardt (04 Jun 26)

    avcodec/decode: Move exif declarations to exif_internal.h It is (arguably) a slightly better place for them and avoids a forward declaration of enum AVExifHeaderMode which is not possible in ISO C before C23 (and requires specifying the underlying type with C23). Signed-off-by: Andreas Rheinhardt <[email protected]>

  • Michael Niedermayer (31 May 26)

    avcodec/mwsc: do not dereference a missing reference frame Fixes: 493841393/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MWSC_fuzzer-5079884677578752 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Kacper Michajłow (04 Jun 26)

    configure: set -mpreferred-stack-boundary=4 for Windows 32-bit targets Win32 ABI only mandates 4 bytes stack alignment. GCC 16 changed default align and no longer works with ffmpeg expectations. Fixes crashes on aligned memory access in mingw32 gcc 16 build. Signed-off-by: Kacper Michajłow <[email protected]>

  • Michael Niedermayer (30 May 26)

    avcodec/misc4: reject invalid sample rate Fixes: AVERROR_BUG Fixes: 493055111/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MISC4_fuzzer-5752676962074624 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (31 May 26)

    swscale/output: avoid signed overflow in yuv2rgba64_1 alpha Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (30 May 26)

    swscale/output: avoid signed overflow in yuv2rgba64_full_1 alpha Fixes: 493055112/clusterfuzz-testcase-minimized-ffmpeg_SWS_fuzzer-5823995319746560 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (30 May 26)

    tools/target_dem_fuzzer: do not exit on io_buffer allocation failure Failure to allocate a randomly sized buffer should not count as a anomaly in the fuzzer there is nothing to fix in that case Fixes: 490112574/clusterfuzz-testcase-minimized-ffmpeg_dem_TMV_fuzzer-6600485921685504 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (19 May 26)

    avformat/gxfenc: Check timecode and propagate error Fixes: ./ffmpeg -f lavfi -i testsrc=duration=0.1:size=720x480:rate=30 -c:v mpeg2video -frames:v 1 -metadata timecode="999999999:00:00:00" -f gxf output.gxf Found-by: jiale yao Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (19 May 26)

    swscale/rgb2rgb_template: use unsigned for <<24 Found-by: jiale yao Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (30 May 26)

    avformat/iamf_parse: bound substream count by remaining OBU size also check for nb_substreams == 0 Fixes: 472641765/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-6390897173659648 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Michael Niedermayer (29 May 26)

    avformat/matroskadec: bound TRACKENTRY parsing by max_streams After the fix the reproducer finishes in 43 ms instead of OOM-ing at the 2 GB limit. Legitimate .mkv/.webm fate samples still parse cleanly. Fixes: 471604245/clusterfuzz-testcase-minimized-ffmpeg_dem_WEBM_DASH_MANIFEST_fuzzer-6662979358883840 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>

  • Hendrik Leppkes (03 Jun 26)

    avcodec/hevc: look for the DOVI RPU in all NALs, not just the last one Some encoders seem to place the SEI suffix NAL at the very end, with the RPU before it. Signed-off-by: James Almer <[email protected]>

  • Ramiro Polla (01 May 26)

    swscale/tests/swscale: add -scaler/-scaler_sub parameters to set scaler algorithm The -unscaled parameter has been removed in favour of "-scaler none". Some legacy scalers cannot be selected with these options (i.e.: SWS_X and SWS_FAST_BILINEAR). To test these, the -flags parameter shoule be used instead. This option sets the scaler/scaler_sub fields in SwsContext. There is a comment about these fields in struct SwsContext: Note: Does not affect the legacy (stateful) API. This comment is not entirely correct, since scaler/scaler_sub are taken into consideration to select the algorithm, but that doesn't update the flags field, which is still used to select implementations: libswscale/x86/swscale.c:574: if (c->opts.flags & SWS_FAST_BILINEAR && c->canMMXEXTBeUsed) { libswscale/ppc/swscale_vsx.c:2033: if (c->opts.flags & SWS_FAST_BILINEAR && c->opts.dst_w >= c->opts.src_w && c->chrDstW >= c->chrSrcW) { libswscale/swscale_unscaled.c:2465: && (!needsDither || (c->opts.flags&(SWS_FAST_BILINEAR|SWS_POINT)))) libswscale/swscale_unscaled.c:2650: if (c->opts.flags&(SWS_FAST_BILINEAR|SWS_POINT)) { libswscale/utils.c:1279: && !(sws->flags & SWS_FAST_BILINEAR) libswscale/utils.c:1388: (flags & SWS_FAST_BILINEAR))) libswscale/utils.c:1417: && (flags & SWS_FAST_BILINEAR)) { libswscale/utils.c:1437: if (flags & SWS_FAST_BILINEAR) { libswscale/utils.c:1648: if (c->canMMXEXTBeUsed && (flags & SWS_FAST_BILINEAR)) { libswscale/swscale.c:678: if (c->opts.flags & SWS_FAST_BILINEAR) { Sponsored-by: Sovereign Tech Fund Signed-off-by: Ramiro Polla <[email protected]>

  • James Almer (05 Jun 26)

    tests/fate/probe: add test for mp3 misdetected as mpeg As fixed in de647bfbbca3d073f21be45730f080c8a4464a31. Signed-off-by: James Almer <[email protected]>

  • Andreas Rheinhardt (04 Jun 26)

    avformat/tls_{gnutls,mbedtls,openssl}: Add config_components.h Forgotten in fb5dd6ec60f42cd19ce5e59d745e72fdb73731f8, effectively disabling the #if CONFIG_UDP_PROTOCOL block; it triggered a -Wundef warning as well as an unused-variable warning in tls_openssl.c. Also use the TLSShared* in tls_openssl to avoid an unused variable warning if the UDP protocol is disabled. Signed-off-by: Andreas Rheinhardt <[email protected]>

  • Ramiro Polla (08 May 26)

    swscale/tests/swscale: add -api parameter (supersedes -legacy parameter) The "-legacy 1" option was added in 101a2f6fc60 to run the main conversion with the legacy scaler. This was done by forcing the use of the legacy API. This way, it was possible to pass "-flags unstable" and still ensure the legacy scaler path was being taken. New legacy-related parameters will be added to the test tool, so it makes sense to rename the -legacy option to reflect what it was actually doing. Sponsored-by: Sovereign Tech Fund Signed-off-by: Ramiro Polla <[email protected]>

  • Ramiro Polla (15 May 26)

    swscale/tests/swscale: reuse init_frame() for src Sponsored-by: Sovereign Tech Fund Signed-off-by: Ramiro Polla <[email protected]>

  • Ramiro Polla (20 May 26)

    swscale/tests/swscale: add optional destination size to -s option This lets us test specific scaling operations, for example: $ ./libswscale/tests/swscale -s 96x96:128x128 -src yuva444p -dst rgb24 -flags unstable+neighbor yuva444p 96x96 -> rgb24 128x128, flags=0x100010 dither=1, SSIM={Y=0.999932 U=0.999957 V=0.999937 A=1.000000} loss=6.514788e-05 Sponsored-by: Sovereign Tech Fund Signed-off-by: Ramiro Polla <[email protected]>

  • Ramiro Polla (01 May 26)

    swscale/tests/swscale: propagate ret out of parse_options() This will make it easier to keep function-scoped variables. Sponsored-by: Sovereign Tech Fund Signed-off-by: Ramiro Polla <[email protected]>

  • Ramiro Polla (01 Jun 26)

    Revert "swscale/tests/swscale: check if formats require the legacy path with -hw" This reverts commit ac611d31209bf351bc510ba7cbb9a238649fdcff.

  • Andreas Rheinhardt (04 Jun 26)

    avcodec/utils: Don't attempt to derive CodecID name from de/encoders The list of codec descriptors is supposed to encompass all codec IDs; it certainly encompasses all codec IDs used by de/encoders (this is checked in the avcodec test program which is run via FATE). So the avcodec_find_decoder()/avcodec_find_encoder() are pointless. Signed-off-by: Andreas Rheinhardt <[email protected]>

FFmpeg Website

Website

FFmpeg

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 79.124.17.100
  • Location Sofia, Sofia (stolitsa), Bulgaria, EU
  • ISP Telepoint Ltd
  • ASN AS31083

Associated Countries

  • IT IT
  • BG BG
  • DE DE

Safety Score

Website marked as safe

100%

Blacklist Check

ffmpeg.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

FFmpeg Reviews

More File Converters

About the Data: FFmpeg

Change History

API

You can access FFmpeg's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/media/file-converters/ffmpeg

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

Share FFmpeg

Help your friends compare File Converters, and pick privacy-respecting software and services.
Share FFmpeg and Awesome Privacy with your network!

View File Converters (2)