A menudo hago ffmpeg sin Intel Quicksync, por ejemplo, habiendo creado un subdirectorio llamado "a",ffmpeg -i IMG_0001.MOV -c:a libmp3lame -c:v libx264 -preset ultrafast ffff.mp4
(Sé que mp3 en un contenedor mp4 está un poco pasado de moda, y aac es la convención/estándar actual, pero a mi antiguo editor de video no le gusta aac allí. Y sé que libx264 tiene una calidad un poco baja en estos días, pero tiene ha estado bien para mí y no creo que sea la fuente del problema aquí)
Quiero intentar codificar con Intel QuickSync, ya que tengo entendido que es más rápido.
El procesador de la computadora portátil que estoy usando es i5 3230m que admite sincronización rápidahttps://ark.intel.com/content/www/us/en/ark/products/72056/intel-core-i53230m-processor-3m-cache-up-to-3-20-ghz-bga.html
yo hago el comandoffmpeg -i IMG_0030.MOV -acodec copy -vcodec h264_qsv blah.mp4
pero me sale el error
[h264_qsv @ 00000000004ddd40] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
--
G:\vids\apple> ffmpeg -i IMG_0030.MOV -acodec copy -vcodec h264_qsv blah.mp4
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0030.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2022-06-01T13:55:35.000000Z
com.apple.quicktime.location.accuracy.horizontal: 4.782269
com.apple.quicktime.location.ISO6709: +51.9016-000.2051+094.310/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 11 Pro
com.apple.quicktime.software: 15.3.1
com.apple.quicktime.creationdate: 2022-06-01T14:55:34+0100
Duration: 00:00:11.78, start: 0.000000, bitrate: 22869 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 22685 kb/s, 119.99 fps, 120 tbr, 2400 tbn, 2400 tbc (defa
ult)
Metadata:
rotate : 90
creation_time : 2022-06-01T13:55:35.000000Z
handler_name : Core Media Video
encoder : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
Metadata:
creation_time : 2022-06-01T13:55:35.000000Z
handler_name : Core Media Audio
File 'blah.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264_qsv @ 00000000004ddd40] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
también
Noto que h264_qsv aparece en la lista, ffmpeg -encoders
lo que supongo que tal vez signifique que la compilación ffmpeg lo admite.
C:\Users\User>ffmpeg -encoders | grep 264
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
V..... h264_amf AMD AMF H.264 Encoder (codec h264)
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
agregado
Aquí hay un intento con este comando. Entonces, especificando crf, como se sugiere en un comentario.ffmpeg -i IMG_0001.MOV -c:a copy -c:v h264_qsv -crf 23 aaa.mp4
Y dice "[h264_qsv @ 00000000003804c0]" en color cian, seguido de en rojo, "[h264_qsv @ 00000000003804c0] Error al inicializar el codificador: parámetros de video no válidos (-15) Error al inicializar el flujo de salida 0:0 - Error al abrir codificador para el flujo de salida #0:0 - tal vez parámetros incorrectos como bit_rate, rate, ancho o alto"
Y luego, en gris, "¡Error en la conversión!" como ves abajo
G:\vids\apple>ffmpeg -i IMG_0001.MOV -c:a copy -c:v h264_qsv -crf 23 aaa.mp4
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190807
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --e
nable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -
-enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --ena
ble-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enabl
e-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 33.100 / 56. 33.100
libavcodec 58. 55.101 / 58. 55.101
libavformat 58. 31.104 / 58. 31.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.101 / 7. 58.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'IMG_0001.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2022-02-26T21:21:16.000000Z
com.apple.quicktime.location.accuracy.horizontal: 20.738540
com.apple.quicktime.location.ISO6709: +51.6208-000.2740+066.132/
com.apple.quicktime.make: Apple
com.apple.quicktime.model: iPhone 11 Pro
com.apple.quicktime.software: 14.8
com.apple.quicktime.creationdate: 2022-02-26T21:21:16+0000
Duration: 00:00:01.10, start: 0.000000, bitrate: 12855 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 12623 kb/s, 29.95 fps, 29.97 tbr, 600 tbn, 600 tbc (defau
lt)
Metadata:
rotate : 90
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Video
encoder : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Audio
Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
Stream #0:4(und): Data: none (mebx / 0x7862656D), 34 kb/s (default)
Metadata:
creation_time : 2022-02-26T21:21:16.000000Z
handler_name : Core Media Metadata
File 'aaa.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264_qsv @ 00000000001504c0] Error initializing the encoder: invalid video parameters (-15)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width
or height
Conversion failed!
G:\vids\apple>
Si cambio -c:a copy a -c:a libmp3lame, también aparece este mensaje en yelloe "Codec AVOption crf (Seleccione la calidad para el modo de calidad constante) especificado para el archivo de salida #0 (aaa.mp4) no ha sido utilizado para cualquier transmisión. La razón más probable es que el tipo sea incorrecto (por ejemplo, una opción de video sin transmisiones de video) o que sea una opción privada de algún codificador que en realidad no se usó para ninguna transmisión". Cuando no especifico -crf, no recibo ese mensaje.