ffmpeg cuda加速 h264->hevc(h265) 缩小存储空间
参考的原文链接 https://www.cnblogs.com/Hakurei-Reimu-Zh/p/14999269.html
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/")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术