ffmpeg--硬件加速
茄子船长 2018-07-25 16:24:11 3545 已收藏 1
分类专栏: ffmpeg--ffmpeg.exe使用
版权
ffmpeg--ffmpeg.exe使用
专栏收录该内容
13 篇文章1 订阅
订阅专栏
英伟达
一些参数
{ "hwaccel", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
OPT_SPEC | OPT_INPUT, { .off = OFFSET(hwaccels) },
"use HW accelerated decoding", "hwaccel name" },
{ "hwaccel_device", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
OPT_SPEC | OPT_INPUT, { .off = OFFSET(hwaccel_devices) },
{ "gpu", "Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on.", OFFSET(device), AV_OPT_TYPE_INT, { .i64 = ANY_DEVICE }, -2, INT_MAX, VE, "gpu" },
一些测试
1 硬编+硬解
指定了硬解在哪个卡,硬码就在哪个卡,硬解不指定默认是编号为0的卡。
例,
指定编号为1的卡。
异常
ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i 35M_640X360_23_800k.mp4 -gpu 1 -vcodec h264_nvenc -vf scale_npp=1920:1080 -acodec aac a.mp4 -y
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i 35M_640X360_23_800k.mp4 -gpu 1 -vcodec h264_nvenc -vf scale_npp=1920:1080 -acodec aac a.mp4 -y
正确
ffmpeg -hwaccel_device 1 -hwaccel cuvid -c:v h264_cuvid -i 35M_640X360_23_800k.mp4 -gpu 1 -vcodec h264_nvenc -vf scale_npp=1920:1080 -acodec aac a.mp4 -y
2 无硬解+硬编
异常
ffmpeg -hwaccel_device 1 -i 35M_640X360_23_800k.mp4 -vcodec h264_nvenc -s 1920x1280 -acodec aac a.mp4 -y
正确
ffmpeg -i 35M_640X360_23_800k.mp4 -gpu 1 -vcodec h264_nvenc -s 1920x1280 -acodec aac a.mp4 -y
intel
查看CPU # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看显卡 lspci -nn -s 0:02.0
如果没有lspci,执行:yum -y install pciutils
Linux下Intel Media Server Studio的安装
1、首先需要注意的是,所有操作均需在真机上进行,不能在虚拟机中进行,因为虚拟机的显卡也是虚拟的。
2、下载安装包
下载页面https://software.intel.com/en-us/intel-media-server-studio
其中Community版本为免费版,但不含有HEVC编解码器插件,若需支持HEVC编解码,需要下载Professional版本,其中的HEVCEvaluation文件夹即含有HEVC编解码器插件。
先注册,需要约1天审核,然后给出下载地址。
如何在ffmpeg中指定nvenc使用的GPU
ieos 发布于 2019-09-16 • 在 ffmpeg • 最后更新 2019-09-16 18:01 • 263 浏览
我使用ffmpeg进行nvenc转码,并且我的主板上安装了两块nvidia显卡:GeForce GTX 690和Tesla k-10。有什么编解码器的具体参数为ffmpeg中的nvnenc编码与我想要的任何这些GPU?
nvenc编码器具有GPU选项,允许列出并选择用于编码的GPU。 所以,使用
ffmpeg -f lavfi -i nullsrc -c:v h264_nvenc -gpu list -f null -
在上面,生成虚拟视频源,然后通过管道传送到空。同时,FFmpeg将列出可用的GPU列表。 一旦知道,就可以通过将-gpu N
添加到编码命令来选择特定的GPU,其中N是设备#。
nvenc编码器具有GPU选项,允许列出并选择用于编码的GPU。 所以,使用
ffmpeg -f lavfi -i nullsrc -c:v h264_nvenc -gpu list -f null -
在上面,生成虚拟视频源,然后通过管道传送到空。同时,FFmpeg将列出可用的GPU列表。 一旦知道,就可以通过将-gpu N
添加到编码命令来选择特定的GPU,其中N是设备#。