1
0
Fork 0
mirror of git://git.ffmpeg.org/ffmpeg.git synced 2026-07-03 22:43:33 +02:00
FFmpeg git repo
  • C 89%
  • Assembly 8.4%
  • Makefile 1.4%
  • GLSL 0.4%
  • C++ 0.3%
  • Other 0.3%
Find a file
marcos ashton 2f779272e0 libavformat/img2enc: add update_filemtime option
Add a new boolean option -update_filemtime to the image2 muxer that
sets each output file's modification time based on the creation_time
metadata plus the frame's PTS offset.

This is useful when extracting frames from dashcam or action camera
footage where wall-clock timestamps should be preserved on the output
files, allowing photo management tools to sort frames by capture time
without post-processing.

The option requires creation_time metadata to be set (via -metadata
creation_time=...). If not present, a warning is logged and the
option is silently disabled. When PTS is unavailable, the creation
time is used as-is without frame offset.

Uses utimes() on POSIX and _utime() on Windows to set file timestamps
with microsecond and second precision respectively.

Includes a FATE roundtrip test that writes frames with a known
creation_time, reads them back using the demuxer's -ts_from_file
option, and verifies the PTS values match the expected timestamps.

Closes: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/22537
Signed-off-by: marcos ashton <marcosashiglesias@gmail.com>
2026-07-03 19:47:10 +00:00
.forgejo .forgejo/actions/rebase-pr: workaround stale forge.event.pull_request.merge_base value 2026-07-03 12:24:31 +00:00
compat configure: Pass the .objs response file to makedef 2026-06-27 11:32:54 +00:00
doc libavformat/img2enc: add update_filemtime option 2026-07-03 19:47:10 +00:00
ffbuild Makefile, ffbuild/{common,library}: Allow to build DEVTOOLS 2026-07-02 20:39:29 +02:00
fftools fftools/ffplay: remove SDL_AUDIO_ALSA_SET_BUFFER_SIZE 2026-07-03 12:49:56 +00:00
libavcodec avcodec/x86/me_cmp: Reduce amount of registers used 2026-07-03 16:09:57 +02:00
libavdevice Bump minor after release/9.0 branch on master 2026-06-26 02:47:51 +02:00
libavfilter avfilter/dnn_backend_torch: fix missing ret in async error path 2026-07-03 21:29:36 +08:00
libavformat libavformat/img2enc: add update_filemtime option 2026-07-03 19:47:10 +00:00
libavutil tests/fate/libavutil: add FATE test for video_hint 2026-07-02 13:48:58 +00:00
libswresample Bump minor after release/9.0 branch on master 2026-06-26 02:47:51 +02:00
libswscale swscale/ops: Move stuff for enumerating op lists out 2026-07-02 20:39:29 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests libavformat/img2enc: add update_filemtime option 2026-07-03 19:47:10 +00:00
tools tools: Add a script for updating the checkasm subtree 2026-06-25 12:46:50 +03:00
.gitattributes gitattributes: End merge conflicts in Changelog 2025-03-17 15:26:10 +01:00
.gitignore swscale/x86/uops: generate NASM macros using uops_macros.h 2026-06-09 18:27:20 +02:00
.mailmap mailmap: add entry for myself 2025-08-08 21:51:15 +00:00
Changelog Changelog: add APV Vulkan encoder to the changelog 2026-07-02 16:48:08 +09:00
configure lavc/apv_encode_vulkan: add a Vulkan APV encoder 2026-07-02 16:45:08 +09:00
CONTRIBUTING.md CONTRIBUTING.md: add blank line after top heading 2026-04-20 12:32:50 +00:00
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 2009-06-05 09:51:31 +00:00
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
COPYING.LGPLv2.1 all: fix whitespace/new-line issues 2025-08-03 13:48:47 +02:00
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
CREDITS Use https for repository links 2023-03-01 21:59:10 +01:00
FUNDING.json Add FUNDING.json 2025-06-23 14:48:40 +02:00
INSTALL.md INSTALL.md: add title heading and normalize section levels 2026-04-20 12:32:50 +00:00
LICENSE.md Remove libpostproc 2025-05-07 15:35:47 +02:00
MAINTAINERS avcodec: Remove FF_CODEC_OMX 2026-06-23 17:15:02 +02:00
Makefile Makefile, ffbuild/{common,library}: Allow to build DEVTOOLS 2026-07-02 20:39:29 +02:00
README.md README.md: use consistent ATX heading style 2026-04-20 12:32:50 +00:00
RELEASE RELEASE: update to 8.0 2025-08-14 08:42:29 -04:00

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides means to alter decoded audio and video through a directed graph of connected filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.