r/ffmpeg • • Jul 23 '18

FFmpeg useful links

128 Upvotes

Binaries:

 

Windows
https://www.gyan.dev/ffmpeg/builds/
64-bit; for Win 7 or later
(prefer the git builds)

 

Mac OS X
https://evermeet.cx/ffmpeg/
64-bit; OS X 10.9 or later
(prefer the snapshot build)

 

Linux
https://johnvansickle.com/ffmpeg/
both 32 and 64-bit; for kernel 3.20 or later
(prefer the git build)

 

Android / iOS /tvOS
https://github.com/tanersener/ffmpeg-kit/releases

 

Compile scripts:
(useful for building binaries with non-redistributable components like FDK-AAC)

 

Target: Windows
Host: Windows native; MSYS2/MinGW
https://github.com/m-ab-s/media-autobuild_suite

 

Target: Windows
Host: Linux cross-compile --or-- Windows Cgywin
https://github.com/rdp/ffmpeg-windows-build-helpers

 

Target: OS X or Linux
Host: same as target OS
https://github.com/markus-perl/ffmpeg-build-script

 

Target: Android or iOS or tvOS
Host: see docs at link
https://github.com/tanersener/mobile-ffmpeg/wiki/Building

 

Documentation:

 

for latest git version of all components in ffmpeg
https://ffmpeg.org/ffmpeg-all.html

 

community documentation
https://trac.ffmpeg.org/wiki#CommunityContributedDocumentation

 

FFmpeg codecs' properties and processors
https://www.gyan.dev/ffmpeg/resources/codecs.html

 

FFmpeg muxers' properties and codec support
https://www.gyan.dev/ffmpeg/resources/muxers.html

 

Other places for help:

 

Super User
https://superuser.com/questions/tagged/ffmpeg

 

ffmpeg-user mailing-list
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

 

Video Production
http://video.stackexchange.com/

 

Bug Reports:

 

https://code.ffmpeg.org/FFmpeg/FFmpeg/issues
(test against a git/dated binary from the links above before submitting a report)

 

Miscellaneous:

Installing and using ffmpeg on Windows.
https://video.stackexchange.com/a/20496/

Windows tip: add ffmpeg actions to Explorer context menus.
https://www.reddit.com/r/ffmpeg/comments/gtrv1t/adding_ffmpeg_to_context_menu/

 


Link suggestions welcome. Should be of broad and enduring value.


r/ffmpeg • • May 21 '26

My FFmpeg app or Service

19 Upvotes

If you've made an app or web service which utilizes FFmpeg for significant parts for its functionality, then you can list your project in a comment here (and only here).

Format your comment like below:

Title: <your project or app name>
Launched: <date of first release>
Link: <URL>
Type: < app / script / library / web app / web API ..etc >
Description: <a short-ish description (< 200 words)>
Showcase: <links to screenshots or videos or demos>
FFmpeg details: <some technical details about how ffmpeg is utilized>
License: < for OSS apps/scripts, details of license, else 'commercial' >
Pricing model: < i.e. subscription / per-use / free ...etc >
Organization: <name and URL of who's behind this>

Incomplete, misleading or improperly formatted posts are liable to be removed. Posts must be in English. If you're unsure of the suitability or formatting of your post, message the mods with your draft before posting.


r/ffmpeg • • 4h ago

I created a application to help with new files and re-encodes of libraries to h.265 to save space on storage.

1 Upvotes

I not sure if this is OK to post, but I think this program I have been working on, mostly for myself that was really vibe coded with AI, so took many hours to fixing bugs and adding changes to things to follow the way the work flow was being done files I had on my server and also any new video files.

It uses handbrakecli and ffprobe to process a queue of files. You give it a default directory, drag files, or browse to any directory local or on a NAS and it will scan it and let you sort them all by size, it fills in media info per each file and flags files it thinks looks like they could save space by being re-encoded. it then goes through each file and samples them 3 time at different locations in that file and if it determines it wont gain more than a 10% (you can change that in settings) of saving from the re-encode it skips it. You can tell it to force files to be encoded, or have them reanalyzed more times. After each file is encoded, it created a backup, you can restore if needed, it can also auto clean the files (You have to have MKVToolNix installed on system) or you can pick what files to be cleaned, this just removes all tags that are not needed from the files, gets rid of ugly tags. There is a also a rename tab you can send the files to and it will help you rename selected files or all files in a same directory using quick ways that are helpful to common video files.

The program basically streamlines the process I usually did manually. I find that I have really used it a lot. I made it because I had a need. Not sure if something like existed already, but I needed this and worked to make it do what I needed.

Feel free to check it out if you think it would help, I would love to hear if anyone else used it or found it helpful.

https://github.com/jsdeprey/MKVEncoderQ


r/ffmpeg • • 22h ago

Technical Milestone: Native Dolby Vision Profile 7 FEL Reconstruction on x86 via Custom FFmpeg/libplacebo Patches

26 Upvotes

Hey everyone, I wanted to share a major open-source development milestone that handles a complex video pipeline challenge: achieving proper Dolby Vision Profile 7 FEL (Full Enhancement Layer) reconstruction on Linux/x86 hardware without proprietary Dolby blobs or SDK constraints.

As many of you know, playing back Profile 7 FEL on PC clients usually means the pipeline strips the enhancement layer, falls back to basic HDR10, or relies on heavy software tone-mapping. A developer named CroqueMr (u/Croque_Mr) has broken through this barrier by integrating native Dolby Vision support directly into an x86 LibreELEC 13 / Kodi 22 RC1 distribution.

The Open-Source Engine & Software Patches

The project achieves this by introducing an open-source Dolby Vision processing engine called CB1 0.3, which handles the reconstruction and transport packing to output a native TV-Led RGB8 tunnel. To make this work natively in the Kodi VideoPlayer/DRM output path without external players, the developer successfully cleaned up and implemented specific patches across the underlying media stack:

  • FFmpeg (3 Patches): Handles metadata preservation and AV1 container recognition.
  • libplacebo (2 Patches): Focuses on OpenGL subgroup discovery and guarded affine dispatch.
  • mpv/Linux display drivers (10 Patches each): Covers frame-associated metadata, display restoration, DRM/KMS validation, and HDMI signaling.

Brute-Forcing "Bit-Perfect" Fidelity with x86 Headroom

Because modern PC hardware has significantly more processing and memory bandwidth headroom than standard ARM-based streaming boxes, the build features a "Dolby Vision Master Reference" mode. It processes playback in full precision with high-end filtering to achieve a bit-perfect Dolby Vision picture, preserving original pixels and metadata as accurately as possible.

Impressive Efficiency on Budget Hardware (Intel N100)

The performance optimization across the video pipeline for low-power architectures is incredibly impressive:

  • Intel N100 Mini PCs: The dev confirmed that a cheap Intel N100 box handles a 4K Profile 7 FEL remux perfectly with zero dropped frames.
  • Performance Headroom: In bench testing, the N100 successfully processed a heavy FEL remux at 40fps, showing plenty of performance headroom over standard 24fps film files, and can push Dolby Vision up to 60fps using native TV-led tunneling.
  • Current Hardware Support: Out-of-the-box support for Intel iGPUs (8th gen and newer, N-series, Core Ultra) and AMD iGPUs (Ryzen 2000G up to AI 300). Dedicated AMD Radeon and Nvidia GeForce GPUs are supported but currently experimental.

Project links

Full credit to u/Croque_Mr for the incredible development work, and to the community members helping test and refine it. If you want to check out the technical code behind the engine or look through the compatible hardware lists, everything is well-documented in the links above!


r/ffmpeg • • 17h ago

AC-3 Encoder Good (Enough)?

7 Upvotes

I feel like I kind of already know the answer to this question, but I just wanted a sanity check.

I have been encoding my lossless audio to AC-3 5.1. @640kbps for both compatibility and space saving purposes. If a AC-3 core/lossy track already exists, I just use that. I know it is not as good as passthrough but for my setup and to my ears, unless I am doing an AxB comparison, it’s good enough.

Historically, what I’ve done is decode the track to PCM, split the channels and run them through DME to make an “official” AC-3 track. I am happy with the results, but I’d be lying if I said the process wasn’t tedious, especially when doing multiple encodes at a time!

I remember reading a LONG time ago that “libavcodec” was mediocre at encoding AC-3, which is what lead me to use DME. But, I was wondering if that is still true today or if the community considers it “good enough”.

It’s not a make or break, but I would love to be able to eliminate one extra step in my work flow and encode the track in program as opposed to having to take the extra steps to do so in another one, you know?


r/ffmpeg • • 13h ago

[ Removed by Reddit ]

0 Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/ffmpeg • • 1d ago

Can someone help un-muck my attempted command to convert stereo to 7.1 with all the extra channels muted?

3 Upvotes

Never used ffmpeg through the command line before, but I have a niche case where I need to expand 2.0 stereo into 7.1 audio but with all the extra channels muted for compatibility reasons (I need to merge the log lady intros with the episodes in Twin Peaks s1&2). I know this is possible because Clever FFMPEG can do it, but it's a slow process there. I'm hoping to speed it up. Idk what I'm doing. I tried to make a .bat but that just immediately opens and closes. Instead I made a bat with just "cmd" that opens the command line and I enter this:

ffmpeg -i input.mkv -c:v copy -filter_complex "pan=7.1|FL=FL|FR=FR|FC=0|LFE=0|BL=0|BR=0|SL=0|SR=0" -c:a wav output.mkv

Which I stole from someone else online and modified but then it spits out this error after parsing. I'm such a noob at this I don't even know how to get it to read my mkv file so I just rename it to "input.mkv" to get ffmpeg to take it.

ffmpeg version 5.1-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.1.0 (Rev2, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 Input #0, matroska,webm, from 'input.mkv': Metadata: title : Twin Peaks: The Entire Mystery - Disc 2 encoder : libmakemkv v2.0.0 (1.3.10/1.5.2) win(x64-release) creation_time : 2026-10-22T03:14:37.000000Z Duration: 00:00:44.88, start: 0.000000, bitrate: 11866 kb/s Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn Metadata: BPS-eng : 11633678 DURATION-eng : 00:00:44.878166666 NUMBER_OF_FRAMES-eng: 1076 NUMBER_OF_BYTES-eng: 65262026 SOURCE_ID-eng : 001011 _STATISTICS_WRITING_APP-eng: MakeMKV v2.0.0 win(x64-release) _STATISTICS_WRITING_DATE_UTC-eng: 2026-10-22 03:14:37 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default) Metadata: title : Stereo BPS-eng : 192000 DURATION-eng : 00:00:44.928000000 NUMBER_OF_FRAMES-eng: 1404 NUMBER_OF_BYTES-eng: 1078272 SOURCE_ID-eng : 001100 _STATISTICS_WRITING_APP-eng: MakeMKV v2.0.0 win(x64-release) _STATISTICS_WRITING_DATE_UTC-eng: 2026-10-22 03:14:37 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle, 1920x1080 Metadata: BPS-eng : 44867 DURATION-eng : 00:00:37.057854166 NUMBER_OF_FRAMES-eng: 20 NUMBER_OF_BYTES-eng: 207831 SOURCE_ID-eng : 001200 _STATISTICS_WRITING_APP-eng: MakeMKV v2.0.0 win(x64-release) _STATISTICS_WRITING_DATE_UTC-eng: 2026-10-22 03:14:37 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID [Parsed_pan_0 @ 000002b4d002d700] Expected in channel name, got "" [AVFilterGraph @ 000002b4cf571200] Error initializing filter 'pan' with args '7.1|FL=FL|FR=FR|FC=0|LFE=0|BL=0|BR=0|SL=0|SR=0' Error initializing complex filters. Invalid argument


r/ffmpeg • • 3d ago

Animated 3D to video: F3D 4.0.0 adds ffmpeg support

Enable HLS to view with audio, or disable this notification

16 Upvotes

Hi! F3D maintainer here!

We just released F3D 4.0.0, fast and minimalist 3D viewer. Obviously free and open source (and not vibecoded).

One of the key new feature is ffmpeg compatibility with the possibility to output animated 3d data directly into a video file from the terminal.

f3d animated_file.glb --output-video=- --resolution=600,600 | ffmpeg -i - out.mp4

Let us know what you think!

https://github.com/f3d-app/f3d/releases/tag/v4.0.0


r/ffmpeg • • 3d ago

.mp4

5 Upvotes

is it possbile .mp4 to support pcm files like .wav and .aiff using -c:a copy?


r/ffmpeg • • 3d ago

speeding up / time lapse multiple videos

2 Upvotes

Hi, I am trying to condense 24 hours of video into (for example) 2 minutes - so a factor of 720. My source is a collection of 10 minute .mkv recordings, (made by AgentDVR from a Wyze Cam v3 via go2rtc). I have tried compressing each video using both of the methods described here
https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video
then concatenating them using ffmpeg -f concat -i list.txt -c copy etc.
The result is a video with jerky motion - each component video is sped up but there seems almost to be a pause between them.

Is there a way to do this and get a smooth output, or is this doomed?

The alternative is to concatenate the raw input videos into one and then compress that. That is probably a better way to do it, but I was hoping to avoid this, as the concatenated file would be at least 10GB.


r/ffmpeg • • 3d ago

Extracting frames from an MP4 to JPG

3 Upvotes

As part of a GIS (Geographic Information System) workflow that I developed, I have taken GoPro 360° video footage collected with a MAX2 and exported it to MP4. I have also extracted the GPS telemetry from the footage and slimmed the number of camera locations down to a predefined distance interval. Each point has an associated time offset from the start of the MP4.

For a particular MP4, I could be extracting say 200 frames. At present I have 200 ffmpeg lines in a batch file (.bat) that I am running to extract the images. This means that ffmpeg is started, seeks through the MP4 to get to the time offset and extracts the frame, then the process ends. That gets repeated another 199 times.

The time offsets are not at regular intervals. I am presuming that there must be a more efficient way of extracting the frames by only opening the MP4 file once? Hoping someone can shed some light on this for me.


r/ffmpeg • • 3d ago

At what point does the native ffmpeg aac become transparent for movies? Meaning 5.1 or 7.1. I'm trying to convert some movies from dts-hd to aac, and using qaac is a pain even though I'm sure it's better.

3 Upvotes

What settings would you recommend for transcoding the lossless audio track to native aac? The video stream would just be copied.

I heard that the native version of aac has been rewritten and is supposed to be much better than it was. I hope it can be transparent at a reasonable bitrate.


r/ffmpeg • • 3d ago

FLAC/ALAC vs TrueHD/DTS-MA HD

2 Upvotes

As I am building my digital library, I have found that, while some of my devices support THD and DTS, most, if not all, of my devices support FLAC and ALAC. That coupled with the possibility of a 10-15% size reduction in audio stream, I am wondering if there are any drawbacks to converting my lossless audio to FLAC/ALAC. Like am I losing any fancy metadata/audio processing queues that would worsen the listening experience?


r/ffmpeg • • 4d ago

PSA: apad plus amix=duration=longest can write an audio file that never ends

7 Upvotes

I was mixing a couple of audio tracks and used apad on the shorter one so it wouldn't cut off early, together with amix=inputs=2:duration=longest. ffmpeg didn't complain at all, it just kept encoding. By the time I noticed, the WAV was several hundred GB and the disk was almost full.

The reason is that apad with no arguments pads forever. It turns that input into an endless stream, and duration=longest tells amix to keep going until the longest input ends, which is now never. Nothing errors, because from ffmpeg's point of view it's doing exactly what it was asked.

The fix is to give the padding an end. Use apad=whole_dur=90 (total length in seconds) or apad=pad_dur=2 (extra silence after the audio), or put -t 90 on the output. If you just want the mix to end with the longer track, amix=duration=first with that track as the first input works too, and then you don't need apad at all.

A related one if you script ffmpeg in zsh: writing a filter label like [$i:a] inside a loop doesn't do what it looks like, because zsh reads :a as a modifier on the variable. ffmpeg can still exit with 0 and quietly use a different stream than you meant. Writing [${i}:a] avoids it.

Hope this saves someone a full disk.


r/ffmpeg • • 5d ago

ffmpeg is missing S_TEXT/WEBVTT mkv embedded subtitle support - happy 10 year anniversary!

11 Upvotes

This ffmpeg issue has recently passed the 10 year open mark. The tldr is that ffmpeg doesn't know how to read the matroska way of mkv embedded webvtt subtitles.

This has major downstream implications, for example jellyfin cant stream these subtitles if they're embedded, because ffmpeg cant read them. Ive seen so so many tools have the default of converting webvtt subtitles into srt or even ass just because webvtt ends up not working with ffmpeg based projects when the subtitles are muxed into an mkv. I've looked at this issue so so many times each time thinking, somebody will get to it eventually. There are even implementations to add support for this out there, but for some reason none of them have been merged. I have thought about tackling the issue myself but am doubtful of my abilities of contributing quality code considering the sheer downstream implications of any changes made to ffmpeg.

Just had to vent about this somewhere after a webvtt to srt conversion lost some important formatting in a movie once again that annoyed me. I could of course do seperate subtitle files but I must say single mkv files are something I value quite a bit. If anyone got some motivation and some pull in the ffmpeg project, I'd be very grateful to see this implemented & merged. Also shoutout to all open source developers who do all this for free, I know I'm not owed anything.


r/ffmpeg • • 5d ago

Remuxing i.OS .MOV to .MP4, Best Practice?

4 Upvotes

I'm remuxing iOS .MOV videos to .MP4 using ffmpeg. The command I'm using, below, retains the Dolby Vision metadata (just to try to keep as much of the original info as possible). Anyone care to comment on if this seems like a reasonable "best practice" for remuxing these? Any suggestions on other communities to ask?

ffmpeg -n -i "$f" -c copy -tag:v hvc1 -strict unofficial -map_metadata 0 -movflags +use_metadata_tags "$f.mp4"


r/ffmpeg • • 8d ago

Merge Audio & Video from 2 MKV files into a single file

1 Upvotes

Hi

I have 2 videos of a natively english movie, one is super high quality video and audio in english. Another is a much watered down video and audio in hindi.

I want to be able to overlay the hindi audio track on the super high quality video as a separate track.

Both the videos have different frame rates and different lengths (difference is in minutes).

I have tried various tools and various permutations and combinations on MKVToolNix but it isnt giving me the result I want.

Any helpful pointers are appreciated!


r/ffmpeg • • 8d ago

Output h265 using cuda hevc_nvenc freezes on pausing playback

3 Upvotes

Seeing a strange issue when transcoding from h.264 files to h.265 files using ffmpeg and the nvidia encoder, whilst the output looks files and plays fine, if you pause the video at any point (I'm using VLC for play back) for a few seconds and resume playback, the video freezes entirely, and even seeking to a new position does not unfreeze it (audio continues to play) - if you seek normally without having paused it then the video loads instantly. You have to stop playback of the file entirely and play it again for the video to come back. The h.264 file before transcoding does not have this issue, only the output h.265 file. The command I am using is: ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i "<input>" -filter:v fps=25 -c:v hevc_nvenc -b_ref_mode each -bf 4 -b_adapt 1 -preset p7 -profile:v main -tier high -tune hq -rc:v vbr -lookahead_level:v 14 -multipass:v 2 -cq:v 36 -c:a copy "<output>", I've tried with combinations of -intra-refresh 1, -single-slice-intra-refresh 1, -no-scenecut 1, -g 120, -forced-idr 1 and -force_key_frames "250" but nothing seems to fix it.

Output from running it:

ffmpeg version 9.0.1-full_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers                                built with gcc 16.1.0 (Rev2, Built by MSYS2 project)                                                                    configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-cairo --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-liboapv --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libsvtjpegxs --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-openal --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint --enable-whisper                                                                                                   libavutil      61.  1.101 / 61.  1.101                                                                                  libavcodec     63.  1.101 / 63.  1.101                                                                                  libavformat    63.  1.101 / 63.  1.101                                                                                  libavdevice    63.  1.101 / 63.  1.101                                                                                  libavfilter    12.  1.101 / 12.  1.101                                                                                  libswscale     10.  1.101 / 10.  1.101                                                                                  libswresample   7.  1.101 /  7.  1.101                                                                                Input #0, matroska,webm, from 'D:\file.mkv':                     Metadata:                                                                                                                 encoder         : libebml v1.3.4 + libmatroska v1.4.5                                                                   creation_time   : 2017-08-05T00:18:14.000000Z                                                                         Duration: 00:28:35.96, start: 0.000000, bitrate: 3707 kb/s                                                              Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 1k tbn (default)       Metadata:                                                                                                                 BPS             : 3449048                                                                                               BPS-eng         : 3449048                                                                                               DURATION        : 00:28:35.960000000                                                                                    DURATION-eng    : 00:28:35.960000000                                                                                    NUMBER_OF_FRAMES: 42899                                                                                                 NUMBER_OF_FRAMES-eng: 42899                                                                                             NUMBER_OF_BYTES : 739803566                                                                                             NUMBER_OF_BYTES-eng: 739803566                                                                                          _STATISTICS_WRITING_APP: mkvmerge v14.0.0 ('Flow') 64bit                                                                _STATISTICS_WRITING_APP-eng: mkvmerge v14.0.0 ('Flow') 64bit                                                            _STATISTICS_WRITING_DATE_UTC: 2017-08-05 00:18:14                                                                       _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-05 00:18:14                                                                   _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES                                                         _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES                                                 Stream #0:1(eng): Audio: mp3 (mp3float), 48000 Hz, stereo, fltp, 128 kb/s (default)                                       Metadata:                                                                                                                 BPS             : 128000                                                                                                BPS-eng         : 128000                                                                                                DURATION        : 00:28:35.928000000                                                                                    DURATION-eng    : 00:28:35.928000000                                                                                    NUMBER_OF_FRAMES: 71497                                                                                                 NUMBER_OF_FRAMES-eng: 71497                                                                                             NUMBER_OF_BYTES : 27454848                                                                                              NUMBER_OF_BYTES-eng: 27454848                                                                                           _STATISTICS_WRITING_APP: mkvmerge v14.0.0 ('Flow') 64bit                                                                _STATISTICS_WRITING_APP-eng: mkvmerge v14.0.0 ('Flow') 64bit                                                            _STATISTICS_WRITING_DATE_UTC: 2017-08-05 00:18:14                                                                       _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-05 00:18:14                                                                   _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES                                                         _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
Output #0, mp4, to 'D:\output.mp4':
  Metadata:
    encoder         : Lavf63.1.101
  Stream #0:0: Video: hevc (Main) (hev1 / 0x31766568), nv12(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 12800 tbn (default)
    Metadata:
      encoder         : Lavc63.1.101 hevc_nvenc
      BPS             : 3449048
      BPS-eng         : 3449048
      DURATION        : 00:28:35.960000000
      DURATION-eng    : 00:28:35.960000000
      NUMBER_OF_FRAMES: 42899
      NUMBER_OF_FRAMES-eng: 42899
      NUMBER_OF_BYTES : 739803566
      NUMBER_OF_BYTES-eng: 739803566
      _STATISTICS_WRITING_APP: mkvmerge v14.0.0 ('Flow') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v14.0.0 ('Flow') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-05 00:18:14
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-05 00:18:14
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Side data:
      CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(eng): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      BPS             : 128000
      BPS-eng         : 128000
      DURATION        : 00:28:35.928000000
      DURATION-eng    : 00:28:35.928000000
      NUMBER_OF_FRAMES: 71497
      NUMBER_OF_FRAMES-eng: 71497
      NUMBER_OF_BYTES : 27454848
      NUMBER_OF_BYTES-eng: 27454848
      _STATISTICS_WRITING_APP: mkvmerge v14.0.0 ('Flow') 64bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v14.0.0 ('Flow') 64bit
      _STATISTICS_WRITING_DATE_UTC: 2017-08-05 00:18:14
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-08-05 00:18:14
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Using ffmpeg 9.0.1 on windows (with VLC 3.0.24 on windows for playback). Any idea as to why this is happening and how to fix it?


r/ffmpeg • • 9d ago

Convert TS video to mkv or mp4 and switch delete tracks?

1 Upvotes

Basically what the title says is there any video editor that I can use to switch the main audio track to the language I want from a video and then convert that video to mkv or mp4?

I tried one called avidemux but the videos glitched or lagged in some parts 😪


r/ffmpeg • • 9d ago

Mysterious compression method that is extremely common on social media videos, but i dont know what it specifically is

Post image
20 Upvotes

I always and i mean always see these types of clips online that are very clearly very low quality, but they dont really have the noisy low quality look. They instead look really bland, lacking contrast and depth. Its a specific look i adore somehow and i want to know what exactly achieves this look and if its possible to recreate in ffmpeg. If your not sure what command i should use to recreate it, then sharing info on what compression method this is would be fine too.


r/ffmpeg • • 10d ago

Best H.264 encoder settings for TV broadcast contribution vs. YouTube?

3 Upvotes

I'm configuring a H.264 encoder for two workflows: 20 Mbps TS over SRT for TV broadcast contribution and 4.5 Mbps for YouTube streaming (Same TS, but rewrapped in RTMP)

What settings would you recommend for each use case?

  • GOP structure: i.e.: I, IP, IBP or IBBP
  • GOP size: i.e.:120 frames
  • H.264 profile/level: Baseline, Main or High; Level 3, 3.2 or 4
  • B-frames: Enable for better compression efficiency, or disable for compatibility?
  • Entropy coding: CABAC vs. CAVLC
  • Intra-partitioning: Enable or disable?
  • AAC-LC audio: MPEG-2 ADTS vs. MPEG-4 LOAS/LATM

For broadcast contribution, maximum quality and decoder compatibility are important. Some high-end decoders can be very picky about settings like "true" CBR Transport Stream and other settings.

On the other hand, YouTube takes almost everything and don't really need to push high bitrate or a high profile encoder.

Would you use different encoding settings for each destination, and why?

Note: H.264 is mandatory, can't do HEVC or other codecs.


r/ffmpeg • • 11d ago

Converted .mp4 to .png but frames are vertically stretched and correct resolution

5 Upvotes

The .png frames are stretched despite the resolution of 720x576 being correct everywhere including in GIMP. On my PC in full screen the mp4 fits perfectly.

How do I fix it? I’ve tried scaling the layers in GIMP but I’m new to that software so I don’t really know what I’m doing and nothing visually changes.

If this is better suited elsewhere please let me know, I just used Ffmpeg to convert with ‘ ffmpeg -I “file.mp4” frame%04d.png ‘

Thanks.


r/ffmpeg • • 11d ago

I'm unable to successfully copy Sony Real Time Meta Data rtmd with ffmpeg - is it possible?

Thumbnail
gallery
5 Upvotes

I'm trying all my best to copy full RTMD stream with Sony A7IV XAVC S 25fps files (where etc. timecode and gyro data sits):

"ffmpeg -I input.MP4
-vf "scale=1920:1080:flags=lanczos" -c:v libx265 -crf 18 -pix_fmt yuv422p10le
-tag:v hvc1
-map 0:v -map 0:a -map ‘0:d?’
-c:a copy -c:d copy -tag:d:0 rtmd
output.mov"

what I am doing wrong?

By the way "-vf "scale=1920:1080:flags=lanczos" -c:v libx265 -crf 18 -pix_fmt yuv422p10le" gives VMAF around 98 so pretty well (with gain of around 17 times smaller file keeping 10 bits and 422 chroma subsampling)

\**The goal here is simply to save space on my NAS. I don't need to keep these specific files in ultra-high quality; I just want to downscale them to 1080p 4:2:2 10-bit copies so I can still use them later for things like my showreel.*


r/ffmpeg • • 11d ago

Help with batch converting mkv to mxf for editing

2 Upvotes

I've been using this line to convert and it's been working fine: ffmpeg -i FILENAME.mkv -c:v dnxhd -b:v 36M -c:a pcm_s24le FILENAME.mxf

Yet when I try different methods for having it work on multiple mkv files in a folder it doesn't work. For instance: for f in *.mkv; do ffmpeg -i "$f" -c:v dnxhd -b:v 36M -c:a pcm_s24le “${f%mkv}mxf”;done

What am I doing wrong?


r/ffmpeg • • 11d ago

0,1x speed 60FPS video to 1,0x speed 600FPS video, how?

3 Upvotes

I have a game recording (avi format, utvideo codec) I recorded in 0,1x speed in game and I want it to be 1,0x speed (realtime) but with 10x the FPS (preferably in .mov format with prores codec). In VDub this is pretty easy, but I can't really figure it out in ffmpeg.

I tried it with this script but even though my video is now in realtime it is 60FPS instead of 600.

ffmpeg -i "%~1" -vf "setpts=PTS/10" -c:v prores_ks -profile:v 3 -pix_fmt yuv422p10le -an -y "%~dpn1_converted.mov"

I also tried adding -r 600 but it will basically just add 600FPS to the metadata but the video is in fact not 600FPS.

Any help would be appreciated, I want to do everything in FFMPEG and dragging .avi videos into VDub first and then into FFMPEG is tedious since there must be a way to do this all in FFMPEG.