Opened 5 months ago

Closed 4 months ago

#10682 closed defect (invalid)

prores_videotoolbox showing up in encoders but not working on Mac Intel

Reported by: Fractale Owned by:
Priority: normal Component: undetermined
Version: 6.0 Keywords:
Cc: Fractale Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


ffmpeg -version
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with Apple clang version 14.0.3 (clang-1403.
configuration: --prefix=/usr/local/Cellar/ffmpeg/6.0_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100

ffmpeg -encoders | rg videotoolbox

V....D h264_videotoolbox VideoToolbox H.264 Encoder (codec h264)
V....D hevc_videotoolbox VideoToolbox H.265 Encoder (codec hevc)
V....D prores_videotoolbox VideoToolbox ProRes Encoder (codec prores)

ffmpeg -i testdata-full/2020-08-03/00000.MTS -c:v "prores_videotoolbox" -profile "proxy"

Input #0, mpegts, from 'testdata-full/2020-08-03/00000.MTS':

Duration: 00:03:17.79, start: 0.888889, bitrate: 28029 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDPR / 0x52504448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080

Please use -profile:a or -profile:v, -profile is ambiguous
Stream mapping:

Stream #0:0 -> #0:0 (h264 (native) -> prores (prores_videotoolbox))
Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))

Press [q] to stop, ? for help
[prores_videotoolbox @ 0x7f8963905c80] Error: cannot create compression session: -12908
[prores_videotoolbox @ 0x7f8963905c80] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
[vost#0:0/prores_videotoolbox @ 0x7f8963905980] Error initializing output stream: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

I'm on Intel Mac so I think prores_videotoolbox is not supported so it shouldn't be in the list when calling ffmpeg -encoders

Change History (2)

comment:1 by Fractale, 5 months ago

Version: unspecified6.0

comment:2 by Gyan, 4 months ago

Resolution: invalid
Status: newclosed

The output of -encoders is based on what modules were built and included during compilation. That won't change based on the machine the binary is ultimately run on. If it is not supported during runtime, you will see the error in logs like you do here. The error -12908 here is kVTCouldNotFindVideoEncoderErr

Also, this appears to be a duplicate of #9801.

Note: See TracTickets for help on using tickets.