r/ffmpeg

▲ 14 r/ffmpeg

Glide – a sub-pixel replacement for zoompan (fixes the slow pan/zoom shudder)

If you've ever done a slow Ken Burns pan/zoom over a still with `zoompan` and

seen it "held, then jump" every few frames — that's zoompan truncating the crop

offset to whole pixels. Cranking supersampling only masks it and gets slow.

I put up a small MIT tool that fixes it at the source: it computes a float affine

transform per frame and samples with bicubic (torch grid_sample on the GPU), so

sub-pixel motion is exact. Measured ~15x smoother than zoompan (at 4x supersample)

end-to-end, at lower render cost, and it lets you do fast moves without strobing.

There's a `compare_vs_zoompan.py` in the repo so you can measure it yourself, plus

side-by-side before/after clips. CLI + Python API, presets, easings.

Repo: https://github.com/Loomos-hub/glide-ffmpeg

Feedback welcome — especially on the sampling/AA choices.

reddit.com
u/Additional_Trick2545 — 9 hours ago
▲ 881 r/ffmpeg

BIG NEWS: THE FFMPEG AAC ENCODER HAS BEEN REWRITTEN AND IS NOW KNOWN TO BE THE BEST PERFORMING ONE!!!

The FFmpeg AAC encoder always had problems over the past many years with it having the worst quality out of all AAC encoders. Glad an AAC encoder with quality as good as libfdk_aac is finally widely accessible now and can be used by anyone. Make sure to use the latest build to test it

https://x.com/FFmpeg/status/2072320220509741087

https://hydrogenaudio.org/index.php/topic,129691.0.html

u/notcharldeon — 5 days ago
▲ 4 r/ffmpeg

-map 0 not working for me

I'm not sure what's going on when trying to encode a makemkv source file to an x265 file while retaining all the audio, subtitles and attachments. For some reason it's just copying those and not encoding the video to x265. Here's my script:

for %%i in (*.mkv) do ffmpeg -i "%%i" -map 0 -c:v libx265 -preset slow -crf 22 -pix_fmt yuv420p10le -x265-params aq-mode=3:aq-strength=1.0:psy-rd=1:psy-rdoq=1.0:deblock=1,1:no-sao=1:qp-adaptation-range=1.0:merange=32:ref=4 -c:a copy -c:s copy -c:t copy -max_interleave_delta 0 "%%~ni_x265.mkv"

pause

I must have something backwards maybe? Any help is appeciated.

reddit.com
u/Vast_Environment_917 — 3 days ago
▲ 7 r/ffmpeg

For Android phone, possible to use zscale filter?

Hello. Are there Android apps which can convert from Full Range to Limited Range? There is at least one FFmpeg app in the Google Play Store but it's build (6.0) doesn't have the zscale filter. Are there ways to achieve it in an Android phone? Thanks in advance.

reddit.com
u/Rnx79 — 3 days ago
▲ 5 r/ffmpeg

Splitting FLAC album into tracks

I have been trying to split my flac album into it's 14 tracks.
ffmpeg does wrong duration, all tracks as long as the album
flacon says it copies all tags, easytag sees exactly 0 of those and I have to convert from wav back to flac
shntools didn't do anything
ffcuesplit does only 44khz, my album is 192khz

How do do this please?

reddit.com
u/PsyGonzo42 — 5 days ago
▲ 12 r/ffmpeg

H264: How can I limit the maximum size of an I-frame?

I've been working diligently on a custom video converter for an MP3 player. It required some special x264 patches to basically disable reference P-frames and swap to disposable P-frames only, as well as disabling the VUI and some SPS units (?), and a chroma tint fix. Now, I've got it down to a science, but there's one last tricky limitation I'd like to optimize.

The device's decoder chokes under 2 conditions: the total bitrate exceeds 15-20 Mbps (which will never happen), or the size of an I-frame exceeds ~44Kb.

Unfortunately, I don't think x264 or ffmpeg have a mechanism to specifically limit a single frame size. There's a max slice size, but that doesn't work because it's not granular enough, so big frames still go through. The obvious idea is a VBV, but the VBV's sampling window would need to literally be equal to per-frame timing, which I've also tried but remember that it never actually fixed the crash, big I-frames made it through.

The current solution I had was to encode the most tortuous, noisiest source videos and determine the minimum qmin I could use to prevent an I-frame overflow crash. That ended up being qmin 20. While this works, it also means that I'm losing encoding efficiency. Flat, gradient areas need that lower quantization to look clean without banding, but if I drop qmin, a torturous scene could spike an I-frame past the limit.

The last option I came up with was once again patching x264 in ratecontrol.c to bump qmin if a frame is too big, a simple in-line loop. But when it comes to patching and writing C, I'm pretty useless; my previous x264 patches were only really made possible through Cursor (albeit, the research and refinement took months to do, so it wasn't just Cursor).

So my question is, can anyone come up with a way to limit a single I-frame's size during an encode, without needing to encode, check, re-encode, etc? Thank you

reddit.com
u/AimlessForNow — 6 days ago
▲ 2 r/ffmpeg

Need help with transcoding.

Currently I'm trying to transcode videos from H265 to VP9.

My current batch takes like 3-4 minutes just for a 2 and a half minute video and it doesn't utilize my Intel igpu that supports vp9 decode/encode.

If possible I'd also wanna use my Nvidia 3070 GPU to speed things up as fast as possible.

Any help is appreciated since I tried many things and still couldn't get it to use the Intel iGPU.

reddit.com
u/Shockwave1824 — 7 days ago
▲ 6 r/ffmpeg+5 crossposts

Want to understand MoQ? Spend a day with the person who wrote it.

Luke Curley co-created MoQ, spent years at Twitch and Discord hitting the limits of what existing protocols could do, wrote the first implementations, authored the core specs. He's busy-busy.

But he's coming to Kraków on September 16 and spending a full day with a small group going through MoQ from scratch. You'll actually build a working audio/video room call using MoQ – QUIC fundamentals, relays, pub/sub, how it sits relative to WebRTC and HLS. If you're fast, there's a speech-to-speech real-time translation extension to keep you busy.

Intermediate level, Rust required, basic JS/TS assumed.

Sounds interesting? Join us!

rtcon.swmansion.com

u/Limp_Put_1643 — 6 days ago
▲ 21 r/ffmpeg+4 crossposts

A small conference for audio & video engineers in Kraków. Would you come for this lineup?

We've been running RTC.ON for four years now. It started because we couldn't find a conference that went deep enough on the actual hard problems in realtime audio and video. We didn’t want vendor pitches, 101 talks, but engineers talking about what they actually shipped.

So, we created it and this year, we’re running the 4th edition.

Our first three speakers are:

  • Daniil Popov from CyanView built a 10-bit video pipeline for iOS and Android and deployed it at a major music festival. A tech partner on site couldn't tell his phone footage from professional broadcast hardware. He's talking about how he did it.
  • Piotr Skalski from Roboflow built a computer vision pipeline for sports – player tracking through occlusions, jersey number recognition, real-time stats on a 2D court. Every model is open source. His own description of the talk: “every step solves a problem that creates the next one”.
  • Will Law has spent 20 years in streaming infrastructure at Akamai and is one of the key people driving MoQ forward at the IETF. If you've been watching the protocol space, you should know the name.

More speakers are coming. We’ll meet this September in Kraków, Poland. I’d be happy to answer questions about the lineup or the conference in general.

So, would you join us?
rtcon.swmansion.com

u/Limp_Put_1643 — 8 days ago
▲ 5 r/ffmpeg

Need help syncing audio from two different sources

Need help syncing audio from two different sources

hello,

I have two video files.

  1. first video

fraction frame rate 29.7 or something maybe(VBR)

with audio

audio 1 - 48khz in language 1

audio 2 - 24khz in language 2

audio 3 - 24khz in language 3

  1. second video

same frame rate and VBR

with audio

audio 1 - 41khz in language 4

I want to take the audio from the second file and add it to first . there is some intro in the second video file that I need to remove and also I need to add the audio file to the first video file after a duration.

I am using kdelive and I tried to sync with a keyframe visually. but the video files drift apart after a while

I tried converting both video files to 30fps and 48khz audio and tried to visually sync key frames but they still drift apart after a while.

someone please help me to sync and add the audio from the second file.

thanks :)

reddit.com
u/Registry6267 — 8 days ago
▲ 7 r/ffmpeg

ffmpeg running in a Docker on a NAS?

I'm setting up a new NAS (Synology DS425+) as a video archive storage point and have begun exploring its ability to run containers. In so doing, it occurred to me that I could conceivably set up a docker-based process to monitor an input directory, run ffmpeg on any video files which appear there and deposit the results in a destination directory. Although this would run much slower than my primary machine, the fact that it could run 24/7 unattended would help make up for that.

Other than encoding throughput, is there any reason why this isn't a viable idea? Has anybody else done something like this? Any thoughts, suggestions or examples would be much appreciated.

Thanks!

reddit.com
u/SekanD20 — 8 days ago
▲ 8 r/ffmpeg

How can I get as close as possible to this 3ds picture?

I took a picture with my 3ds with sharpness to 8, brightness to 6, and contrast to 5, I put the warm light myself with my led lamp. I've tried this code, but I'm not kidding that my grandma might probably be better at playing super mario bros than me at doing this. This is the code I used:

ffmpeg -i test.mp4 -vf "scale=640:480,eq=brightness=0.07:contrast=0.84:saturation=0.82,unsharp=9:9:3.0:9:9:0,gblur=sigma=0.35,noise=alls=8:allf=t,format=yuv420p" -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p -crf 26 -preset medium -r 16 -c:a aac -b:a 128k -movflags +faststart 3ds_camera.mp4

I don't know if it's as close as it can get, if someone could lend me a hand, like if I should play with a certain setting, or add something, thanks.

u/Flimsy-Ambition1052 — 10 days ago
▲ 4 r/ffmpeg+3 crossposts

Vaapi support. Newbie needs help.

Hello everyone.
I'm kind of new to ffmpeg and video acceleration, so I'd really use some help. I've recently got my hands on an amd firepro s7150 x2 gpu and decided to use it for hardware acceleration for my jellyfin server, but my server refused to use it. After some troubleshooting I figured out that the problem was in ffmpeg itself so now I'm trying to get to the core problem. I'm trying something simple, just converting a hevc 10bit piece of media into h264 to confirm that the card can be used. That should be pretty straightforward, right? No, not really. The command is built like this:

ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD129 -hwaccel_output_format vaapi -i /mnt/pool1/media/series/Plastic\ Memories/Season\ 1/Plastic.Memories.S01E01.1080p.BluRay.10-Bit.FLAC2.0.x265-YURASUKA.mkv -c:v h264_vaapi -pix_fmt yuv420p10le -b:v 2M -maxrate 2M test.mkv

And this is the output I get:

ffmpeg version 8.1.2 Copyright (c) 2000-2026 the FFmpeg developers
  built with gcc 16 (GCC)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --enable-chromaprint --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libass --enable-libbluray --enable-libbs2b --enable-libcodec2 --enable-libcdio --enable-libdrm --enable-libfdk-aac --enable-libjack --enable-libjxl --enable-libklvanc --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libilbc --enable-liblc3 --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-liboapv --enable-opencl --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-libplacebo --enable-librsvg --enable-librav1e --enable-librubberband --enable-libqrencode --enable-libsmbclient --enable-version3 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-libvvenc --enable-vulkan --enable-libshaderc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libvpl --enable-runtime-cpudetect
  libavutil      60. 26.102 / 60. 26.102
  libavcodec     62. 28.102 / 62. 28.102
  libavformat    62. 12.102 / 62. 12.102
  libavdevice    62.  3.102 / 62.  3.102
  libavfilter    11. 14.102 / 11. 14.102
  libswscale      9.  5.102 /  9.  5.102
  libswresample   6.  3.102 /  6.  3.102
Input #0, matroska,webm, from '/mnt/pool1/media/series/Plastic Memories/Season 1/Plastic.Memories.S01E01.1080p.BluRay.10-Bit.FLAC2.0.x265-YURASUKA.mkv':
  Metadata:
    title           : Plastic Memories - S01E01 - YURASUKA
    encoder         : libebml v1.4.0 + libmatroska v1.6.2
    creation_time   : 2020-11-28T02:07:34.000000Z
  Duration: 00:25:40.05, start: 0.000000, bitrate: 3298 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 68.527000
    Chapter #0:1: start 68.527000, end 885.009000
    Chapter #0:2: start 885.009000, end 1440.022000
    Chapter #0:3: start 1440.022000, end 1540.045000
  Stream #0:0(jpn): Video: hevc (Main 10), yuv420p10le(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      title           : YURASUKA 1080p x265
      BPS-eng         : 2652930
      DURATION-eng    : 00:25:39.997000000
      NUMBER_OF_FRAMES-eng: 36923
      NUMBER_OF_BYTES-eng: 510688095
      _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-11-28 02:07:34
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(jpn): Audio: flac, 48000 Hz, stereo, s16 (default)
    Metadata:
      title           : Japanese FLAC 2.0
      BPS-eng         : 578601
      DURATION-eng    : 00:25:40.045000000
      NUMBER_OF_FRAMES-eng: 16043
      NUMBER_OF_BYTES-eng: 111384050
      _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-11-28 02:07:34
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Subtitle: ass (ssa) (default)
    Metadata:
      title           : [SallySubs] Full Subtitles
      BPS-eng         : 206
      DURATION-eng    : 00:25:00.320000000
      NUMBER_OF_FRAMES-eng: 490
      NUMBER_OF_BYTES-eng: 38760
      _STATISTICS_WRITING_APP-eng: mkvmerge v51.0.0 ('I Wish') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2020-11-28 02:07:34
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3: Attachment: otf
    Metadata:
      filename        : KozMinPr6N-Bold_0.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:4: Attachment: otf
    Metadata:
      filename        : Rosario-Bold.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:5: Attachment: otf
    Metadata:
      filename        : Rosario-BoldItalic.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:6: Attachment: otf
    Metadata:
      filename        : Rosario-Italic.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:7: Attachment: otf
    Metadata:
      filename        : Rosario-Regular.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:8: Attachment: otf
    Metadata:
      filename        : GandhiSans-Bold.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:9: Attachment: otf
    Metadata:
      filename        : GandhiSans-BoldItalic.otf
      mimetype        : application/vnd.ms-opentype
  Stream #0:10: Attachment: otf
    Metadata:
      filename        : KozGoPr6N-Medium_0.otf
      mimetype        : application/vnd.ms-opentype
Incompatible pixel format 'yuv420p10le' for codec 'h264_vaapi', auto-selecting format 'vaapi'
File 'test.mkv' already exists. Overwrite? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
  Stream #0:1 -> #0:1 (flac (native) -> vorbis (libvorbis))
  Stream #0:2 -> #0:2 (ass (ssa) -> ass (ssa))
Press [q] to stop, [?] for help
[hevc @ 0x55a4f7df2e80] No support for codec hevc profile 2.
[hevc @ 0x55a4f7df2e80] Failed setup for format vaapi: hwaccel initialisation returned error.
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0'
Link 'Parsed_null_0.default' -> 'auto_scale_0.default':
  Pixel formats:
    src: yuv420p10le
    dst: yuv420p10le
Link 'auto_scale_0.default' -> 'format.default':
  Pixel formats:
    src: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le gray12be gray12le gray10be gray10le p016le p016be gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 y210le x2rgb10le x2bgr10le p210be p210le p410be p410le p216be p216le p416be p416le vuya vuyx p012le p012be y212le xv30le xv36be xv36le p212be p212le p412be p412le gbrap14be gbrap14le ayuv uyva vyu444 v30xle y216le xv48be xv48le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble
    dst: vaapi
[vf#0:0 @ 0x55a4f577cdc0] Error reinitializing filters!
[vf#0:0 @ 0x55a4f577cdc0] Task finished with error code: -38 (Function not implemented)
[vf#0:0 @ 0x55a4f577cdc0] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/h264_vaapi @ 0x55a4f577c4c0] [enc:h264_vaapi @ 0x55a4f564e140] Could not open encoder before EOF
[vost#0:0/h264_vaapi @ 0x55a4f577c4c0] Task finished with error code: -22 (Invalid argument)
[vost#0:0/h264_vaapi @ 0x55a4f577c4c0] Terminating thread with return code -22 (Invalid argument)
[out#0/matroska @ 0x55a4f56c0e80] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A elapsed=0:00:00.40    
Conversion failed!

To be honest, I'm not sure what more than half of that means, I just know that there's some problem with the colorspace and codec support. I'm pretty sure that some of you will need my vainfo -a output so I'll leave it here:

Trying display: wayland
Trying display: x11
error: can't connect to X server!
Trying display: drm
libva info: VA-API version 1.23.0
libva info: Trying to open /usr/lib64/dri-nonfree/radeonsi_drv_video.so
libva info: Trying to open /usr/lib64/dri-freeworld/radeonsi_drv_video.so
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_23
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.23 (libva 2.23.0)
vainfo: Driver version: Mesa Gallium driver 26.1.3 for AMD FirePro S7150 (radeonsi, tonga, ACO, DRM 3.64, 7.0.12-201.fc44.x86_64)
vainfo: Supported config attributes per profile/entrypoint pair
VAProfileMPEG2Simple/VAEntrypointVLD
    VAConfigAttribRTFormat                 : VA_RT_FORMAT_YUV420
    VAConfigAttribDecProcessing            : VA_DEC_PROCESSING
    VAConfigAttribMaxPictureWidth          : 1920
    VAConfigAttribMaxPictureHeight         : 1088

VAProfileMPEG2Main/VAEntrypointVLD
    VAConfigAttribRTFormat                 : VA_RT_FORMAT_YUV420
    VAConfigAttribDecProcessing            : VA_DEC_PROCESSING
    VAConfigAttribMaxPictureWidth          : 1920
    VAConfigAttribMaxPictureHeight         : 1088

VAProfileNone/VAEntrypointVideoProc
    VAConfigAttribRTFormat                 : VA_RT_FORMAT_YUV420
                                             VA_RT_FORMAT_YUV422
                                             VA_RT_FORMAT_YUV444
                                             VA_RT_FORMAT_YUV400
                                             VA_RT_FORMAT_YUV420_10
                                             VA_RT_FORMAT_YUV420_12
                                             VA_RT_FORMAT_RGB32
                                             VA_RT_FORMAT_RGB32_10
                                             VA_RT_FORMAT_RGB32_10BPP
                                             VA_RT_FORMAT_YUV420_10BPP

I'll be honest with you guys. I'm pretty sure that this is going to be either stupidly easy fix or an absolute nightmare. I'm aware that I should probably read through the ffmpeg documentation, but I don't think that I'd be able to understand it. I'm still learning so please be patient with me. I'll be really grateful for any kind of help. Thanks.

~desperate_user

I also should give you my server specs so here they are:

Chasis- dell poweredge t320

CPU - intel xeon e5-2470 v2

32GB of ddr3 ECC ram

dual 495w PSU

GPU - amd firepro s7150 x2

OS - fedora server edition 44

Edit:

I did a little digging in jellyfin and found out that jellyfin is able to communicate with the gpu. As long as hardware encoding is turned off, everything is as smooth as butter. I'm not sure what exactly this means, but I really want to use the gpu to its fullest, that means to use it for both decoding and encoding.

reddit.com
u/NoDetective1494 — 10 days ago
▲ 5 r/ffmpeg

VBR audio stream becomes CBR when using the copy option

I have an m4b file from Libation. I need to do some work on it (splitting, merging, etc). MediaInfo reads the audio stream as VBR. When I do my work with Ffmpeg, I make sure to use the copy option.

ffmpeg -i input.m4b -c copy output.m4b

The new audio stream is now CBR. I thought the copy option was supposed to preserve the audio stream exactly not not incur quality loss. Wouldn't changing from VBR to CBR be a change to the stream that would result in quality loss? What am I misunderstanding?

reddit.com
u/nerfherder616 — 9 days ago
▲ 4 r/ffmpeg

Speed up VMAF motion analysis

im currently building an automatic compression for CCTV footage, each footage is h264 1 hour long.
the problem is when using VMAF motion to get the score to decide the target bitrate classification take so long.

on my R7 7745HX at 100% 4.7 Ghz took 27 mins using: ffmpeg -i input.mp4 -vf vmafmotion -f null -

while calculate the VMAF using CUDA on RTX 4060 took only 3:45 mins using: ffmpeg -init_hw_device cuda=gpu -filter_hw_device gpu -i output.mp4 -i input.mp4 -filter_complex "[0:v]fps=30,hwupload_cuda[dist];[1:v]fps=30,hwupload_cuda[ref];[dist][ref]libvmaf_cuda=log_fmt=json:log_path=vmaf_report.json" -f null -

and compressing it into h265 NVENCc also only took 3:40 mins using: ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -vf "scale_cuda=format=nv12" -c:v hevc_nvenc -preset p4 -rc vbr -cq 28 -b:v 1700k -maxrate 1700k -bufsize 2500k -c:a copy output.mp4.

is there any alternative solution that i can use? thanks

reddit.com
u/LiL_E03 — 11 days ago
▲ 5 r/ffmpeg

ffmpeg: Is there a difference between --enable-libfdk-aac vrs --enable-libfdk_aac

Rather stupidly, for years now I've built ffmpeg using --enable-libfdk_aac and I've just now released I'd a typo in my command and that it should be --enable-libfdk-aac (- vrs _). I guess all those years ago when I started building ffmpeg that when I query the encoder / decoder using ffmpeg -h decoder=libfdk_aac, I just rolled that into my build script.

Now that I have realised my mistake and for my own curiosity I'm trying to figure out if these are actually different or not. I'm kinda hoping that --enable-libfdk_aac is just an alias for --enable-libfdk-aac.

Anyhow, would anyone happen to know or are these different version of the Fraunhofer FDK AAC codec library? Thanks.

reddit.com
u/MasterDokuro — 12 days ago
▲ 7 r/ffmpeg

Can you use ffmpeg to successfully restart multiple YouTube livestreams every 12 hours?

Can you use ffmpeg to successfully restart multiple YouTube livestreams every 12 hours?

Running multiple livestreams on YouTube via linux vpm and ffmpeg. It's working however what's not working is I need them to restart every 12 hours (to clock watch-time). I am currently trying to do this with linux ffmpeg cronjobs but is this possible as I keep running into issues, or is there a different method? Was working with a single stream, not via the schedule stream section in YouTube.

The only way I've seen you can run multiple streams is through scheduled streams and can't get the cron job to work since adding more than one live stream.

Appreciate lack of specifics regarding my vpm config, I am more just wanting to check if I'm on the right path or hitting a dead end.

reddit.com
u/Ledo1X — 12 days ago