使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)

news2024/10/7 8:28:25

0. 官方教程

NVIDIA官方教程:链接,本篇内容主要参考2.2 Software Setup。

1. 安装显卡驱动

确保nvidia-smi能够正常使用:

2. 安装CUDA toolkit 

注意要与显卡驱动版本对应,验证toolkit是否正确安装:

3. 安装ffnvcodec

  • 下载地址
  • 编译方法:解压进入文件夹后
sudo make install
  • 验证安装
pkg-config --modversion ffnvcodec

         显示版本号证明安装成功:

4. 编译安装FFmpeg

  • 下载地址
  • 配置方法:
    • 进入ffmpeg-x.x文件夹
    • 调用./configure进行配置(注意配置正确的CUDA库路径)
./configure --enable-cuda 
            --enable-cuvid 
            --enable-nvenc 
            --enable-nonfree 
            --enable-libnpp 
            --extra-cflags=-I/usr/local/cuda/include #CUDA头文件路径
            --extra-ldflags=-L/usr/local/cuda/lib64  #CUDA lib路径
  • 多线程编译
make -j -s
  • 验证硬件加速是否启用成功
./ffmpeg -hwaccels

        左下角显示CUDA即为配置成功:

  •  安装到系统路径中
make install

5. 测试效果

可以连接YUV格式的输入设备或者使用网上下载的.yuv文件进行测试,具体可以参考如下指令:

ffmpeg  -c:v rawvideo 
        -pix_fmt yuv420p     # 输入视频格式为yuv420p
        -s <width>x<height>  # 输入视频分辨率
        -i <input_file>      # 输入视频文件路径或者设备号
        -c:v h264_nvenc      # 调用NVENC的H264编码器
        -preset fast         # 视频编码速度(影响质量)
        -b:v <bitrate>       # 设置比特率
        <output_file>        # 输出文件路径

下面用我配置好的FFmpeg进行测试:

最终保存成H.264编码的mp4文件:

6. 总结

 目前只是对FFmpeg工具的一个初步探索,具体的参数配置方面还没有深入去研究,接下来可能会去调研一下NVIDIA Video Codec SDK二次开发的内容。因为本人接触视频编码内容时间很短,了解也较为浅显,如有错误,希望指出,感谢阅读~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

好用的API调试工具推荐:Apipost

随着数字化转型的加速&#xff0c;API&#xff08;应用程序接口&#xff09;已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中&#xff0c;API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台&#xff0c;旨在解决这些问题&#xf…

【LeetCode 算法专题突破】二叉树的深度优先遍历(⭐)

文章目录 前言1. 二叉树的前序遍历题目描述代码 2. 二叉树的中序遍历题目描述代码 3. 二叉树的后序遍历题目描述代码 4. 前序遍历的非递归实现代码与思路 5. 中序遍历的非递归实现代码与思路 6. 后序遍历的非递归实现代码与思路 总结 前言 接下来我要开始攻克二叉树这一个大难…

Mac 配置环境变量

Mac 配置环境变量 修改配置文件 vim ~/.bash_profile i进入编辑模式. Esc&#xff1a;wq 保存文件 esc:q 退出 如&#xff1a;jdk环境变量配置 JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home CLASSPATH J A V A H O M E / l i b / t o o l…

SAP SPAD新建打印纸张

SAP SPAD新建打印纸张 1.事务代码SPAD 2.完全管理&#xff0d;设备类型&#xff0d;页格式-显示(创建格式页) 3.按标准A4纸张为模板参考创建。同一个纸张纵向/横向各创建1次(创建格式页) 4.完全管理&#xff0d;设备类型&#xff0d;格式类型-显示(创建格式类型&#xff0…

PID控制示例

PID控制简单示例 import numpy as np import matplotlib.pyplot as plt import copy# 定义曲线函数 y sin(x) def target_curve(x):return np.sin(x)class PID:def __init__(self, kp, ki, kd):self.kp kpself.ki kiself.kd kdself.ep 0.0self.ei 0.0self.ed 0.0self.d…

个人服务器怎么搭建?个人服务器搭建方法

​  个人服务器是指一台由个人拥有和管理的服务器&#xff0c;用于存储和提供个人网站、应用程序或其他在线服务。搭建个人服务器可以让我们更好地掌控自己的数据和网络资源。下面介绍一种常见的个人服务器搭建方法。 第一步&#xff1a;选择合适的硬件 我们需要选择一台适合…

【自用】英语一新题型每年归类

图片出自马天艺老师视频课。

数据存储新难题:“面粉”又涨价,“面包”怎么卖?

文 | 智能相对论 作者 | 叶远风 存储介质的价格要压不住了。 在减产策略执行数月后&#xff0c;三星、美光、SK海力士等存储介质巨头纷纷“扬言”要涨价&#xff0c;其中三星计划在今年四季度起调整NAND Flash产品的合约价格&#xff0c;涨幅超过10%。 “减产、削供、提价”…

lvsDR模式

LVS-DR模式 是最常用的LVS负载方式 直接路由模式 Lvs调度器 只负责请求和转发 转发到真实服务器 但是响应结果 由后端服务器直接转发给客户端 不需要经过调度器处理 可以减轻Lvs调度器的负担 提高系统性能和稳定性 工作原理&#xff1a; 客户端发送请求到vipLVS调度器接受请求…

mulesoft开发支撑

mulesoft开发支撑 开发支撑1. raml语法说明2. dataweave在线测试平台3. dataweave基础语法4. dataweave官方指南 感 开发支撑 1. raml语法说明 点击跳转 raml-10.md 重点看下面这部分内容&#xff0c;对raml语法做了详细说明和举例。 2. dataweave在线测试平台 点击跳转 d…

服务器感染了.mxdown-V-XXXXXXXX勒索病毒,如何确保数据文件完整恢复?

尊敬的读者&#xff1a; 在当今数字化时代&#xff0c;网络犯罪的阴谋在虚拟世界中蔓延&#xff0c;mxdown-V-XXXXXXXX、.vollhavhelp-V-XXXXXXXX、.arricklu-V-XXXXXXXX勒索病毒是其中的恶梦般存在&#xff0c;这三种勒索病毒均属于同一个勒索病毒家族旗下。这种勒索病毒以其…

【C/C++】引用的本质是指针常量

在c内部&#xff0c;**引用的本质是一个指针常量&#xff0c;**如 int * const ref &a。引用一旦初始化后&#xff0c;就不可以改变指向。 指针常量&#xff0c;int * const ref &a; const修饰的是 "ref "–> , ref 的值不可以改&#xff0c;即指针变量…

vue3中使用vue-i18n

1.先在项目中下载vue-i18n npm install vue-i18n9.6.2 2.1 .为了结构清晰&#xff0c;在src目录下创建一个lang文件夹 2.2 . 在lang文件夹分别下创建两个文件&#xff1a;en.js / zh.js代表两种语言 en.js: export default {message: {hello: hello,world,btn:modif…

国外怎么传大文件到国内,这款传输软件跨国企业必备

从国外传输文件到国内&#xff0c;这项任务常常充满了挑战。国际之间的距离、网络延迟、数据安全和文件大小限制等问题使得这个过程异常复杂。本文将深入剖析这些挑战&#xff0c;并说明一款优秀的跨国传输软件&#xff0c;如何能够成为解决这些问题的强有力工具。 国外传输文件…

暴力递归转动态规划(十一)

题目1&#xff1a; 这篇帖子中有多道题&#xff0c;由浅入深。 arr是货币数组&#xff0c;其中的值都是正数。再给定一个正数aim。每个值都认为是一张货币&#xff0c;即便是值相同的货币也认为每一张都是不同的&#xff0c;返回组成aim的方法数。 例如&#xff1a;arr {1,1,1…

企业文件防泄密方法

企业文件防泄密方法 安企神数据防泄密系统下载使用 企业文件是企业的核心资产&#xff0c;其中可能包含大量的敏感信息&#xff0c;如客户资料、产品配方、财务数据等。一旦这些文件泄露&#xff0c;可能会给企业带来不可估量的损失。 然而&#xff0c;企业文件防泄密是确保…

气膜场馆里面噪声很大怎么解决?

随着气膜结构在各个领域的广泛应用&#xff0c;人们开始意识到在这些场馆内部&#xff0c;特别是在大型活动和展览中&#xff0c;噪声问题可能会变得相当严重。传统的气膜结构通常难以提供良好的声学环境&#xff0c;这对于参与者的舒适度和活动的质量构成了挑战。为了解决气膜…

QECon大会亮相产品,支持UI自动化测试?RunnerGo

最近在gitee上看见一款获得GVP&#xff08;最有价值开源项目&#xff09;的测试平台RunnerGo&#xff0c;看他们官网介绍包含了接口测试、性能测试、自动化测试。知道他们有saas版可以试用&#xff0c;果断使用了一下&#xff0c;对其中场景管理和性能测试印象深刻&#xff0c;…