我想用ffmpeg录制屏幕。
我以正常的方式成功了。
ffmpeg -f gdigrab -framerate 30 -draw_mouse 1 -i desktop -c:v h264 -r 30 -preset ultrafast -tune zerolatency -pix_fmt yuv420p "record.mp4"
但是我想现在使用GPU记录我的屏幕。
我正在尝试在ffmpeg上使用Intel QSV。
ffmpeg -f gdigrab -framerate 30 -draw_mouse 1 -i desktop -c:v h264_qsv -r 30 -tune zerolatency -pix_fmt yuv420p "record.mp4"
它不起作用并显示:
[h264_qsv @ 0000000000479080] 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
我不知道发生了什么。
我正在尝试简单的方法。
ffmpeg -i test_input.mp4 -c:v h264_qsv -preset:v faster test_output.mp4
它也不起作用。
我的计算机信息:
宏cer笔记本电脑:TravelMate P243-MG
操作系统:Windows 7 64bits
CPU:Intel i5-3210M
显卡:Nvidia GT-630M
提前谢谢!
答案 0 :(得分:0)
如输出所示,必须设置 宽度 和 高度 。
另外, QSV 没有诸如-tune zerolatency
之类的选项,并且-pix_fmt yuv420p
对 QSV 可能无效。
只需在这里尝试。
$ ffmpeg -f gdigrab -framerate 30 -i desktop -an -c:v h264_qsv -video_size 640x480 output.mp4
答案 1 :(得分:0)
这次晚会很晚。 但是,您似乎在NVidia卡上使用了Intel QSV。 硬件编码将处理过程从cpu转移到了gpu-因此必须与您的硬件相匹配。
看看https://trac.ffmpeg.org/wiki/Capture/Desktop,它建议使用 “ -c:v h264_nvenc -qp 0”而不是“ -c:v h264_qsv”