ffmpeg 命令如下
ffmpeg -y -c:v h264_qsv -i input.mp4 -c:v hevc_qsv -low_power 1 output.mp4
输出的错误信息如下
[hevc_qsv @ 0x562ef30a0480] Selected ratecontrol mode is unsupported
[hevc_qsv @ 0x562ef30a0480] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.
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
[aac @ 0x562ef34099c0] Qavg: 65536.000
[aac @ 0x562ef34099c0] 2 frames left in the queue on closing
Conversion failed!
vainfo 输出如下
Trying display: wayland
Trying display: x11
error: can't connect to X server!
Trying display: drm
vainfo: VA-API version: 1.16 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.4.4 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
CPU 和 GPU 分别如下
CPU: Intel Celeron N5105 (4) @ 2.900GHz
GPU: Intel JasperLake [UHD Graphics]
谢谢各位了
1
datou 2022-11-13 21:31:43 +08:00
你这 vainfo 都是解码规格支持吧?
qsv 编码应该只支持 avc ,hevc 和 vp9/av1 |
2
RangerWolf 2022-11-13 21:34:29 +08:00
我在我的 i5-5800H 上面成功执行下面转码率的命令
.\ffmpeg.exe -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv -b:v 5M output-qsv.mp4 你可以试试看。不知道是不是所有的 Intel CPU 都支持 QSV |
3
ysc3839 2022-11-13 22:23:20 +08:00 via Android
QSV 和 VAAPI 不是同一个东西,建议先确认一下有没有装 Intel MSDK
|
4
acreti 2022-11-14 00:16:08 +08:00
ffmpeg -h encoder=hevc_qsv
-low_power 是实验选项,有限制 |
5
L4Linux 2022-11-14 10:06:22 +08:00 via Android
要装 intel media sdk
|
6
Huelse 2022-11-14 10:16:23 +08:00
先看下有没有支持
`ffmpeg -hide_banner -encoders | grep qsv` |
7
wapollo9 OP 首先谢谢各位的回复
@datou @Huelse @acreti ffmpeg -hide_banner -encoders | grep qsv 结果如下 V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264) V..... hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc) V..... mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg) V..... mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video) V..... vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9) @RangerWolf 同样的报错,也是说 some encoding parameters are not supported by the QSV runtime. Please double check the input parameters. 另外,我也查了,我的 CPU 是支持 QSV 的 https://www.intel.com/content/www/us/en/products/sku/212328/intel-celeron-processor-n5105-4m-cache-up-to-2-90-ghz/specifications.html @ysc3839 @L4Linux 已经确认安装了 intel-media-sdk |
8
wapollo9 OP 或者能使用 VAAPI 实现 h264 转 hevc 也行
执行 ffmpeg -vaapi_device /dev/dri/renderD128 -i 1.mp4 -vf "format=nv12,hwupload" -map 0:0 -c:v hevc_vaapi - map 0:a 2.mp4 的结果是 [hevc_vaapi @ 0x563cb06ea780] Failed to map output buffers: 24 (internal encoding error). [hevc_vaapi @ 0x563cb06ea780] Output failed: -5. Error submitting video frame to the encoder [aac @ 0x563cb0c28b80] Qavg: 65536.000 [aac @ 0x563cb0c28b80] 2 frames left in the queue on closing Conversion failed! |
9
acreti 2022-11-15 23:49:27 +08:00
ffmpeg -y -i input.mp4 -c:v hevc_qsv output.mp4
|
10
ysc3839 2022-11-16 00:23:54 +08:00 via Android
@wapollo9 VAAPI 好像不支持编码?
另外可以试试 GStreamer https://gstreamer.freedesktop.org/documentation/msdk/index.html |
11
wapollo9 OP @acreti
ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.2.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan 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, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Duration: 00:24:37.65, start: 0.000000, bitrate: 140 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, progressive), 2160x1080, 10 kb/s, 15.01 fps, 15 tbr, 90k tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 126 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_qsv)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6532540] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba657b6c0] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba65c2140] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6608bc0] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba664f640] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6532540] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6651680] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6587f80] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba65cfd40] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba66167c0] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6532540] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6618b00] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba655d3c0] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba659a740] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba65dde00] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba659a740] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba65feb00] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba6646980] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba657da40] deprecated pixel format used, make sure you did set range correctly [swscaler @ 0x559ba6524d80] [swscaler @ 0x559ba65e1b00] deprecated pixel format used, make sure you did set range correctly [hevc_qsv @ 0x559ba5b13e40] Selected ratecontrol mode is unsupported [hevc_qsv @ 0x559ba5b13e40] Low power mode is unsupported [hevc_qsv @ 0x559ba5b13e40] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters. 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 [aac @ 0x559ba5b12f80] Qavg: 34924.375 [aac @ 0x559ba5b12f80] 2 frames left in the queue on closing Conversion failed! @ysc3839 我研究一下,谢谢! |
12
acreti 2022-11-17 02:52:02 +08:00
你用的命令是什么?另外 yuvj420p 一般是给图片用的,视频用 yuv420p
|
13
s7lx 2023-03-30 05:49:58 +08:00
应该是 HuC/GuC 开启失败。N5105 N6005 都有这个问题。
sudo dmesg |grep i915 应该可以看到一个错误。 |