ffmpeg cuda加速 h264->hevc(h265) 缩小存储空间

简介: ffmpeg cuda加速 h264->hevc(h265) 缩小存储空间

1.安装cuda

这里我只安装最新版驱动也是可以的没有刻意去安装cuda

2.下载编译好的全版本ffmpeg

https://www.gyan.dev/ffmpeg/builds/

3.查询支持的编解码器类型

ffmpeg -codecs | findstr cuvid

这里我需要的是 hevc_nvenc

下面是我写的脚本用于转换的

import os
from functools import wraps, partial
#扫描装饰器 
def scan(func=None, *, path=None):
if func is None:
return partial(scan, path=path)
    @wraps(func)
def wrapper(path):
        ls_dir = os.listdir(path)
for file_name in ls_dir:
            file_path = os.path.join(path,file_name)
if os.path.isfile(file_path):
                func(file_path)
elif os.path.isdir(file_path):
                wrapper(file_path)
return wrapper
def run(src,dst):
print(src,dst)
    cmd = f'ffmpeg -i "{src}" -vcodec  hevc_nvenc "{dst}"'
    os.system(cmd)
@scan
def main(path):
if "hevc_nvenc" not in path and path.endswith(".mp4"):#这里的mp4可以修改为你想要的视频后缀名,已经转过得结果不转
        basename = os.path.basename(path)
        dirname = os.path.dirname(path)
        fname,ext = os.path.splitext(basename)
        newname = fname+"hevc_nvenc.mp4"
        newpath = os.path.join(dirname,newname)
if not os.path.exists(newpath):#已经转过跳过
            run(path,newpath)
main(rf"/mnt/sdb1/")
目录
相关文章
|
6月前
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
ffmpeg 命令提取音视频数据-ffmpeg导出h265裸流-ffmpeg导出h264裸流
177 0
|
4天前
|
编解码 监控 网络协议
如何使用FFmpeg实现RTSP推送H.264和H.265(HEVC)编码视频
本文详细介绍了如何使用FFmpeg实现RTSP推送H.264和H.265(HEVC)编码视频。内容涵盖环境搭建、编码配置、服务器端与客户端实现等方面,适合视频监控系统和直播平台等应用场景。通过具体命令和示例代码,帮助读者快速上手并实现目标。
16 6
|
5月前
|
编解码 Linux 计算机视觉
python 调用ffmpeg使用usb摄像头录制视频,输出h264格式,自动获取摄像头的最佳帧率和最大画面尺寸
使用 Python 调用 FFmpeg 进行 USB 摄像头视频录制,需先确保安装 FFmpeg 和 Python 的 `subprocess` 模块。代码示例展示了如何自动获取摄像头的最佳帧率和最大分辨率,然后录制视频。首先通过 FFmpeg 列出摄像头格式获取信息,解析出帧率和分辨率,选择最优值。之后调用 FFmpeg 命令录制视频,设置帧率、分辨率等参数。注意 `/dev/video0` 是 Linux 的摄像头设备路径,Windows 系统需相应调整。代码中未直接实现自动获取最佳参数,通常需要借助其他库如 OpenCV。
FFMPEG最简解码H264(NVIDIA硬解)
FFMPEG最简解码H264(NVIDIA硬解)
408 0
ffmpeg把YUV转换为H264
ffmpeg把YUV转换为H264
142 0
嵌入式实践教程--FFmpeg中H264裸流解码为YUV420P原像素
嵌入式实践教程--FFmpeg中H264裸流解码为YUV420P原像素
嵌入式实践教程--FFmpeg中H264裸流解码为YUV420P原像素
|
编解码
嵌入式实践教程--FFmpeg4.1中YUV原像素编码为H264
嵌入式实践教程--FFmpeg4.1中YUV原像素编码为H264
嵌入式实践教程--FFmpeg4.1中YUV原像素编码为H264
FFMPEG最简解码H264(NVIDIA硬解)
FFMPEG最简解码H264(NVIDIA硬解)
351 0
|
编解码
用ffmpeg在命令行下,对文件进行转码H264
用ffmpeg在命令行下,对文件进行转码H264
451 0
|
编解码
FFmpeg代码导读——HEVC在RTMP中的扩展
视频流媒体中视频数据的传输占据了绝大部分的带宽,如何提升编码效率、减小带宽使用、提升画面质量,成为音视频开发者努力的重点。
2694 0
下一篇
无影云桌面