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

这篇具有很好参考价值的文章主要介绍了使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0. 官方教程

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

1. 安装显卡驱动

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

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

2. 安装CUDA toolkit 

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

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

3. 安装ffnvcodec

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

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

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

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即为配置成功:

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

  •  安装到系统路径中
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进行测试:

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

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

使用NVIDIA GPU FFmpeg转码 YUV to H264(成功),音视频开发,ffmpeg,linux,视频编解码,h.264

6. 总结

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

到了这里,关于使用NVIDIA GPU FFmpeg转码 YUV to H264(成功)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用GPU硬件加速FFmpeg视频转码

    本文内容包括: 在Linux环境下安装FFmpeg 通过命令行实现视频格式识别和转码 有Nvidia显卡的情况下,在Linux下使用GPU进行视频转码加速的方法 在FFmpeg官网https://ffmpeg.org/download.html可以下载到ubunto/debian的发行包,其他Linux发行版需自行编译。同时,如果要使用GPU进行硬件加速的话

    2024年02月08日
    浏览(38)
  • FFmpeg命令行进行UDP、RTP推流(H264、TS),使用ffplay\VLC接收验证

            使用行FFmpeg命令进行UDP、RTP推流(H264、TS),ffplay接收我们在开发网络程序时经常用到UDP或RTP来发送和接收流媒体,而开发程序完毕需要搭建一个环境测试,这时候可能你需要一个推流端或接收端。对于推流端,我们可以借助FFmpeg工具轻松完成该功能,只需要敲一

    2024年02月05日
    浏览(33)
  • 【FFmpeg学习】H264 视频码流分析

    NAL层:(Network Abstraction Layer,视频数据网络抽象层): 它的作用是H264只要在网络上传输,在传输的过程每个包以太网是1500字节,而H264的帧往往会大于1500字节,所以要进行拆包,将一个帧拆成多个包进行传输,所有的拆包或者组包都是通过NAL层去处理的。 VCL层:(Video Coding L

    2024年02月02日
    浏览(31)
  • FFmpeg解码H264视频裸流(直接可用)

    1、写在前面 此文章主要包含解码H264视频流数据,主要有以下几点: 1、H264视频帧为Annex B格式,若使用AVCC格式可自行研究; 2、H264视频裸流,非解码视频文件(若有需要我后期可添加这部分代码); 3、支持输出RGB24或YUV420格式,其他可自行修改; 4、FFmpeg官网代码迭代及接口变

    2024年04月25日
    浏览(29)
  • 音视频处理 ffmpeg中级开发 H264编码

    libavcodec/avcodec.h 常用的数据结构 AVCodec 编码器结构体 AVCodecContext 编码器上下文 AVFrame 解码后的帧 结构体内存的分配和释放 av_frame_alloc 申请 av_frame_free() 释放 avcodec_alloc_context3() 创建编码器上下文 avcodec_free_context() 释放编码器上下文 解码步骤 avcodec_find_decoder 查找解码器 avcod

    2024年02月01日
    浏览(59)
  • golang基于FFmpeg实现视频H264编解码

    FFmpeg 是领先的多媒体框架,能够解码、编码、转码、混合、解密、流媒体、过滤和播放人类和机器创造的几乎所有东西。它支持最晦涩的古老格式,直到最尖端的格式。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的便携性。 FFmpeg 可以在 Linux、Mac OS

    2024年02月11日
    浏览(36)
  • ffmpeg学习日记604-指令-将视频格式转为H264格式

    ffmpeg学习日记604-指令-将视频格式转为H264格式 在第四篇中,想要解码视频,缺没有弄清楚怎样的一个数据流,现在又明晰了一点,所谓的h264编解码,并不是直接将视频格式,通过h264编解码为视频原始数据流,这种说法是错误的,而是应该将视频格式转换为h264的数据流,然后

    2024年02月11日
    浏览(36)
  • FFmpeg+SDL实时解码和渲染H264视频流

    之前实现了Android手机摄像头数据的TCP实时传输,今天接着聊聊,如何在PC端把接收到的H264视频流实时解码并渲染出来。这次使用的语言是C++,框架有FFmpeg和SDL2。 解码部分使用FFmpeg,首先,需要初始化H264解码器: 然后,使用创建TCP连接到我们的Android端,读取数据包: 再把每

    2024年02月13日
    浏览(37)
  • FFmpeg4入门13:h264编码为mp4

    上一篇将yuv源视频文件编码为 *.h264 的由libx264实现压缩的文件,将源文件从55M编码为620KB,但是h264文件只有视频数据,而且使用范围不太广。那么就需要进一步的封装,在此选用最常用的mp4格式为例。 随便选一个mp4格式文件,用FFmpeg4入门4:解析视频并输出视频信息或者ffp

    2023年04月10日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包